<!-- ##### SECTION Title ##### -->
poppler

<!-- ##### SECTION Short_Description ##### -->


<!-- ##### SECTION Long_Description ##### -->
<para>

</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### FUNCTION poppler_error_quark ##### -->
<para>

</para>

@Returns: 


<!-- ##### MACRO POPPLER_ERROR ##### -->
<para>

</para>



<!-- ##### ENUM PopplerError ##### -->
<para>

</para>

@POPPLER_ERROR_INVALID: 
@POPPLER_ERROR_ENCRYPTED: 
@POPPLER_ERROR_OPEN_FILE: 
@POPPLER_ERROR_BAD_CATALOG: 
@POPPLER_ERROR_DAMAGED: 

<!-- ##### ENUM PopplerOrientation ##### -->
<para>

</para>

@POPPLER_ORIENTATION_PORTRAIT: 
@POPPLER_ORIENTATION_LANDSCAPE: 
@POPPLER_ORIENTATION_UPSIDEDOWN: 
@POPPLER_ORIENTATION_SEASCAPE: 

<!-- ##### STRUCT PopplerDocument ##### -->
<para>

</para>


<!-- ##### ARG PopplerDocument:author ##### -->
<para>

</para>

<!-- ##### ARG PopplerDocument:creation-date ##### -->
<para>

</para>

<!-- ##### ARG PopplerDocument:creator ##### -->
<para>

</para>

<!-- ##### ARG PopplerDocument:format ##### -->
<para>

</para>

<!-- ##### ARG PopplerDocument:format-major ##### -->
<para>

</para>

<!-- ##### ARG PopplerDocument:format-minor ##### -->
<para>

</para>

<!-- ##### ARG PopplerDocument:keywords ##### -->
<para>

</para>

<!-- ##### ARG PopplerDocument:linearized ##### -->
<para>

</para>

<!-- ##### ARG PopplerDocument:metadata ##### -->
<para>

</para>

<!-- ##### ARG PopplerDocument:mod-date ##### -->
<para>

</para>

<!-- ##### ARG PopplerDocument:page-layout ##### -->
<para>

</para>

<!-- ##### ARG PopplerDocument:page-mode ##### -->
<para>

</para>

<!-- ##### ARG PopplerDocument:permissions ##### -->
<para>

</para>

<!-- ##### ARG PopplerDocument:producer ##### -->
<para>

</para>

<!-- ##### ARG PopplerDocument:subject ##### -->
<para>

</para>

<!-- ##### ARG PopplerDocument:title ##### -->
<para>

</para>

<!-- ##### ARG PopplerDocument:viewer-preferences ##### -->
<para>

</para>

<!-- ##### STRUCT PopplerIndexIter ##### -->
<para>

</para>


<!-- ##### STRUCT PopplerFontsIter ##### -->
<para>

</para>


<!-- ##### STRUCT PopplerRectangle ##### -->
<para>

</para>

@x1: 
@y1: 
@x2: 
@y2: 

<!-- ##### ENUM PopplerSelectionStyle ##### -->
<para>

</para>

@POPPLER_SELECTION_GLYPH: 
@POPPLER_SELECTION_WORD: 
@POPPLER_SELECTION_LINE: 

<!-- ##### ENUM PopplerPageTransitionType ##### -->
<para>

</para>

@POPPLER_PAGE_TRANSITION_REPLACE: 
@POPPLER_PAGE_TRANSITION_SPLIT: 
@POPPLER_PAGE_TRANSITION_BLINDS: 
@POPPLER_PAGE_TRANSITION_BOX: 
@POPPLER_PAGE_TRANSITION_WIPE: 
@POPPLER_PAGE_TRANSITION_DISSOLVE: 
@POPPLER_PAGE_TRANSITION_GLITTER: 
@POPPLER_PAGE_TRANSITION_FLY: 
@POPPLER_PAGE_TRANSITION_PUSH: 
@POPPLER_PAGE_TRANSITION_COVER: 
@POPPLER_PAGE_TRANSITION_UNCOVER: 
@POPPLER_PAGE_TRANSITION_FADE: 

<!-- ##### ENUM PopplerPageTransitionAlignment ##### -->
<para>

</para>

@POPPLER_PAGE_TRANSITION_HORIZONTAL: 
@POPPLER_PAGE_TRANSITION_VERTICAL: 

<!-- ##### ENUM PopplerPageTransitionDirection ##### -->
<para>

</para>

@POPPLER_PAGE_TRANSITION_INWARD: 
@POPPLER_PAGE_TRANSITION_OUTWARD: 

<!-- ##### STRUCT PopplerLinkMapping ##### -->
<para>

</para>

@area: 
@action: 

<!-- ##### STRUCT PopplerPage ##### -->
<para>

</para>


<!-- ##### ARG PopplerPage:label ##### -->
<para>

</para>

<!-- ##### STRUCT PopplerFontInfo ##### -->
<para>

</para>

@parent_instance: 
@document: 
@scanner: 

<!-- ##### STRUCT PopplerPSFile ##### -->
<para>

</para>

@parent_instance: 
@document: 
@out: 
@filename: 
@first_page: 
@last_page: 
@paper_width: 
@paper_height: 
@duplex: 

<!-- ##### ENUM PopplerBackend ##### -->
<para>

</para>

@POPPLER_BACKEND_UNKNOWN: 
@POPPLER_BACKEND_SPLASH: 
@POPPLER_BACKEND_CAIRO: 

<!-- ##### FUNCTION poppler_get_backend ##### -->
<para>

</para>

@Returns: 


<!-- ##### FUNCTION poppler_get_version ##### -->
<para>

</para>

@Returns: 


