Package com.itextpdf.text.pdf
Class PdfCopy
java.lang.Object
com.itextpdf.text.DocWriter
com.itextpdf.text.pdf.PdfWriter
com.itextpdf.text.pdf.PdfCopy
- All Implemented Interfaces:
DocListener
,ElementListener
,PdfAnnotations
,PdfDocumentActions
,PdfEncryptionSettings
,PdfPageActions
,PdfRunDirection
,PdfVersion
,PdfViewerPreferences
,EventListener
- Direct Known Subclasses:
PdfACopy
,PdfSmartCopy
Make copies of PDF documents. Documents can be edited after reading and
before writing them out.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
(package private) static class
This class holds information about indirect references, since they are renumbered by iText.static class
static class
Nested classes/interfaces inherited from class com.itextpdf.text.pdf.PdfWriter
PdfWriter.PdfBody, PdfWriter.PdfTrailer
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate PdfIndirectReference
private static final PdfName
private static int
protected static Counter
private int
protected PdfArray
protected ArrayList
<AcroFields> protected HashSet
<PdfTemplate> private boolean
protected ArrayList
<PdfCopy.ImportedPage> protected HashMap
<PdfReader, HashMap<RefKey, PdfCopy.IndirectReferences>> protected LinkedHashMap
<RefKey, PdfIndirectObject> protected HashMap
<RefKey, PdfCopy.IndirectReferences> private static final PdfName
private static final Logger
private HashMap
<Integer, PdfIndirectObject> private HashSet
<PdfIndirectObject> protected boolean
private boolean
protected int[]
private boolean
protected PdfReader
private PdfDictionary
private boolean
Holds value of property rotateContents.protected ArrayList
<PdfIndirectObject> private PdfStructTreeController
protected PRIndirectReference
private HashMap
<RefKey, PdfIndirectObject> private HashMap
<Integer, PdfIndirectObject> protected boolean
private static final Integer
Fields inherited from class com.itextpdf.text.pdf.PdfWriter
ALLOW_ASSEMBLY, ALLOW_COPY, ALLOW_DEGRADED_PRINTING, ALLOW_FILL_IN, ALLOW_MODIFY_ANNOTATIONS, ALLOW_MODIFY_CONTENTS, ALLOW_PRINTING, ALLOW_SCREENREADERS, AllowAssembly, AllowCopy, AllowDegradedPrinting, AllowFillIn, AllowModifyAnnotations, AllowModifyContents, AllowPrinting, AllowScreenReaders, body, CenterWindow, colorNumber, colorProfile, compressionLevel, crypto, currentPageNumber, currentPdfReaderInstance, defaultColorspace, DID_PRINT, DID_SAVE, directContent, directContentUnder, DirectionL2R, DirectionR2L, DisplayDocTitle, DO_NOT_ENCRYPT_METADATA, DOCUMENT_CLOSE, documentColors, documentExtGState, documentFonts, documentOCG, documentOCGorder, documentPatterns, documentProperties, documentShadingPatterns, documentShadings, documentSpotPatterns, EMBEDDED_FILES_ONLY, ENCRYPTION_AES_128, ENCRYPTION_AES_256, ENCRYPTION_MASK, extraCatalog, FitWindow, fontNumber, formXObjects, formXObjectsCounter, fullCompression, GENERATION_MAX, group, HideMenubar, HideToolbar, HideWindowUI, imageDictionary, JBIG2Globals, markAll, markInlineElementsOnly, newBookmarks, NO_SPACE_CHAR_RATIO, NonFullScreenPageModeUseNone, NonFullScreenPageModeUseOC, NonFullScreenPageModeUseOutlines, NonFullScreenPageModeUseThumbs, OCGLocked, OCGRadioGroup, OCProperties, originalFileID, PAGE_CLOSE, PAGE_OPEN, pageDictEntries, PageLayoutOneColumn, PageLayoutSinglePage, PageLayoutTwoColumnLeft, PageLayoutTwoColumnRight, PageLayoutTwoPageLeft, PageLayoutTwoPageRight, PageModeFullScreen, PageModeUseAttachments, PageModeUseNone, PageModeUseOC, PageModeUseOutlines, PageModeUseThumbs, pageReferences, patternColorspaceCMYK, patternColorspaceGRAY, patternColorspaceRGB, patternNumber, pdf, pdf_version, PDF_VERSION_1_2, PDF_VERSION_1_3, PDF_VERSION_1_4, PDF_VERSION_1_5, PDF_VERSION_1_6, PDF_VERSION_1_7, pdfIsoConformance, PDFX1A2001, PDFX32002, PDFXNONE, prevxref, PrintScalingNone, readerInstances, root, RUN_DIRECTION_DEFAULT, RUN_DIRECTION_LTR, RUN_DIRECTION_NO_BIDI, RUN_DIRECTION_RTL, runDirection, SIGNATURE_APPEND_ONLY, SIGNATURE_EXISTS, SPACE_CHAR_RATIO_DEFAULT, STANDARD_ENCRYPTION_128, STANDARD_ENCRYPTION_40, STRENGTH128BITS, STRENGTH40BITS, structureTreeRoot, tabs, tagged, taggingMode, ttfUnicodeWriter, VERSION_1_2, VERSION_1_3, VERSION_1_4, VERSION_1_5, VERSION_1_6, VERSION_1_7, WILL_PRINT, WILL_SAVE, xmpMetadata, xmpWriter
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionadd
(PdfOutline outline) (package private) PdfIndirectReference
add
(PdfPage page, PdfContents contents) Adds somePdfContents
to this Writer.void
addAnnotation
(PdfAnnotation annot) Use this methods to add aPdfAnnotation
or aPdfFormField
to the document.void
addDocument
(PdfReader reader) void
addDocument
(PdfReader reader, List<Integer> pagesToKeep) private void
addFieldResources
(PdfDictionary catalog) void
addPage
(PdfImportedPage iPage) Add an imported page to our outputvoid
Adds a blank page.private void
addPageOffsetToField
(Map<String, AcroFields.Item> fd, int pageOffset) addToBody
(PdfObject object, PdfIndirectReference ref) Use this method to add a PDF object to the PDF body.addToBody
(PdfObject object, PdfIndirectReference ref, boolean formBranching) Use this method to add a PDF object to the PDF body.private void
adjustTabOrder
(PdfArray annots, PdfIndirectReference ind, PdfNumber nn) private PdfArray
branchForm
(HashMap<String, Object> level, PdfIndirectReference parent, String fname) protected void
cacheObject
(PdfIndirectObject iobj) Use this method for caching objects.private int
private void
clearIndirects
(PdfReader reader) void
close()
Signals that theDocument
was closed and that no otherElements
will be added.private boolean
containsInactivePg
(PdfDictionary dict, HashSet<RefKey> activeKeys) protected PdfArray
Translate a PRArray to a PdfArray.protected PdfArray
Translate a PRArray to a PdfArray.protected PdfDictionary
Translate a PRDictionary to a PdfDictionary.protected PdfDictionary
copyDictionary
(PdfDictionary in, boolean keepStruct, boolean directRootKids) Translate a PRDictionary to a PdfDictionary.void
copyDocumentFields
(PdfReader reader) Copy document fields to a destination document.protected PdfIndirectReference
Translate a PRIndirectReference to a PdfIndirectReference In addition, translates the object numbers, and copies the referenced object to the output file.protected PdfIndirectReference
copyIndirect
(PRIndirectReference in, boolean keepStructure, boolean directRootKids) Translate a PRIndirectReference to a PdfIndirectReference In addition, translates the object numbers, and copies the referenced object to the output file.protected PdfObject
copyObject
(PdfObject in) Translate a PR-object to a Pdf-objectprotected PdfObject
copyObject
(PdfObject in, boolean keepStruct, boolean directRootKids) Translate a PR-object to a Pdf-objectprotected PdfStream
copyStream
(PRStream in) Translate a PRStream to a PdfStream.private void
createPageStamp
(PdfImportedPage iPage) Create a page stamp.private void
createWidgets
(ArrayList<Object> list, AcroFields.Item item) private ArrayList
<PdfIndirectReference> findActiveParents
(HashSet<RefKey> activeKeys) private void
findActives
(ArrayList<PdfIndirectReference> actives, HashSet<RefKey> activeKeys, HashSet<PdfName> activeClassMaps) private void
findActivesFromArray
(PdfArray array, ArrayList<PdfIndirectReference> actives, HashSet<RefKey> activeKeys, HashSet<PdfName> activeClassMaps) private void
findActivesFromDict
(PdfDictionary dict, ArrayList<PdfIndirectReference> actives, HashSet<RefKey> activeKeys, HashSet<PdfName> activeClassMaps) private void
findActivesFromReference
(PdfIndirectReference iref, ArrayList<PdfIndirectReference> actives, HashSet<RefKey> activeKeys) private void
fixPgKey
(ArrayList<PdfIndirectReference> newRefs, HashSet<RefKey> activeKeys) protected void
fixStructureTreeRoot
(HashSet<RefKey> activeKeys, HashSet<PdfName> activeClassMaps) protected void
protected void
protected void
protected void
Fix structure of tagged document: remove unused objects, remove unused items from class map, fix xref table due to removed objects.void
freeReader
(PdfReader reader) Use this method to writes the reader to the document and free the memory used by it.protected PdfDictionary
getCatalog
(PdfIndirectReference rootObj) private static String
getCOName
(PdfReader reader, PRIndirectReference ref) protected Counter
(package private) static Integer
getFlags
(PdfDictionary field) getImportedPage
(PdfReader reader, int pageNumber) Grabs a page from the input documentgetImportedPage
(PdfReader reader, int pageNumber, boolean keepTaggedPdfStructure) protected PdfImportedPage
getImportedPageImpl
(PdfReader reader, int pageNumber) protected PdfName
getOffStateName
(PdfDictionary widget) (package private) static boolean
isCheckButton
(PdfDictionary field) (package private) static boolean
isRadioButton
(PdfDictionary field) boolean
Getter for property rotateContents.protected boolean
(package private) static boolean
isTextField
(PdfDictionary field) private void
mergeField
(String name, AcroFields.Item item) private void
private void
private PdfObject
private void
removeInactiveReferences
(PdfArray array, HashSet<RefKey> activeKeys) protected int
setFromIPage
(PdfImportedPage iPage) convenience method.protected void
setFromReader
(PdfReader reader) convenience method.void
void
setPageEvent
(PdfPageEvent event) Setting page events isn't possible with Pdf(Smart)Copy.void
setRotateContents
(boolean rotateContents) Setter for property rotateContents.protected void
private void
private void
updateCalculationOrder
(PdfReader reader) private void
private void
writeObjectToBody
(PdfIndirectObject object) Methods inherited from class com.itextpdf.text.pdf.PdfWriter
add, add, addAnnotation, addCalculationOrder, addDeveloperExtension, addDirectImageSimple, addDirectImageSimple, addDirectTemplateSimple, addFileAttachment, addFileAttachment, addFileAttachment, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addLocalDestinations, addNamedDestination, addNamedDestinations, addOCGRadioGroup, addPageDictEntry, addSharedObjectsToBody, addSimple, addSimple, addSimpleExtGState, addSimplePattern, addSimplePatternColorspace, addSimpleProperty, addSimpleShading, addSimpleShadingPattern, addToBody, addToBody, addToBody, addToBody, addViewerPreference, addXFormsToBody, buildStructTreeRootForTagged, checkElementRole, checkPdfIsoConformance, checkPdfIsoConformance, clearTextWrap, createAnnotation, createAnnotation, createAnnotation, createXmpMetadata, createXmpWriter, createXmpWriter, eliminateFontSubset, fillOCProperties, getAcroForm, getBoxSize, getBoxSize, getColorProfile, getColorspaceName, getCompressionLevel, getCurrentDocumentSize, getCurrentPage, getCurrentPageNumber, getDefaultColorspace, getDirectContent, getDirectContentUnder, getEncryption, getExtraCatalog, getGroup, getImageReference, getIndirectReferenceNumber, getInfo, getInstance, getInstance, getNameString, getNewObjectNumber, getOCProperties, getOs, getPageDictEntries, getPageEvent, getPageNumber, getPageReference, getPageSize, getPdfDocument, getPdfIndirectReference, getPdfReaderInstance, getPdfVersion, getPDFXConformance, getReaderFile, getReferenceJBIG2Globals, getRootOutline, getRunDirection, getSpaceCharRatio, getStandardStructElems, getStructureTreeRoot, getTabs, getTtfUnicodeWriter, getVerticalPosition, getXmpWriter, initPdfIsoConformance, isFullCompression, isPageEmpty, isPdfIso, isPdfX, isRgbTransparencyBlending, isStrictImageSequence, isTagged, isUserProperties, lockLayer, needToBeMarkedInContent, open, propertyExists, registerLayer, releaseTemplate, reorderPages, resetContent, resetPageDictEntries, setAdditionalAction, setAtLeastPdfVersion, setBoxSize, setCollection, setCompressionLevel, setCropBoxSize, setDefaultColorspace, setDuration, setEncryption, setEncryption, setEncryption, setEncryption, setEncryption, setFullCompression, setGroup, setInitialLeading, setLanguage, setLinearPageMode, setOpenAction, setOpenAction, setOutlines, setOutputIntents, setOutputIntents, setOutputIntents, setPageAction, setPageEmpty, setPageLabels, setPageViewport, setPageXmpMetadata, setPdfVersion, setPdfVersion, setPDFXConformance, setRgbTransparencyBlending, setRunDirection, setSigFlags, setSpaceCharRatio, setStrictImageSequence, setTabs, setTagged, setTagged, setThumbnail, setTransition, setUserProperties, setUserunit, setViewerPreferences, setXmpMetadata, useExternalCacheForTagStructure, writeKeyInfo, writeOutlines
Methods inherited from class com.itextpdf.text.DocWriter
add, addTabs, flush, getISOBytes, isCloseStream, isPaused, newPage, pause, resetPageCount, resume, setCloseStream, setMarginMirroring, setMarginMirroringTopBottom, setMargins, setPageCount, setPageSize, write, write, writeEnd, writeEnd, writeMarkupAttributes, writeStart
-
Field Details
-
LOGGER
-
COUNTER
-
indirects
-
indirectMap
-
parentObjects
-
disableIndirects
-
reader
-
namePtr
protected int[] namePtr -
rotateContents
private boolean rotateContentsHolds value of property rotateContents. -
fieldArray
-
fieldTemplates
-
structTreeController
-
currentStructArrayNumber
private int currentStructArrayNumber -
structTreeRootReference
-
indirectObjects
-
savedObjects
-
importedPages
-
updateRootKids
protected boolean updateRootKids -
annotId
-
annotIdCnt
private static int annotIdCnt -
mergeFields
protected boolean mergeFields -
needAppearances
private boolean needAppearances -
hasSignature
private boolean hasSignature -
acroForm
-
tabOrder
-
calculationOrderRefs
-
resources
-
fields
-
calculationOrder
-
fieldTree
-
unmergedMap
-
unmergedIndirectRefsMap
-
mergedMap
-
mergedSet
-
mergeFieldsInternalCall
private boolean mergeFieldsInternalCall -
iTextTag
-
zero
-
mergedRadioButtons
-
mergedTextFields
-
readersWithImportedStructureTreeRootKids
-
widgetKeys
-
fieldKeys
-
-
Constructor Details
-
PdfCopy
Constructor- Parameters:
document
- documentos
- outputstream- Throws:
DocumentException
-
-
Method Details
-
getCounter
- Overrides:
getCounter
in classPdfWriter
-
setPageEvent
Setting page events isn't possible with Pdf(Smart)Copy. Use the PageStamp class if you want to add content to copied pages.- Overrides:
setPageEvent
in classPdfWriter
- Parameters:
event
- thePdfPageEvent
for this document- See Also:
-
isRotateContents
public boolean isRotateContents()Getter for property rotateContents.- Returns:
- Value of property rotateContents.
-
setRotateContents
public void setRotateContents(boolean rotateContents) Setter for property rotateContents.- Parameters:
rotateContents
- New value of property rotateContents.
-
setMergeFields
public void setMergeFields() -
getImportedPage
Grabs a page from the input document- Overrides:
getImportedPage
in classPdfWriter
- Parameters:
reader
- the reader of the documentpageNumber
- which page to get- Returns:
- the page
-
getImportedPage
public PdfImportedPage getImportedPage(PdfReader reader, int pageNumber, boolean keepTaggedPdfStructure) throws BadPdfFormatException - Throws:
BadPdfFormatException
-
clearIndirects
-
checkStructureTreeRootKids
-
structureTreeRootKidsForReaderImported
-
fixStructureTreeRoot
-
getImportedPageImpl
-
copyIndirect
protected PdfIndirectReference copyIndirect(PRIndirectReference in, boolean keepStructure, boolean directRootKids) throws IOException, BadPdfFormatException Translate a PRIndirectReference to a PdfIndirectReference In addition, translates the object numbers, and copies the referenced object to the output file. NB: PRIndirectReferences (and PRIndirectObjects) really need to know what file they came from, because each file has its own namespace. The translation we do from their namespace to ours is *at best* heuristic, and guaranteed to fail under some circumstances.- Throws:
IOException
BadPdfFormatException
-
copyIndirect
protected PdfIndirectReference copyIndirect(PRIndirectReference in) throws IOException, BadPdfFormatException Translate a PRIndirectReference to a PdfIndirectReference In addition, translates the object numbers, and copies the referenced object to the output file. NB: PRIndirectReferences (and PRIndirectObjects) really need to know what file they came from, because each file has its own namespace. The translation we do from their namespace to ours is *at best* heuristic, and guaranteed to fail under some circumstances.- Throws:
IOException
BadPdfFormatException
-
copyDictionary
protected PdfDictionary copyDictionary(PdfDictionary in, boolean keepStruct, boolean directRootKids) throws IOException, BadPdfFormatException Translate a PRDictionary to a PdfDictionary. Also translate all of the objects contained in it.- Throws:
IOException
BadPdfFormatException
-
copyDictionary
Translate a PRDictionary to a PdfDictionary. Also translate all of the objects contained in it.- Throws:
IOException
BadPdfFormatException
-
copyStream
Translate a PRStream to a PdfStream. The data part copies itself.- Throws:
IOException
BadPdfFormatException
-
copyArray
protected PdfArray copyArray(PdfArray in, boolean keepStruct, boolean directRootKids) throws IOException, BadPdfFormatException Translate a PRArray to a PdfArray. Also translate all of the objects contained in it- Throws:
IOException
BadPdfFormatException
-
copyArray
Translate a PRArray to a PdfArray. Also translate all of the objects contained in it- Throws:
IOException
BadPdfFormatException
-
copyObject
protected PdfObject copyObject(PdfObject in, boolean keepStruct, boolean directRootKids) throws IOException, BadPdfFormatException Translate a PR-object to a Pdf-object- Throws:
IOException
BadPdfFormatException
-
copyObject
Translate a PR-object to a Pdf-object- Throws:
IOException
BadPdfFormatException
-
setFromIPage
convenience method. Given an imported page, set our "globals" -
setFromReader
convenience method. Given a reader, set our "globals" -
addPage
Add an imported page to our output- Parameters:
iPage
- an imported page- Throws:
IOException
BadPdfFormatException
-
addPage
Adds a blank page.- Parameters:
rect
- The page dimensionrotation
- The rotation angle in degrees- Throws:
DocumentException
- Since:
- 2.1.5
-
addDocument
public void addDocument(PdfReader reader, List<Integer> pagesToKeep) throws DocumentException, IOException - Throws:
DocumentException
IOException
-
copyDocumentFields
Copy document fields to a destination document.- Parameters:
reader
- a document where fields are copied from.- Throws:
DocumentException
IOException
-
addDocument
- Throws:
DocumentException
IOException
-
addToBody
Description copied from class:PdfWriter
Use this method to add a PDF object to the PDF body. Use this method only if you know what you're doing!- Overrides:
addToBody
in classPdfWriter
- Parameters:
object
-ref
-- Returns:
- a PdfIndirectObject
- Throws:
IOException
-
addToBody
public PdfIndirectObject addToBody(PdfObject object, PdfIndirectReference ref, boolean formBranching) throws IOException Description copied from class:PdfWriter
Use this method to add a PDF object to the PDF body. Use this method only if you know what you're doing!- Overrides:
addToBody
in classPdfWriter
- Parameters:
object
-ref
-formBranching
-- Returns:
- a PdfIndirectObject
- Throws:
IOException
-
cacheObject
Description copied from class:PdfWriter
Use this method for caching objects.- Overrides:
cacheObject
in classPdfWriter
- Parameters:
iobj
- @see PdfIndirectObject
-
flushTaggedObjects
Description copied from class:PdfWriter
Fix structure of tagged document: remove unused objects, remove unused items from class map, fix xref table due to removed objects.- Overrides:
flushTaggedObjects
in classPdfWriter
- Throws:
IOException
-
flushAcroFields
- Overrides:
flushAcroFields
in classPdfWriter
- Throws:
IOException
BadPdfFormatException
-
fixTaggedStructure
- Throws:
IOException
-
removeInactiveReferences
-
containsInactivePg
-
findActiveParents
-
fixPgKey
-
findActives
-
findActivesFromReference
private void findActivesFromReference(PdfIndirectReference iref, ArrayList<PdfIndirectReference> actives, HashSet<RefKey> activeKeys) -
findActivesFromArray
-
findActivesFromDict
private void findActivesFromDict(PdfDictionary dict, ArrayList<PdfIndirectReference> actives, HashSet<RefKey> activeKeys, HashSet<PdfName> activeClassMaps) -
flushIndirectObjects
- Throws:
IOException
-
writeObjectToBody
- Throws:
IOException
-
updateAnnotationReferences
-
updateCalculationOrder
-
getCOName
-
mergeFields
private void mergeFields() -
addPageOffsetToField
-
mergeWithMaster
-
mergeField
-
createWidgets
-
propagate
- Throws:
IOException
-
createAcroForms
- Throws:
IOException
BadPdfFormatException
-
updateReferences
-
branchForm
private PdfArray branchForm(HashMap<String, Object> level, PdfIndirectReference parent, String fname) throws IOException, BadPdfFormatException- Throws:
IOException
BadPdfFormatException
-
adjustTabOrder
-
getCatalog
- Overrides:
getCatalog
in classPdfWriter
-
isStructTreeRootReference
-
addFieldResources
- Throws:
IOException
-
close
public void close()Signals that theDocument
was closed and that no otherElements
will be added.The pages-tree is built and written to the outputstream. A Catalog is constructed, as well as an Info-object, the reference table is composed and everything is written to the outputstream embedded in a Trailer.
- Specified by:
close
in interfaceDocListener
- Overrides:
close
in classPdfWriter
- See Also:
-
add
-
addAnnotation
Description copied from interface:PdfAnnotations
Use this methods to add aPdfAnnotation
or aPdfFormField
to the document. Only the top parent of aPdfFormField
needs to be added.- Specified by:
addAnnotation
in interfacePdfAnnotations
- Overrides:
addAnnotation
in classPdfWriter
- Parameters:
annot
- thePdfAnnotation
or thePdfFormField
to add- See Also:
-
add
Description copied from class:PdfWriter
Adds somePdfContents
to this Writer.The document has to be open before you can begin to add content to the body of the document.
- Overrides:
add
in classPdfWriter
- Parameters:
page
- thePdfPage
to addcontents
- thePdfContents
of the page- Returns:
- a
PdfIndirectReference
- Throws:
PdfException
- on error
-
freeReader
Description copied from class:PdfWriter
Use this method to writes the reader to the document and free the memory used by it. The main use is when concatenating multiple documents to keep the memory usage restricted to the current appending document.- Overrides:
freeReader
in classPdfWriter
- Parameters:
reader
- thePdfReader
to free- Throws:
IOException
- on error
-
getOffStateName
-
getFlags
-
isCheckButton
-
isRadioButton
-
isTextField
-
createPageStamp
Create a page stamp. New content and annotations, including new fields, are allowed. The fields added cannot have parents in another pages. This method modifies the PdfReader instance.The general usage to stamp something in a page is:
PdfImportedPage page = copy.getImportedPage(reader, 1); PdfCopy.PageStamp ps = copy.createPageStamp(page); ps.addAnnotation(PdfAnnotation.createText(copy, new Rectangle(50, 180, 70, 200), "Hello", "No Thanks", true, "Comment")); PdfContentByte under = ps.getUnderContent(); under.addImage(img); PdfContentByte over = ps.getOverContent(); over.beginText(); over.setFontAndSize(bf, 18); over.setTextMatrix(30, 30); over.showText("total page " + totalPage); over.endText(); ps.alterContents(); copy.addPage(page);
- Parameters:
iPage
- an imported page- Returns:
- the
PageStamp
-