![]() |
![]() |
![]() |
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 wants iter to 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 , if iter was 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 |