public class PdfCopy extends PdfWriter
| Modifier and Type | Class and Description |
|---|---|
static class |
PdfCopy.PageStamp |
protected static class |
PdfCopy.RefKey
A key to allow us to hash indirect references
|
static class |
PdfCopy.StampContent |
PdfWriter.PdfBody| Modifier and Type | Field and Description |
|---|---|
protected PdfIndirectReference |
acroForm |
protected PdfArray |
fieldArray |
protected HashMap<PdfTemplate,Object> |
fieldTemplates |
protected HashMap<PdfReader,HashMap<PdfCopy.RefKey,com.lowagie.text.pdf.PdfCopy.IndirectReferences>> |
indirectMap |
protected HashMap<PdfCopy.RefKey,com.lowagie.text.pdf.PdfCopy.IndirectReferences> |
indirects |
protected int[] |
namePtr |
protected PdfReader |
reader |
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, 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, extraCatalog, FitWindow, fontNumber, formXObjects, formXObjectsCounter, fullCompression, GENERATION_MAX, group, HideMenubar, HideToolbar, HideWindowUI, imageDictionary, importedPages, JBIG2Globals, newBookmarks, NO_SPACE_CHAR_RATIO, NonFullScreenPageModeUseNone, NonFullScreenPageModeUseOC, NonFullScreenPageModeUseOutlines, NonFullScreenPageModeUseThumbs, OCGLocked, OCGRadioGroup, OCProperties, PAGE_CLOSE, PAGE_OPEN, 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, PDFA1A, PDFA1B, PDFX1A2001, PDFX32002, PDFXNONE, prevxref, PrintScalingNone, 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, userunit, VERSION_1_2, VERSION_1_3, VERSION_1_4, VERSION_1_5, VERSION_1_6, VERSION_1_7, WILL_PRINT, WILL_SAVE, xmpMetadata| Constructor and Description |
|---|
PdfCopy(Document document,
OutputStream os)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
PdfIndirectReference |
add(PdfOutline outline) |
void |
addAnnotation(PdfAnnotation annot)
Use this methods to add a
PdfAnnotation or a PdfFormField
to the document. |
void |
addPage(PdfImportedPage iPage)
Add an imported page to our output
|
void |
addPage(Rectangle rect,
int rotation)
Adds a blank page.
|
void |
close()
Signals that the
Document was closed and that no other
Elements will be added. |
void |
copyAcroForm(PdfReader reader)
Copy the acroform for an input document.
|
protected PdfArray |
copyArray(PdfArray in)
Translate a PRArray to a PdfArray.
|
protected PdfDictionary |
copyDictionary(PdfDictionary in)
Translate a PRDictionary to a PdfDictionary.
|
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 PdfObject |
copyObject(PdfObject in)
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.
|
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) |
PdfImportedPage |
getImportedPage(PdfReader reader,
int pageNumber)
Grabs a page from the input document
|
boolean |
isRotateContents()
Getter for property rotateContents.
|
protected int |
setFromIPage(PdfImportedPage iPage)
convenience method.
|
protected void |
setFromReader(PdfReader reader)
convenience method.
|
void |
setRotateContents(boolean rotateContents)
Setter for property rotateContents.
|
add, addCalculationOrder, addDeveloperExtension, addDirectImageSimple, addDirectImageSimple, addFileAttachment, addFileAttachment, addFileAttachment, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addNamedDestination, addNamedDestinations, addOCGRadioGroup, addSharedObjectsToBody, addToBody, addToBody, addToBody, addToBody, addToBody, addToBody, addViewerPreference, clearTextWrap, createXmpMetadata, fillOCProperties, fitsPage, fitsPage, getAcroForm, getBoxSize, getCompressionLevel, getCurrentDocumentSize, getCurrentPageNumber, getDefaultColorspace, getDirectContent, getDirectContentUnder, getExtraCatalog, getGroup, getInfo, getInstance, getInstance, getNewObjectNumber, getOCProperties, getPageEvent, getPageNumber, getPageReference, getPageSize, getPdfIndirectReference, getPDFXConformance, getReferenceJBIG2Globals, getRootOutline, getRunDirection, getSpaceCharRatio, getStructureTreeRoot, getTabs, getUserunit, getVerticalPosition, isFullCompression, isPageEmpty, isPdfX, isRgbTransparencyBlending, isStrictImageSequence, isTagged, isUserProperties, lockLayer, open, releaseTemplate, reorderPages, setAdditionalAction, setAtLeastPdfVersion, setBoxSize, setCollection, setCompressionLevel, setCropBoxSize, setDefaultColorspace, setDuration, setEncryption, setEncryption, setEncryption, setEncryption, setEncryption, setFullCompression, setGroup, setInitialLeading, setLinearPageMode, setOpenAction, setOpenAction, setOutlines, setOutputIntents, setOutputIntents, setOutputIntents, setPageAction, setPageEmpty, setPageEvent, setPageLabels, setPageXmpMetadata, setPdfVersion, setPdfVersion, setPDFXConformance, setRgbTransparencyBlending, setRunDirection, setSigFlags, setSpaceCharRatio, setStrictImageSequence, setTabs, setTagged, setThumbnail, setTransition, setUserProperties, setUserunit, setViewerPreferences, setXmpMetadata, writeOutlinesadd, addTabs, flush, getISOBytes, isCloseStream, isPaused, newPage, pause, resetFooter, resetHeader, resetPageCount, resume, setCloseStream, setFooter, setHeader, setMarginMirroring, setMarginMirroringTopBottom, setMargins, setPageCount, setPageSize, write, write, writeEnd, writeEnd, writeMarkupAttributes, writeStartprotected HashMap<PdfCopy.RefKey,com.lowagie.text.pdf.PdfCopy.IndirectReferences> indirects
protected HashMap<PdfReader,HashMap<PdfCopy.RefKey,com.lowagie.text.pdf.PdfCopy.IndirectReferences>> indirectMap
protected PdfReader reader
protected PdfIndirectReference acroForm
protected int[] namePtr
protected PdfArray fieldArray
protected HashMap<PdfTemplate,Object> fieldTemplates
public PdfCopy(Document document, OutputStream os) throws DocumentException
os - outputstreamDocumentExceptionpublic boolean isRotateContents()
public void setRotateContents(boolean rotateContents)
rotateContents - New value of property rotateContents.public PdfImportedPage getImportedPage(PdfReader reader, int pageNumber)
getImportedPage in class PdfWriterreader - the reader of the documentpageNumber - which page to getprotected PdfIndirectReference copyIndirect(PRIndirectReference in) throws IOException, BadPdfFormatException
IOExceptionBadPdfFormatExceptionprotected PdfDictionary copyDictionary(PdfDictionary in) throws IOException, BadPdfFormatException
IOExceptionBadPdfFormatExceptionprotected PdfStream copyStream(PRStream in) throws IOException, BadPdfFormatException
IOExceptionBadPdfFormatExceptionprotected PdfArray copyArray(PdfArray in) throws IOException, BadPdfFormatException
IOExceptionBadPdfFormatExceptionprotected PdfObject copyObject(PdfObject in) throws IOException, BadPdfFormatException
IOExceptionBadPdfFormatExceptionprotected int setFromIPage(PdfImportedPage iPage)
protected void setFromReader(PdfReader reader)
public void addPage(PdfImportedPage iPage) throws IOException, BadPdfFormatException
iPage - an imported pageIOException, - BadPdfFormatExceptionIOExceptionBadPdfFormatExceptionpublic void addPage(Rectangle rect, int rotation)
rect - The page dimensionrotation - The rotation angle in degreespublic void copyAcroForm(PdfReader reader) throws IOException, BadPdfFormatException
reader - The reader of the input file that is being copiedIOException, - BadPdfFormatExceptionIOExceptionBadPdfFormatExceptionprotected PdfDictionary getCatalog(PdfIndirectReference rootObj)
getCatalog in class PdfWriterpublic 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 interface Closeableclose in interface AutoCloseableclose 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.lowagie.text.pdf.PdfAnnotation)public void freeReader(PdfReader reader) throws IOException
PdfWriterfreeReader in class PdfWriterreader - the PdfReader to freeIOException - on errorpublic 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 © 2019. All rights reserved.