SetaPDF_Core_Document_Catalog_Pages Class for handling PDF pages
File: /SetaPDF v2/Core/Document/Catalog/Pages.php
Class hierarchy
Implements
Summary
Methods
- __construct()
- _ensureAllPageObjects()
- _ensureIndirectObjectAndDictionaryAndType()
- _ensurePageObject()
- _ensurePagesArray()
- _readPage()
- _readPageBackwards()
- append()
- cleanUp()
- count()
- create()
- deletePage()
- ensureAllPageObjects()
- extract()
- getDocument()
- getLastPage()
- getPage()
- getPageByAnnotation()
- getPageByIndirectObject()
- getPageNumberByIndirectObject()
- getPageNumberByPageObject()
- getPagesIndirectObject()
- prepend()
- resolvePagesRootObject()
Properties
Methods
__construct()
_ensureAllPageObjects()
Method to extract page objects recursively.
Parameters
Exceptions
Throws SetaPDF_Core_Type_Exception
_ensureIndirectObjectAndDictionaryAndType()
This method checks an entry in a Kids array for valid values and repairs it (if possible).
Parameters
- $kids : SetaPDF_Core_Type_Array
- $offset : integer
Exceptions
Throws SetaPDF_Core_Exception
_ensurePageObject()
Ensures that a page object is read and available in the $_pageObjects property.
Parameters
- $pageNumber : integer
Exceptions
Throws InvalidArgumentException
Throws SetaPDF_Core_Type_Exception
Throws SetaPDF_Core_Exception
_ensurePagesArray()
Ensures that the parameter ends in an array of SetaPDF_Core_Document_Page instances.
Parameters
- $pages : SetaPDF_Core_Document_Page|SetaPDF_Core_Document_Catalog_Pages|array
Exceptions
Throws SetaPDF_Core_Exception
Throws SetaPDF_Core_SecHandler_Exception
Throws SetaPDF_Core_Type_Exception
_readPage()
Resolves a page object by walking forwards through the page tree.
This method is optimized, to take the fastest way through the page tree, beginning at the pages root node. The page tree will be walked forward.
Parameters
- $pageNumber : integer
The original page number - 1
Exceptions
Throws SetaPDF_Core_Exception
_readPageBackwards()
Resolves a page object by walking backwards through the page tree.
This method is optimized to take the fastest way through the page tree, beginning at the pages root node. The page tree will be walked forward.
Parameters
- $pageNumber : integer
Exceptions
Throws SetaPDF_Core_Exception
append()
Append pages to the existing pages.
Parameters
- $pages : SetaPDF_Core_Document_Page|SetaPDF_Core_Document_Catalog_Pages|array
Exceptions
Throws SetaPDF_Core_SecHandler_Exception
Throws InvalidArgumentException
Throws SetaPDF_Core_Type_Exception
Throws SetaPDF_Core_Exception
count()
Returns the page count of the document.
Exceptions
Throws SetaPDF_Core_Type_Exception
Throws SetaPDF_Core_SecHandler_Exception
See
create()
Create a page.
Parameters
- $format : string|array
The page format. See constants in
SetaPDF_Core_PageFormats
and thegetFormat()
method.- $orientation : string
The orientation. See constants in
SetaPDF_Core_PageFormats
.- $append : boolean
Whether the page should be appended to the page tree or not.
Exceptions
Throws SetaPDF_Core_Exception
deletePage()
Deletes a page.
Parameters
- $pageNumber : integer
Exceptions
Throws SetaPDF_Core_SecHandler_Exception
Throws SetaPDF_Core_Type_IndirectReference_Exception
Throws SetaPDF_Core_Type_Exception
Throws SetaPDF_Core_Exception
ensureAllPageObjects()
This method makes sure that all pages are read.
It walks the complete page tree to cache/get all page objects in one iteration. This method should be used if all pages of a document should be handled. It is much faster than using the random access.
Exceptions
Throws BadMethodCallException
Throws SetaPDF_Core_Exception
extract()
Extracts a page and prepares it for the usage in another document.
This method is needed if a page should be extracted independently. For example the original document should be modified after extraction and the page itself will be edited in the new document (inherited attributes get flattened).
Parameters
- $pageNumber : integer
- $document : SetaPDF_Core_Document
- $returnPageInstance : boolean
Exceptions
Throws SetaPDF_Core_Type_Exception
Throws SetaPDF_Core_Exception
getLastPage()
getPage()
Get a page.
Parameters
- $pageNumber : integer
Exceptions
Throws SetaPDF_Core_Type_Exception
Throws SetaPDF_Core_Exception
getPageByAnnotation()
Find the page of an annotation object.
Parameters
- $annotationOrIndirectObject : SetaPDF_Core_Document_Page_Annotation|SetaPDF_Core_Type_IndirectObjectInterface
Exceptions
Throws SetaPDF_Core_Type_Exception
Throws SetaPDF_Core_Exception
getPageByIndirectObject()
Get a page by its indirect object.
Parameters
- $indirectObject : SetaPDF_Core_Type_IndirectObjectInterface
Exceptions
Throws SetaPDF_Core_Type_Exception
Throws SetaPDF_Core_Exception
getPageNumberByIndirectObject()
Get the page number by a page indirect object.
If the object is not found in the page tree, false is returned.
Parameters
- $indirectObject : SetaPDF_Core_Type_IndirectObjectInterface
Exceptions
Throws SetaPDF_Core_Type_Exception
Throws SetaPDF_Core_Document_ObjectNotDefinedException
Throws SetaPDF_Core_Document_ObjectNotFoundException
Throws SetaPDF_Core_Exception
getPageNumberByPageObject()
Get the page number by a page object.
If the object is not found in the page tree, false is returned.
Parameters
- $page : SetaPDF_Core_Document_Page
Exceptions
Throws SetaPDF_Core_Type_Exception
Throws SetaPDF_Core_Document_ObjectNotDefinedException
Throws SetaPDF_Core_Document_ObjectNotFoundException
Throws SetaPDF_Core_Exception
getPagesIndirectObject()
Get a pages indirect object.
Parameters
- $pageNumber : integer
Exceptions
Throws SetaPDF_Core_Type_Exception
Throws SetaPDF_Core_Exception
prepend()
Prepend pages to the existing pages.
Parameters
- $pages : SetaPDF_Core_Document_Catalog_Pages|SetaPDF_Core_Document_Page[]|SetaPDF_Core_Document_Page
Exceptions
Throws SetaPDF_Core_SecHandler_Exception
Throws InvalidArgumentException
Throws SetaPDF_Core_Type_Exception
Throws SetaPDF_Core_Exception
resolvePagesRootObject()
Resolves the root page tree node.
Parameters
- $create : boolean
Exceptions
Throws SetaPDF_Core_Type_Exception