|  |  |  | Poppler Reference Manual |  | 
|---|---|---|---|---|
enum PopplerPageLayout; enum PopplerPageMode; enum PopplerFontType; enum PopplerViewerPreferences; enum PopplerPermissions; PopplerDocument* poppler_document_new_from_file (const char *uri, const char *password, GError **error); gboolean poppler_document_save (PopplerDocument *document, const char *uri, GError **error); int poppler_document_get_n_pages (PopplerDocument *document); PopplerPage* poppler_document_get_page (PopplerDocument *document, int index); PopplerPage* poppler_document_get_page_by_label (PopplerDocument *document, const char *label); GType poppler_index_iter_get_type (void); PopplerIndexIter* poppler_index_iter_new (PopplerDocument *document); PopplerIndexIter* poppler_index_iter_copy (PopplerIndexIter *iter); void poppler_index_iter_free (PopplerIndexIter *iter); PopplerIndexIter* poppler_index_iter_get_child (PopplerIndexIter *parent); gboolean poppler_index_iter_is_open (PopplerIndexIter *iter); PopplerAction* poppler_index_iter_get_action (PopplerIndexIter *iter); gboolean poppler_index_iter_next (PopplerIndexIter *iter); PopplerFontInfo* poppler_font_info_new (PopplerDocument *document); gboolean poppler_font_info_scan (PopplerFontInfo *font_info, int n_pages, PopplerFontsIter **iter); void poppler_font_info_free (PopplerFontInfo *font_info); GType poppler_fonts_iter_get_type (void); PopplerFontsIter* poppler_fonts_iter_copy (PopplerFontsIter *iter); void poppler_fonts_iter_free (PopplerFontsIter *iter); const char* poppler_fonts_iter_get_name (PopplerFontsIter *iter); const char* poppler_fonts_iter_get_full_name (PopplerFontsIter *iter); PopplerFontType poppler_fonts_iter_get_font_type (PopplerFontsIter *iter); gboolean poppler_fonts_iter_is_embedded (PopplerFontsIter *iter); gboolean poppler_fonts_iter_is_subset (PopplerFontsIter *iter); gboolean poppler_fonts_iter_next (PopplerFontsIter *iter); PopplerPSFile* poppler_ps_file_new (PopplerDocument *document, const char *filename, int first_page, int n_pages); void poppler_ps_file_set_paper_size (PopplerPSFile *ps_file, double width, double height); void poppler_ps_file_set_duplex (PopplerPSFile *ps_file, gboolean duplex); void poppler_ps_file_free (PopplerPSFile *ps_file);
typedef enum
{
  POPPLER_PAGE_LAYOUT_UNSET,
  POPPLER_PAGE_LAYOUT_SINGLE_PAGE,
  POPPLER_PAGE_LAYOUT_ONE_COLUMN,
  POPPLER_PAGE_LAYOUT_TWO_COLUMN_LEFT,
  POPPLER_PAGE_LAYOUT_TWO_COLUMN_RIGHT,
  POPPLER_PAGE_LAYOUT_TWO_PAGE_LEFT,
  POPPLER_PAGE_LAYOUT_TWO_PAGE_RIGHT,
} PopplerPageLayout;
typedef enum
{
  POPPLER_PAGE_MODE_UNSET,
  POPPLER_PAGE_MODE_NONE,
  POPPLER_PAGE_MODE_USE_OUTLINES,
  POPPLER_PAGE_MODE_USE_THUMBS,
  POPPLER_PAGE_MODE_FULL_SCREEN,
  POPPLER_PAGE_MODE_USE_OC,
  POPPLER_PAGE_MODE_USE_ATTACHMENTS,
} PopplerPageMode;
typedef enum
{
  POPPLER_FONT_TYPE_UNKNOWN,
  POPPLER_FONT_TYPE_TYPE1,
  POPPLER_FONT_TYPE_TYPE1C,
  POPPLER_FONT_TYPE_TYPE3,
  POPPLER_FONT_TYPE_TRUETYPE,
  POPPLER_FONT_TYPE_CID_TYPE0,
  POPPLER_FONT_TYPE_CID_TYPE0C,
  POPPLER_FONT_TYPE_CID_TYPE2
} PopplerFontType;
typedef enum /*< flags >*/
{
  POPPLER_VIEWER_PREFERENCES_UNSET = 0,
  POPPLER_VIEWER_PREFERENCES_HIDE_TOOLBAR = 1 << 0,
  POPPLER_VIEWER_PREFERENCES_HIDE_MENUBAR = 1 << 1,
  POPPLER_VIEWER_PREFERENCES_HIDE_WINDOWUI = 1 << 2,
  POPPLER_VIEWER_PREFERENCES_FIT_WINDOW = 1 << 3,
  POPPLER_VIEWER_PREFERENCES_CENTER_WINDOW = 1 << 4,
  POPPLER_VIEWER_PREFERENCES_DISPLAY_DOC_TITLE = 1 << 5,
  POPPLER_VIEWER_PREFERENCES_DIRECTION_RTL = 1 << 6,
} PopplerViewerPreferences;
typedef enum /*< flags >*/
{
  POPPLER_PERMISSIONS_OK_TO_PRINT = 1 << 0,
  POPPLER_PERMISSIONS_OK_TO_MODIFY = 1 << 1,
  POPPLER_PERMISSIONS_OK_TO_COPY = 1 << 2,
  POPPLER_PERMISSIONS_OK_TO_ADD_NOTES = 1 << 3,
  POPPLER_PERMISSIONS_FULL = (POPPLER_PERMISSIONS_OK_TO_PRINT | POPPLER_PERMISSIONS_OK_TO_MODIFY | POPPLER_PERMISSIONS_OK_TO_COPY | POPPLER_PERMISSIONS_OK_TO_ADD_NOTES),
} PopplerPermissions;
PopplerDocument* poppler_document_new_from_file (const char *uri, const char *password, GError **error);
Creates a new PopplerDocument.  If NULL is returned, then error will be
set. Possible errors include those in the POPPLER_ERROR and G_FILE_ERROR
domains.
| uri: | uri of the file to load | 
| password: | password to unlock the file with, or NULL | 
| error: | Return location for an error, or NULL | 
| Returns : | A newly created PopplerDocument, or NULL | 
gboolean poppler_document_save (PopplerDocument *document, const char *uri, GError **error);
Saves document.  If error is set, FALSE will be returned. Possible errors
include those in the G_FILE_ERROR domain.
| document: | a PopplerDocument | 
| uri: | uri of file to save | 
| error: | return location for an error, or NULL | 
| Returns : | TRUE, if the document was successfully saved | 
int poppler_document_get_n_pages (PopplerDocument *document);
Returns the number of pages in a loaded document.
| document: | A PopplerDocument | 
| Returns : | Number of pages | 
PopplerPage* poppler_document_get_page (PopplerDocument *document, int index);
Returns the PopplerPage indexed at index.  This object is owned by the
caller.
PopplerPages are indexed starting at 0.
| document: | A PopplerDocument | 
| index: | a page index | 
| Returns : | The PopplerPage at index | 
PopplerPage* poppler_document_get_page_by_label (PopplerDocument *document, const char *label);
Returns the PopplerPage reference by label.  This object is owned by the
caller.  label is a human-readable string representation of the page number,
and can be document specific.  Typically, it is a value such as "iii" or "3".
By default, "1" refers to the first page.
| document: | A PopplerDocument | 
| label: | a page label | 
| Returns : | The PopplerPage referenced by label | 
PopplerIndexIter* poppler_index_iter_new (PopplerDocument *document);
Returns the root PopplerIndexIter for document, or NULL.  This must be
freed with poppler_index_iter_free().
Certain documents have an index associated with them. This index can be used to help the user navigate the document, and is similar to a table of contents. Each node in the index will contain a PopplerAction that can be displayed to the user — typically a POPPLER_ACTION_GOTO_DEST or a POPPLER_ACTION_URI.
Here is a simple example of some code that walks the full index:
static void
walk_index (PopplerIndexIter *iter)
{
  do
    {
      /* Get the the action and do something with it */
      PopplerIndexIter *child = poppler_index_iter_get_child (iter);
      if (child)
        walk_index (child);
      poppler_index_iter_free (child);
    }
  while (poppler_index_iter_next (iter));
}
...
{
  iter = poppler_index_iter_new (document);
  walk_index (iter);
  poppler_index_iter_free (iter);
}
| document: | a PopplerDocument | 
| Returns : | a new PopplerIndexIter | 
PopplerIndexIter* poppler_index_iter_copy (PopplerIndexIter *iter);
Creates a new PopplerIndexIter as a copy of iter.  This must be freed with
poppler_index_iter_free().
| iter: | a PopplerIndexIter | 
| Returns : | a new PopplerIndexIter | 
void poppler_index_iter_free (PopplerIndexIter *iter);
Frees iter.
| iter: | a PopplerIndexIter | 
PopplerIndexIter* poppler_index_iter_get_child (PopplerIndexIter *parent);
Returns a newly created child of parent, or NULL if the iter has no child.
See poppler_index_iter_new() for more information on this function.
| parent: | a PopplerIndexIter | 
| Returns : | a new PopplerIndexIter | 
gboolean poppler_index_iter_is_open (PopplerIndexIter *iter);
Returns whether this node should be expanded by default to the user. The document can provide a hint as to how the document's index should be expanded initially.
| iter: | a PopplerIndexIter | 
| Returns : | TRUE, if the document wantsiterto be expanded | 
PopplerAction* poppler_index_iter_get_action (PopplerIndexIter *iter);
Returns the PopplerAction associated with iter.  It must be freed with
poppler_action_free().
| iter: | a PopplerIndexIter | 
| Returns : | a new PopplerAction | 
gboolean poppler_index_iter_next (PopplerIndexIter *iter);
Sets iter to point to the next action at the current level, if valid.  See
poppler_index_iter_new() for more information.
| iter: | a PopplerIndexIter | 
| Returns : | TRUE, ifiterwas set to the next action | 
PopplerFontInfo* poppler_font_info_new (PopplerDocument *document);
| document: | |
| Returns : | 
gboolean poppler_font_info_scan (PopplerFontInfo *font_info, int n_pages, PopplerFontsIter **iter);
| font_info: | |
| n_pages: | |
| iter: | |
| Returns : | 
PopplerFontsIter* poppler_fonts_iter_copy (PopplerFontsIter *iter);
| iter: | |
| Returns : | 
const char* poppler_fonts_iter_get_name (PopplerFontsIter *iter);
| iter: | |
| Returns : | 
const char* poppler_fonts_iter_get_full_name
                                            (PopplerFontsIter *iter);
