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, ENCRYPTION_AES_256_V3, ENCRYPTION_NONE, 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, isPdfA1, 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 - outputstreamdocument - documentDocumentExceptionpublic 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
in - the PRIndirectReference to translateIOException - on errorBadPdfFormatException - on error with the Pdf formatprotected PdfDictionary copyDictionary(PdfDictionary in) throws IOException, BadPdfFormatException
in - the PRDictionary to translateIOException - on errorBadPdfFormatException - on error with the Pdf formatprotected PdfStream copyStream(PRStream in) throws IOException, BadPdfFormatException
in - the PRStream to translateIOException - on errorBadPdfFormatException - on error with the Pdf formatprotected PdfArray copyArray(PdfArray in) throws IOException, BadPdfFormatException
in - the PdfArray to copyIOException - on errorBadPdfFormatExceptionprotected PdfObject copyObject(PdfObject in) throws IOException, BadPdfFormatException
in - the PdfObject to translateIOException - on errorBadPdfFormatException - on error with the Pdf formatprotected int setFromIPage(PdfImportedPage iPage)
iPage - the imported pageprotected void setFromReader(PdfReader reader)
reader - the PdfReaderpublic void addPage(PdfImportedPage iPage) throws IOException, BadPdfFormatException
iPage - an imported pageIOException - on errorBadPdfFormatException - on errorpublic 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 - on errorBadPdfFormatException - on errorprotected 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 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 © 2024. All rights reserved.