Class PdfStamperImp
- java.lang.Object
-
- com.gitlab.pdftk_java.com.lowagie.text.DocWriter
-
- com.gitlab.pdftk_java.com.lowagie.text.pdf.PdfWriter
-
- com.gitlab.pdftk_java.com.lowagie.text.pdf.PdfStamperImp
-
- All Implemented Interfaces:
DocListener,ElementListener,java.util.EventListener
public class PdfStamperImp extends PdfWriter
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classPdfStamperImp.PageStamp-
Nested classes/interfaces inherited from class com.gitlab.pdftk_java.com.lowagie.text.pdf.PdfWriter
PdfWriter.PdfBody, PdfWriter.PdfTrailer
-
-
Field Summary
Fields Modifier and Type Field Description protected AcroFieldsacroFieldsprotected booleanappend(package private) booleanclosedprotected booleanfieldsAddedprotected java.util.HashMapfieldTemplates(package private) RandomAccessFileOrArrayfileprotected booleanflatprotected booleanflatFreeTextprotected intinitialXrefSizeprotected IntHashtablemarked(package private) IntHashtablemyXrefprotected booleannamedAsNamesprotected int[]namePtrprotected java.util.ListnewBookmarksprotected PdfActionopenAction(package private) java.util.HashMappagesToContentInteger(page number) -> PageStampprotected java.util.HashSetpartialFlattening(package private) PdfReaderreader(package private) java.util.HashMapreaders2file(package private) java.util.HashMapreaders2intrefsprivate booleanrotateContentsHolds value of property rotateContents.protected intsigFlagsprotected booleanuseVpprotected intvp-
Fields inherited from class com.gitlab.pdftk_java.com.lowagie.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, compressStreams, crypto, currentPageNumber, currentPdfReaderInstance, defaultColorspace, DID_PRINT, DID_SAVE, 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_MASK, fileID, filterStreams, FitWindow, fontNumber, formXObjects, formXObjectsCounter, fullCompression, GENERATION_MAX, group, HEADER, HideMenubar, HideToolbar, HideWindowUI, imageDictionary, importedPages, INVALID_ENCRYPTION, NO_SPACE_CHAR_RATIO, NonFullScreenPageModeUseNone, NonFullScreenPageModeUseOC, NonFullScreenPageModeUseOutlines, NonFullScreenPageModeUseThumbs, OCGRadioGroup, OCProperties, PAGE_CLOSE, PAGE_OPEN, PageLayoutOneColumn, PageLayoutSinglePage, PageLayoutTwoColumnLeft, PageLayoutTwoColumnRight, PageLayoutTwoPageLeft, PageLayoutTwoPageRight, PageModeFullScreen, PageModeUseAttachments, PageModeUseNone, PageModeUseOC, PageModeUseOutlines, PageModeUseThumbs, pageReferences, patternColorspaceCMYK, patternColorspaceGRAY, patternColorspaceRGB, patternNumber, PDF_VERSION_1_2, PDF_VERSION_1_3, PDF_VERSION_1_4, PDF_VERSION_1_5, PDF_VERSION_1_6, PDF_VERSION_1_7, PDFX1A2001, PDFX32002, PDFXKEY_CMYK, PDFXKEY_COLOR, PDFXKEY_FONT, PDFXKEY_GSTATE, PDFXKEY_IMAGE, PDFXKEY_LAYER, PDFXKEY_RGB, PDFXNONE, prevxref, PrintScalingNone, 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, tagged, userunit, VERSION_1_0, VERSION_1_1, VERSION_1_2, VERSION_1_3, VERSION_1_4, VERSION_1_5, VERSION_1_6, VERSION_1_7, ViewerPreferencesMask, WILL_PRINT, WILL_SAVE, xmpMetadata
-
-
Constructor Summary
Constructors Constructor Description PdfStamperImp(PdfReader reader, java.io.OutputStream os, char pdfVersion, boolean append)Creates new PdfStamperImp.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAnnotation(PdfAnnotation annot)Adds aPdfAnnotationor aPdfFormFieldto the document.voidaddAnnotation(PdfAnnotation annot, int page)(package private) voidaddAnnotation(PdfAnnotation annot, PdfDictionary pageN)voidaddComments(FdfReader fdf)(package private) voidaddDocumentField(PdfIndirectReference ref)(package private) voidaddFieldResources()(package private) voidalterContents()(package private) voidalterResources(PdfStamperImp.PageStamp ps)(package private) voidapplyRotation(PdfDictionary pageN, ByteBuffer out)voidclose()Signals that theDocumentwas closed and that no otherElementswill be added.voidclose(java.util.HashMap moreInfo)(package private) voidcorrectAcroFieldPages(int page)(package private) voiddeleteOutlines()(package private) voideliminateAcroformObjects()(package private) voidexpandFields(PdfFormField field, java.util.ArrayList allAnnots)(package private) static voidfindAllObjects(PdfReader reader, PdfObject obj, IntHashtable hits)(package private) voidflatFields()private voidflatFreeTextFields()AcroFieldsgetAcroFields()protected intgetNewObjectNumber(PdfReader reader, int number, int generation)PdfContentBytegetOverContent(int pageNum)PdfIndirectReferencegetPageReference(int page)Gets a reference to a page existing or not.(package private) PdfStamperImp.PageStampgetPageStamp(int pageNum)(package private) RandomAccessFileOrArraygetReaderFile(PdfReader reader)PdfContentBytegetUnderContent(int pageNum)(package private) voidinsertPage(int pageNumber, Rectangle mediabox)(package private) booleanisAppend()Getter for property append.(package private) booleanisContentWritten()(package private) booleanisRotateContents()Getter for property rotateContents.protected voidmarkUsed(int num)protected voidmarkUsed(PdfObject obj)private voidoutlineTravel(PRIndirectReference outline)(package private) booleanpartialFormFlattening(java.lang.String name)voidregisterReader(PdfReader reader, boolean openFile)voidsetAdditionalAction(PdfName actionType, PdfAction action)Additional-actions defining the actions to be taken in response to various trigger events affecting the document as a whole.voidsetDuration(int seconds)Always throws anUnsupportedOperationException.(package private) voidsetDuration(int seconds, int page)Sets the display duration for the page (for presentations)voidsetFormFlattening(boolean flat)(package private) voidsetFreeTextFlattening(boolean flat)(package private) voidsetJavaScript()voidsetOpenAction(PdfAction action)When the document opens thisactionwill be invoked.voidsetOpenAction(java.lang.String name)When the document opens it will jump to the destination with this name.(package private) voidsetOutlines()(package private) voidsetOutlines(java.util.List outlines)voidsetPageAction(PdfName actionType, PdfAction action)Always throws anUnsupportedOperationException.(package private) voidsetPageAction(PdfName actionType, PdfAction action, int page)Sets the open and close page additional action.(package private) voidsetRotateContents(boolean rotateContents)Setter for property rotateContents.voidsetSigFlags(int f)Set the signature flags.voidsetTransition(PdfTransition transition)Always throws anUnsupportedOperationException.(package private) voidsetTransition(PdfTransition transition, int page)Sets the transition for the pagevoidsetViewerPreferences(int preferences)Sets the viewer preferences.(package private) voidsweepKids(PdfObject obj)voidunRegisterReader(PdfReader reader)-
Methods inherited from class com.gitlab.pdftk_java.com.lowagie.text.pdf.PdfWriter
add, addCalculationOrder, addDirectTemplateSimple, addJavaScript, addJavaScript, addJavaScript, addLocalDestinations, addOCGRadioGroup, addSharedObjectsToBody, addSimple, addSimple, addSimpleExtGState, addSimplePattern, addSimplePatternColorspace, addSimpleProperty, addSimpleShading, addSimpleShadingPattern, addToBody, addToBody, addToBody, addToBody, addToBody, addToBody, checkPDFXConformance, eliminateFontSubset, freeReader, getAcroForm, getCatalog, getColorspaceName, getCurrentDocumentSize, getCurrentPage, getCurrentPageNumber, getDefaultColorspace, getDirectContent, getDirectContentUnder, getEncryption, getExtraCatalog, getFileID, getGroup, getImageReference, getImportedPage, getIndirectReferenceNumber, getInfo, getOCProperties, getOs, getPageEvent, getPageNumber, getPdfDocument, getPdfIndirectReference, getPDFXConformance, getRoot, getRootOutline, getRunDirection, getSpaceCharRatio, getStructureTreeRoot, getUserunit, getVerticalPosition, isFullCompression, isPaused, isStrictImageSequence, isTagged, open, propertyExists, registerLayer, releaseTemplate, reorderPages, resetContent, setBoxSize, setCropBoxSize, setDefaultColorspace, setEncryption, setEncryption, setFileID, setFullCompression, setGroup, setLinearPageMode, setOutputIntents, setOutputIntents, setPageEmpty, setPageEvent, setPageLabels, setPdfVersion, setPDFXConformance, setRunDirection, setSpaceCharRatio, setStrictImageSequence, setTagged, setUserunit, setXmpMetadata
-
Methods inherited from class com.gitlab.pdftk_java.com.lowagie.text.DocWriter
add, addTabs, clearTextWrap, flush, getISOBytes, hasMarkupAttributes, isCloseStream, newPage, pause, resetFooter, resetHeader, resetPageCount, resume, setCloseStream, setMarginMirroring, setMargins, setPageCount, setPageSize, write, write, writeEnd, writeEnd, writeMarkupAttributes, writeStart
-
-
-
-
Field Detail
-
readers2intrefs
java.util.HashMap readers2intrefs
-
readers2file
java.util.HashMap readers2file
-
file
RandomAccessFileOrArray file
-
reader
PdfReader reader
-
myXref
IntHashtable myXref
-
pagesToContent
java.util.HashMap pagesToContent
Integer(page number) -> PageStamp
-
closed
boolean closed
-
rotateContents
private boolean rotateContents
Holds value of property rotateContents.
-
acroFields
protected AcroFields acroFields
-
flat
protected boolean flat
-
flatFreeText
protected boolean flatFreeText
-
namePtr
protected int[] namePtr
-
namedAsNames
protected boolean namedAsNames
-
newBookmarks
protected java.util.List newBookmarks
-
partialFlattening
protected java.util.HashSet partialFlattening
-
useVp
protected boolean useVp
-
vp
protected int vp
-
fieldTemplates
protected java.util.HashMap fieldTemplates
-
fieldsAdded
protected boolean fieldsAdded
-
sigFlags
protected int sigFlags
-
append
protected boolean append
-
marked
protected IntHashtable marked
-
initialXrefSize
protected int initialXrefSize
-
openAction
protected PdfAction openAction
-
-
Constructor Detail
-
PdfStamperImp
public PdfStamperImp(PdfReader reader, java.io.OutputStream os, char pdfVersion, boolean append) throws DocumentException, java.io.IOException
Creates new PdfStamperImp.- Parameters:
reader- the read PDFos- the output destinationpdfVersion- the new pdf version or '\0' to keep the same version as the original documentappend-- Throws:
DocumentException- on errorjava.io.IOException
-
-
Method Detail
-
close
public void close(java.util.HashMap moreInfo) throws DocumentException, java.io.IOException- Throws:
DocumentExceptionjava.io.IOException
-
close
public void close()
Description copied from class:PdfWriterSignals that theDocumentwas closed and that no otherElementswill be added.The pages-tree is built and written to the outputstream. A Catalog is constructed, as well as an Info-object, the referencetable is composed and everything is written to the outputstream embedded in a Trailer.
- Specified by:
closein interfaceDocListener- Overrides:
closein classPdfWriter
-
applyRotation
void applyRotation(PdfDictionary pageN, ByteBuffer out)
-
alterContents
void alterContents() throws java.io.IOException- Throws:
java.io.IOException
-
alterResources
void alterResources(PdfStamperImp.PageStamp ps)
-
getNewObjectNumber
protected int getNewObjectNumber(PdfReader reader, int number, int generation)
- Overrides:
getNewObjectNumberin classPdfWriter
-
getReaderFile
RandomAccessFileOrArray getReaderFile(PdfReader reader) throws java.io.IOException
- Overrides:
getReaderFilein classPdfWriter- Throws:
java.io.IOException
-
registerReader
public void registerReader(PdfReader reader, boolean openFile) throws java.io.IOException
- Parameters:
reader-openFile-- Throws:
java.io.IOException
-
unRegisterReader
public void unRegisterReader(PdfReader reader)
- Parameters:
reader-
-
findAllObjects
static void findAllObjects(PdfReader reader, PdfObject obj, IntHashtable hits)
-
addComments
public void addComments(FdfReader fdf) throws java.io.IOException
- Parameters:
fdf-- Throws:
java.io.IOException
-
getPageStamp
PdfStamperImp.PageStamp getPageStamp(int pageNum)
-
getUnderContent
public PdfContentByte getUnderContent(int pageNum)
-
getOverContent
public PdfContentByte getOverContent(int pageNum)
-
correctAcroFieldPages
void correctAcroFieldPages(int page)
-
insertPage
void insertPage(int pageNumber, Rectangle mediabox)
-
isRotateContents
boolean isRotateContents()
Getter for property rotateContents.- Returns:
- Value of property rotateContents.
-
setRotateContents
void setRotateContents(boolean rotateContents)
Setter for property rotateContents.- Parameters:
rotateContents- New value of property rotateContents.
-
isContentWritten
boolean isContentWritten()
-
getAcroFields
public AcroFields getAcroFields()
-
setFormFlattening
public void setFormFlattening(boolean flat)
-
setFreeTextFlattening
void setFreeTextFlattening(boolean flat)
-
partialFormFlattening
boolean partialFormFlattening(java.lang.String name)
-
flatFields
void flatFields()
-
eliminateAcroformObjects
void eliminateAcroformObjects()
-
sweepKids
void sweepKids(PdfObject obj)
-
flatFreeTextFields
private void flatFreeTextFields()
-
getPageReference
public PdfIndirectReference getPageReference(int page)
Description copied from class:PdfWriterGets a reference to a page existing or not. If the page does not exist yet the reference will be created in advance. If on closing the document, a page number greater than the total number of pages was requested, an exception is thrown.- Overrides:
getPageReferencein classPdfWriter- Parameters:
page- the page number. The first page is 1- Returns:
- the reference to the page
- See Also:
PdfWriter.getPageReference(int)
-
addAnnotation
public void addAnnotation(PdfAnnotation annot)
Description copied from class:PdfWriterAdds aPdfAnnotationor aPdfFormFieldto the document. Only the top parent of aPdfFormFieldneeds to be added.- Overrides:
addAnnotationin classPdfWriter- Parameters:
annot- thePdfAnnotationor thePdfFormFieldto add- See Also:
PdfWriter.addAnnotation(com.gitlab.pdftk_java.com.lowagie.text.pdf.PdfAnnotation)
-
addDocumentField
void addDocumentField(PdfIndirectReference ref)
-
addFieldResources
void addFieldResources()
-
expandFields
void expandFields(PdfFormField field, java.util.ArrayList allAnnots)
-
addAnnotation
void addAnnotation(PdfAnnotation annot, PdfDictionary pageN)
-
addAnnotation
public void addAnnotation(PdfAnnotation annot, int page)
- Overrides:
addAnnotationin classPdfWriter
-
outlineTravel
private void outlineTravel(PRIndirectReference outline)
-
deleteOutlines
void deleteOutlines()
-
setJavaScript
void setJavaScript() throws java.io.IOException- Throws:
java.io.IOException
-
setOutlines
void setOutlines() throws java.io.IOException- Throws:
java.io.IOException
-
setOutlines
void setOutlines(java.util.List outlines)
-
setViewerPreferences
public void setViewerPreferences(int preferences)
Sets the viewer preferences.- Overrides:
setViewerPreferencesin classPdfWriter- Parameters:
preferences- the viewer preferences- See Also:
PdfWriter.setViewerPreferences(int)
-
setSigFlags
public void setSigFlags(int f)
Set the signature flags.- Overrides:
setSigFlagsin classPdfWriter- Parameters:
f- the flags. This flags are ORed with current ones
-
setPageAction
public void setPageAction(PdfName actionType, PdfAction action) throws PdfException
Always throws anUnsupportedOperationException.- Overrides:
setPageActionin classPdfWriter- Parameters:
actionType- ignoreaction- ignore- Throws:
PdfException- ignore- See Also:
PdfStamper.setPageAction(PdfName, PdfAction, int)
-
setPageAction
void setPageAction(PdfName actionType, PdfAction action, int page) throws PdfException
Sets the open and close page additional action.- Parameters:
actionType- the action type. It can bePdfWriter.PAGE_OPENorPdfWriter.PAGE_CLOSEaction- the action to performpage- the page where the action will be applied. The first page is 1- Throws:
PdfException- if the action type is invalid
-
setDuration
public void setDuration(int seconds)
Always throws anUnsupportedOperationException.- Overrides:
setDurationin classPdfWriter- Parameters:
seconds- ignore
-
setTransition
public void setTransition(PdfTransition transition)
Always throws anUnsupportedOperationException.- Overrides:
setTransitionin classPdfWriter- Parameters:
transition- ignore
-
setDuration
void setDuration(int seconds, int page)Sets the display duration for the page (for presentations)- Parameters:
seconds- the number of seconds to display the page. A negative value removes the entrypage- the page where the duration will be applied. The first page is 1
-
setTransition
void setTransition(PdfTransition transition, int page)
Sets the transition for the page- Parameters:
transition- the transition object. Anullremoves the transitionpage- the page where the transition will be applied. The first page is 1
-
markUsed
protected void markUsed(PdfObject obj)
-
markUsed
protected void markUsed(int num)
-
isAppend
boolean isAppend()
Getter for property append.- Returns:
- Value of property append.
-
setAdditionalAction
public void setAdditionalAction(PdfName actionType, PdfAction action) throws PdfException
Additional-actions defining the actions to be taken in response to various trigger events affecting the document as a whole. The actions types allowed are:DOCUMENT_CLOSE,WILL_SAVE,DID_SAVE,WILL_PRINTandDID_PRINT.- Overrides:
setAdditionalActionin classPdfWriter- Parameters:
actionType- the action typeaction- the action to execute in response to the trigger- Throws:
PdfException- on invalid action type
-
setOpenAction
public void setOpenAction(PdfAction action)
Description copied from class:PdfWriterWhen the document opens thisactionwill be invoked.- Overrides:
setOpenActionin classPdfWriter- Parameters:
action- the action to be invoked- See Also:
PdfWriter.setOpenAction(com.gitlab.pdftk_java.com.lowagie.text.pdf.PdfAction)
-
setOpenAction
public void setOpenAction(java.lang.String name)
Description copied from class:PdfWriterWhen the document opens it will jump to the destination with this name.- Overrides:
setOpenActionin classPdfWriter- Parameters:
name- the name of the destination to jump to- See Also:
PdfWriter.setOpenAction(java.lang.String)
-
-