| iter: | |
| Returns : | 
PopplerFontType poppler_fonts_iter_get_font_type (PopplerFontsIter *iter);
| iter: | |
| Returns : | 
gboolean poppler_fonts_iter_is_embedded (PopplerFontsIter *iter);
| iter: | |
| Returns : | 
gboolean poppler_fonts_iter_is_subset (PopplerFontsIter *iter);
| iter: | |
| Returns : | 
gboolean poppler_fonts_iter_next (PopplerFontsIter *iter);
| iter: | |
| Returns : | 
PopplerPSFile* poppler_ps_file_new (PopplerDocument *document, const char *filename, int first_page, int n_pages);
Create a new postscript file to render to
| document: | a PopplerDocument | 
| filename: | the path of the output filename | 
| first_page: | the first page to print | 
| n_pages: | the number of pages to print | 
| Returns : | a PopplerPSFile | 
void poppler_ps_file_set_paper_size (PopplerPSFile *ps_file, double width, double height);
Set the output paper size. These values will end up in the DocumentMedia, the BoundingBox DSC comments and other places in the generated PostScript.
| ps_file: | a PopplerPSFile which was not yet printed to. | 
| width: | the paper width in 1/72 inch | 
| height: | the paper height in 1/72 inch | 
void poppler_ps_file_set_duplex (PopplerPSFile *ps_file, gboolean duplex);
Enable or disable Duplex printing.
| ps_file: | a PopplerPSFile which was not yet printed to | 
| duplex: | whether to force duplex printing (on printers which support this) | 
void poppler_ps_file_free (PopplerPSFile *ps_file);
Frees ps_file
| ps_file: | a PopplerPSFile |