Package org.apache.pdfbox.util
Class LayerUtility
java.lang.Object
org.apache.pdfbox.util.LayerUtility
This class allows to import pages as Form XObjects into a PDF file and use them to create
layers (optional content groups).
- Version:
- $Revision$
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionappendFormAsLayer
(PDPage targetPage, PDXObjectForm form, AffineTransform transform, String layerName) Places the given form over the existing content of the indicated page (like an overlay).Returns the PDF document we work on.importPageAsForm
(PDDocument sourceDoc, int pageNumber) Imports a page from some PDF file as a Form XObject so it can be placed on another page in the target document.importPageAsForm
(PDDocument sourceDoc, PDPage page) Imports a page from some PDF file as a Form XObject so it can be placed on another page in the target document.void
wrapInSaveRestore
(PDPage page) Some applications may not wrap their page content in a save/restore (q/Q) pair which can lead to problems with coordinate system transformations when content is appended.
-
Constructor Details
-
LayerUtility
Creates a new instance.- Parameters:
document
- the PDF document to modify
-
-
Method Details
-
getDocument
Returns the PDF document we work on.- Returns:
- the PDF document
-
wrapInSaveRestore
Some applications may not wrap their page content in a save/restore (q/Q) pair which can lead to problems with coordinate system transformations when content is appended. This method lets you add a q/Q pair around the existing page's content.- Parameters:
page
- the page- Throws:
IOException
- if an I/O error occurs
-
importPageAsForm
Imports a page from some PDF file as a Form XObject so it can be placed on another page in the target document.- Parameters:
sourceDoc
- the source PDF document that contains the page to be copiedpageNumber
- the page number of the page to be copied- Returns:
- a Form XObject containing the original page's content
- Throws:
IOException
- if an I/O error occurs
-
importPageAsForm
Imports a page from some PDF file as a Form XObject so it can be placed on another page in the target document.- Parameters:
sourceDoc
- the source PDF document that contains the page to be copiedpage
- the page in the source PDF document to be copied- Returns:
- a Form XObject containing the original page's content
- Throws:
IOException
- if an I/O error occurs
-
appendFormAsLayer
public PDOptionalContentGroup appendFormAsLayer(PDPage targetPage, PDXObjectForm form, AffineTransform transform, String layerName) throws IOException Places the given form over the existing content of the indicated page (like an overlay). The form is enveloped in a marked content section to indicate that it's part of an optional content group (OCG), here used as a layer. This optional group is returned and can be enabled and disabled through methods onPDOptionalContentProperties
.- Parameters:
targetPage
- the target pageform
- the form to placetransform
- the transformation matrix that controls the placementlayerName
- the name for the layer/OCG to produce- Returns:
- the optional content group that was generated for the form usage
- Throws:
IOException
- if an I/O error occurs
-