DocListener, ElementListener, PdfAnnotations, PdfDocumentActions, PdfEncryptionSettings, PdfPageActions, PdfRunDirection, PdfVersion, PdfViewerPreferences, java.util.EventListenerPdfACopy, PdfSmartCopypublic class PdfCopy extends PdfWriter
| Modifier and Type | Class | Description |
|---|---|---|
protected static class |
PdfCopy.ImportedPage |
|
static class |
PdfCopy.PageStamp |
|
static class |
PdfCopy.StampContent |
PdfWriter.PdfBody, PdfWriter.PdfTrailer| Modifier and Type | Field | Description |
|---|---|---|
protected static Counter |
COUNTER |
|
protected java.util.HashSet<PdfObject> |
disableIndirects |
|
protected PdfArray |
fieldArray |
|
protected static java.util.HashSet<PdfName> |
fieldKeys |
|
protected java.util.ArrayList<AcroFields> |
fields |
|
protected java.util.HashSet<PdfTemplate> |
fieldTemplates |
|
protected java.util.ArrayList<PdfCopy.ImportedPage> |
importedPages |
|
protected java.util.HashMap<PdfReader,java.util.HashMap<RefKey,com.itextpdf.text.pdf.PdfCopy.IndirectReferences>> |
indirectMap |
|
protected java.util.LinkedHashMap<RefKey,PdfIndirectObject> |
indirectObjects |
|
protected java.util.HashMap<RefKey,com.itextpdf.text.pdf.PdfCopy.IndirectReferences> |
indirects |
|
protected boolean |
mergeFields |
|
protected int[] |
namePtr |
|
protected java.util.HashMap<PdfObject,PdfObject> |
parentObjects |
|
protected PdfReader |
reader |
|
protected java.util.ArrayList<PdfIndirectObject> |
savedObjects |
|
protected PRIndirectReference |
structTreeRootReference |
|
protected boolean |
updateRootKids |
|
protected static java.util.HashSet<PdfName> |
widgetKeys |
closeStream, document, EQUALS, FORWARD, GT, LT, NEWLINE, open, os, pageSize, pause, QUOTE, SPACE, TABALLOW_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, 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 | Description |
|---|---|
PdfCopy(Document document,
java.io.OutputStream os) |
Constructor
|
| Modifier and Type | Method | Description |
|---|---|---|
PdfIndirectReference |
add(PdfOutline outline) |
|
void |
addAnnotation(PdfAnnotation annot) |
Use this methods to add a
PdfAnnotation or a PdfFormField
to the document. |
void |
addDocument(PdfReader reader) |
|
void |
addDocument(PdfReader reader,
java.util.List<java.lang.Integer> pagesToKeep) |
|
void |
addPage(PdfImportedPage iPage) |
Add an imported page to our output
|
void |
addPage(Rectangle rect,
int rotation) |
Adds a blank page.
|
PdfIndirectObject |
addToBody(PdfObject object,
PdfIndirectReference ref) |
Use this method to add a PDF object to the PDF body.
|
PdfIndirectObject |
addToBody(PdfObject object,
PdfIndirectReference ref,
boolean formBranching) |
Use this method to add a PDF object to the PDF body.
|
protected void |
cacheObject(PdfIndirectObject iobj) |
Use this method for caching objects.
|
void |
close() |
Signals that the
Document was closed and that no other
Elements will be added. |
protected PdfArray |
copyArray(PdfArray in) |
Translate a PRArray to a PdfArray.
|
protected PdfArray |
copyArray(PdfArray in,
boolean keepStruct,
boolean directRootKids) |
Translate a PRArray to a PdfArray.
|
protected PdfDictionary |
copyDictionary(PdfDictionary in) |
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 |
copyIndirect(PRIndirectReference in) |
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-object
|
protected PdfObject |
copyObject(PdfObject in,
boolean keepStruct,
boolean directRootKids) |
Translate a PR-object to a Pdf-object
|
protected PdfStream |
copyStream(PRStream in) |
Translate a PRStream to a PdfStream.
|
PdfCopy.PageStamp |
createPageStamp(PdfImportedPage iPage) |
Create a page stamp.
|
protected void |
fixStructureTreeRoot(java.util.HashSet<RefKey> activeKeys,
java.util.HashSet<PdfName> activeClassMaps) |
|
protected void |
fixTaggedStructure() |
|
protected void |
flushAcroFields() |
|
protected void |
flushIndirectObjects() |
|
protected void |
flushTaggedObjects() |
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) |
|
protected Counter |
getCounter() |
|
PdfImportedPage |
getImportedPage(PdfReader reader,
int pageNumber) |
Grabs a page from the input document
|
PdfImportedPage |
getImportedPage(PdfReader reader,
int pageNumber,
boolean keepTaggedPdfStructure) |
|
protected PdfImportedPage |
getImportedPageImpl(PdfReader reader,
int pageNumber) |
|
protected PdfName |
getOffStateName(PdfDictionary widget) |
|
boolean |
isRotateContents() |
Getter for property rotateContents.
|
protected boolean |
isStructTreeRootReference(PdfIndirectReference prRef) |
|
protected int |
setFromIPage(PdfImportedPage iPage) |
convenience method.
|
protected void |
setFromReader(PdfReader reader) |
convenience method.
|
void |
setMergeFields() |
|
void |
setPageEvent(PdfPageEvent event) |
Setting page events isn't possible with Pdf(Smart)Copy.
|
void |
setRotateContents(boolean rotateContents) |
Setter for property rotateContents.
|
protected void |
structureTreeRootKidsForReaderImported(PdfReader reader) |
add, addTabs, flush, getISOBytes, isCloseStream, isPaused, newPage, pause, resetPageCount, resume, setCloseStream, setMarginMirroring, setMarginMirroringTopBottom, setMargins, setPageCount, setPageSize, write, write, writeEnd, writeEnd, writeMarkupAttributes, writeStartclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitadd, addCalculationOrder, addDeveloperExtension, addDirectImageSimple, addDirectImageSimple, addFileAttachment, addFileAttachment, addFileAttachment, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addNamedDestination, addNamedDestinations, addOCGRadioGroup, addPageDictEntry, addSharedObjectsToBody, addToBody, addToBody, addToBody, addToBody, addViewerPreference, addXFormsToBody, buildStructTreeRootForTagged, checkElementRole, checkPdfIsoConformance, checkPdfIsoConformance, clearTextWrap, createAnnotation, createAnnotation, createAnnotation, createXmpMetadata, createXmpWriter, createXmpWriter, fillOCProperties, getAcroForm, getBoxSize, getBoxSize, getColorProfile, getCompressionLevel, getCurrentDocumentSize, getCurrentPageNumber, getDefaultColorspace, getDirectContent, getDirectContentUnder, getExtraCatalog, getGroup, getIndirectReferenceNumber, getInfo, getInstance, getInstance, getNameString, getNewObjectNumber, getOCProperties, getOs, getPageDictEntries, getPageEvent, getPageNumber, getPageReference, getPageSize, getPdfIndirectReference, getPdfReaderInstance, getPDFXConformance, getReferenceJBIG2Globals, getRootOutline, getRunDirection, getSpaceCharRatio, getStandardStructElems, getStructureTreeRoot, getTabs, getTtfUnicodeWriter, getVerticalPosition, getXmpWriter, initPdfIsoConformance, isFullCompression, isPageEmpty, isPdfIso, isPdfX, isRgbTransparencyBlending, isStrictImageSequence, isTagged, isUserProperties, lockLayer, needToBeMarkedInContent, open, releaseTemplate, reorderPages, 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, writeOutlinesprotected static Counter COUNTER
protected java.util.HashMap<RefKey,com.itextpdf.text.pdf.PdfCopy.IndirectReferences> indirects
protected java.util.HashMap<PdfReader,java.util.HashMap<RefKey,com.itextpdf.text.pdf.PdfCopy.IndirectReferences>> indirectMap
protected java.util.HashSet<PdfObject> disableIndirects
protected PdfReader reader
protected int[] namePtr
protected PdfArray fieldArray
protected java.util.HashSet<PdfTemplate> fieldTemplates
protected PRIndirectReference structTreeRootReference
protected java.util.LinkedHashMap<RefKey,PdfIndirectObject> indirectObjects
protected java.util.ArrayList<PdfIndirectObject> savedObjects
protected java.util.ArrayList<PdfCopy.ImportedPage> importedPages
protected boolean updateRootKids
protected boolean mergeFields
protected java.util.ArrayList<AcroFields> fields
protected static final java.util.HashSet<PdfName> widgetKeys
protected static final java.util.HashSet<PdfName> fieldKeys
public PdfCopy(Document document, java.io.OutputStream os) throws DocumentException
document - documentos - outputstreamDocumentExceptionprotected Counter getCounter()
getCounter in class PdfWriterpublic void setPageEvent(PdfPageEvent event)
setPageEvent in class PdfWriterevent - the PdfPageEvent for this documentPdfWriter.setPageEvent(com.itextpdf.text.pdf.PdfPageEvent)public boolean isRotateContents()
public void setRotateContents(boolean rotateContents)
rotateContents - New value of property rotateContents.public void setMergeFields()
public PdfImportedPage getImportedPage(PdfReader reader, int pageNumber)
getImportedPage in class PdfWriterreader - the reader of the documentpageNumber - which page to getpublic PdfImportedPage getImportedPage(PdfReader reader, int pageNumber, boolean keepTaggedPdfStructure) throws BadPdfFormatException
BadPdfFormatExceptionprotected void structureTreeRootKidsForReaderImported(PdfReader reader)
protected void fixStructureTreeRoot(java.util.HashSet<RefKey> activeKeys, java.util.HashSet<PdfName> activeClassMaps)
protected PdfImportedPage getImportedPageImpl(PdfReader reader, int pageNumber)
protected PdfIndirectReference copyIndirect(PRIndirectReference in, boolean keepStructure, boolean directRootKids) throws java.io.IOException, BadPdfFormatException
java.io.IOExceptionBadPdfFormatExceptionprotected PdfIndirectReference copyIndirect(PRIndirectReference in) throws java.io.IOException, BadPdfFormatException
java.io.IOExceptionBadPdfFormatExceptionprotected PdfDictionary copyDictionary(PdfDictionary in, boolean keepStruct, boolean directRootKids) throws java.io.IOException, BadPdfFormatException
java.io.IOExceptionBadPdfFormatExceptionprotected PdfDictionary copyDictionary(PdfDictionary in) throws java.io.IOException, BadPdfFormatException
java.io.IOExceptionBadPdfFormatExceptionprotected PdfStream copyStream(PRStream in) throws java.io.IOException, BadPdfFormatException
java.io.IOExceptionBadPdfFormatExceptionprotected PdfArray copyArray(PdfArray in, boolean keepStruct, boolean directRootKids) throws java.io.IOException, BadPdfFormatException
java.io.IOExceptionBadPdfFormatExceptionprotected PdfArray copyArray(PdfArray in) throws java.io.IOException, BadPdfFormatException
java.io.IOExceptionBadPdfFormatExceptionprotected PdfObject copyObject(PdfObject in, boolean keepStruct, boolean directRootKids) throws java.io.IOException, BadPdfFormatException
java.io.IOExceptionBadPdfFormatExceptionprotected PdfObject copyObject(PdfObject in) throws java.io.IOException, BadPdfFormatException
java.io.IOExceptionBadPdfFormatExceptionprotected int setFromIPage(PdfImportedPage iPage)
protected void setFromReader(PdfReader reader)
public void addPage(PdfImportedPage iPage) throws java.io.IOException, BadPdfFormatException
iPage - an imported pagejava.io.IOExceptionBadPdfFormatExceptionpublic void addPage(Rectangle rect, int rotation) throws DocumentException
rect - The page dimensionrotation - The rotation angle in degreesDocumentExceptionpublic void addDocument(PdfReader reader, java.util.List<java.lang.Integer> pagesToKeep) throws DocumentException, java.io.IOException
DocumentExceptionjava.io.IOExceptionpublic void copyDocumentFields(PdfReader reader) throws DocumentException, java.io.IOException
reader - a document where fields are copied from.DocumentExceptionjava.io.IOExceptionpublic void addDocument(PdfReader reader) throws DocumentException, java.io.IOException
DocumentExceptionjava.io.IOExceptionpublic PdfIndirectObject addToBody(PdfObject object, PdfIndirectReference ref) throws java.io.IOException
PdfWriterpublic PdfIndirectObject addToBody(PdfObject object, PdfIndirectReference ref, boolean formBranching) throws java.io.IOException
PdfWriterprotected void cacheObject(PdfIndirectObject iobj)
PdfWritercacheObject in class PdfWriterPdfIndirectObjectprotected void flushTaggedObjects()
throws java.io.IOException
PdfWriterflushTaggedObjects in class PdfWriterjava.io.IOExceptionprotected void flushAcroFields()
throws java.io.IOException,
BadPdfFormatException
flushAcroFields in class PdfWriterjava.io.IOExceptionBadPdfFormatExceptionprotected void fixTaggedStructure()
throws java.io.IOException
java.io.IOExceptionprotected void flushIndirectObjects()
throws java.io.IOException
java.io.IOExceptionprotected PdfDictionary getCatalog(PdfIndirectReference rootObj)
getCatalog in class PdfWriterprotected boolean isStructTreeRootReference(PdfIndirectReference prRef)
public void close()
Document was closed and that no other
Elements 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.
close in interface DocListenerclose in class PdfWriterDocWriter.close()public PdfIndirectReference add(PdfOutline outline)
public void addAnnotation(PdfAnnotation annot)
PdfAnnotationsPdfAnnotation or a PdfFormField
to the document. Only the top parent of a PdfFormField
needs to be added.addAnnotation in interface PdfAnnotationsaddAnnotation in class PdfWriterannot - the PdfAnnotation or the PdfFormField to addPdfAnnotations.addAnnotation(com.itextpdf.text.pdf.PdfAnnotation)public void freeReader(PdfReader reader) throws java.io.IOException
PdfWriterfreeReader in class PdfWriterreader - the PdfReader to freejava.io.IOException - on errorprotected PdfName getOffStateName(PdfDictionary widget)
public PdfCopy.PageStamp createPageStamp(PdfImportedPage iPage)
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);
iPage - an imported pagePageStampCopyright © 1998–2018. All rights reserved.