Class PdfWriter
- java.lang.Object
-
- com.gitlab.pdftk_java.com.lowagie.text.DocWriter
-
- com.gitlab.pdftk_java.com.lowagie.text.pdf.PdfWriter
-
- All Implemented Interfaces:
DocListener,ElementListener,EventListener
- Direct Known Subclasses:
PdfCopy,PdfStamperImp
public class PdfWriter extends DocWriter
ADocWriterclass for PDF.When this
PdfWriteris added to a certainPdfDocument, the PDF representation of every Element added to this Document will be written to the outputstream.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPdfWriter.PdfBodyThis class generates the structure of a PDF document.
-
Field Summary
Fields Modifier and Type Field Description static intALLOW_ASSEMBLYThe operation permitted when the document is opened with the user passwordstatic intALLOW_COPYThe operation permitted when the document is opened with the user passwordstatic intALLOW_DEGRADED_PRINTINGThe operation permitted when the document is opened with the user passwordstatic intALLOW_FILL_INThe operation permitted when the document is opened with the user passwordstatic intALLOW_MODIFY_ANNOTATIONSThe operation permitted when the document is opened with the user passwordstatic intALLOW_MODIFY_CONTENTSThe operation permitted when the document is opened with the user passwordstatic intALLOW_PRINTINGThe operation permitted when the document is opened with the user passwordstatic intALLOW_SCREENREADERSThe operation permitted when the document is opened with the user passwordstatic intAllowAssemblyThe operation permitted when the document is opened with the user passwordstatic intAllowCopyThe operation permitted when the document is opened with the user passwordstatic intAllowDegradedPrintingThe operation permitted when the document is opened with the user passwordstatic intAllowFillInThe operation permitted when the document is opened with the user passwordstatic intAllowModifyAnnotationsThe operation permitted when the document is opened with the user passwordstatic intAllowModifyContentsThe operation permitted when the document is opened with the user passwordstatic intAllowPrintingThe operation permitted when the document is opened with the user passwordstatic intAllowScreenReadersThe operation permitted when the document is opened with the user passwordprotected PdfWriter.PdfBodybodybody of the PDF documentstatic intCenterWindowA viewer preferenceprotected intcolorNumberThe color number counter for the colors in the document.booleancompressStreamsprotected PdfEncryptioncryptoprotected intcurrentPageNumberprotected com.gitlab.pdftk_java.com.lowagie.text.pdf.PdfReaderInstancecurrentPdfReaderInstanceprotected PdfDictionarydefaultColorspacestatic PdfNameDID_PRINTaction valuestatic PdfNameDID_SAVEaction valuestatic intDirectionL2RA viewer preferencestatic intDirectionR2LA viewer preferencestatic intDisplayDocTitleA viewer preferencestatic intDO_NOT_ENCRYPT_METADATAAdd this to the mode to keep the metadata in clear textstatic PdfNameDOCUMENT_CLOSEaction valueprotected HashMapdocumentColorsThe colors of this documentprotected HashMapdocumentExtGStateprotected HashMapdocumentFontsThe fonts of this documentprotected HashSetdocumentOCGprotected ArrayListdocumentOCGorderprotected HashMapdocumentPatternsThe patterns of this documentprotected HashMapdocumentPropertiesprotected HashMapdocumentShadingPatternsprotected HashMapdocumentShadingsprotected HashMapdocumentSpotPatternsstatic intEMBEDDED_FILES_ONLYAdd this to the mode to keep encrypt only the embedded files.static intENCRYPTION_AES_128Type of encryptionprotected PdfObjectfileIDbooleanfilterStreamsstatic intFitWindowA viewer preferenceprotected intfontNumberThe font number counter for the fonts in the document.protected HashMapformXObjectsThe form XObjects in this document.protected intformXObjectsCounterThe name counter for the form XObjects name.protected booleanfullCompressionHolds value of property fullCompression.static intGENERATION_MAXThe highest generation number possible.protected PdfDictionarygroupprotected byte[]HEADERthis is the header of a PDF documentstatic intHideMenubarA viewer preferencestatic intHideToolbarA viewer preferencestatic intHideWindowUIA viewer preferenceprotected PdfDictionaryimageDictionaryDictionary, containing all the images of the PDF documentprotected HashMapimportedPagesstatic intINVALID_ENCRYPTIONType of encryptionstatic floatNO_SPACE_CHAR_RATIODisable the inter-character spacing.static intNonFullScreenPageModeUseNoneA viewer preferencestatic intNonFullScreenPageModeUseOCA viewer preferencestatic intNonFullScreenPageModeUseOutlinesA viewer preferencestatic intNonFullScreenPageModeUseThumbsA viewer preferenceprotected PdfArrayOCGRadioGroupprotected PdfOCPropertiesOCPropertiesstatic PdfNamePAGE_CLOSEaction valuestatic PdfNamePAGE_OPENaction valuestatic intPageLayoutOneColumnA viewer preferencestatic intPageLayoutSinglePageA viewer preferencestatic intPageLayoutTwoColumnLeftA viewer preferencestatic intPageLayoutTwoColumnRightA viewer preferencestatic intPageLayoutTwoPageLeftA viewer preferencestatic intPageLayoutTwoPageRightA viewer preferencestatic intPageModeFullScreenA viewer preferencestatic intPageModeUseAttachmentsA viewer preferencestatic intPageModeUseNoneA viewer preferencestatic intPageModeUseOCA viewer preferencestatic intPageModeUseOutlinesA viewer preferencestatic intPageModeUseThumbsA viewer preferenceprotected ArrayListpageReferencesThe PdfIndirectReference to the pages.protected com.gitlab.pdftk_java.com.lowagie.text.pdf.ColorDetailspatternColorspaceCMYKprotected com.gitlab.pdftk_java.com.lowagie.text.pdf.ColorDetailspatternColorspaceGRAYprotected com.gitlab.pdftk_java.com.lowagie.text.pdf.ColorDetailspatternColorspaceRGBprotected intpatternNumberThe patten number counter for the colors in the document.static PdfNamePDF_VERSION_1_2possible PDF version (catalog)static PdfNamePDF_VERSION_1_3possible PDF version (catalog)static PdfNamePDF_VERSION_1_4possible PDF version (catalog)static PdfNamePDF_VERSION_1_5possible PDF version (catalog)static PdfNamePDF_VERSION_1_6possible PDF version (catalog)static PdfNamePDF_VERSION_1_7possible PDF version (catalog)static intPDFX1A2001PDF/X valuestatic intPDFX32002PDF/X valuestatic intPDFXNONEPDF/X valueprotected intprevxrefstatic intPrintScalingNoneA viewer preferencestatic intRUN_DIRECTION_DEFAULTUse the default run direction.static intRUN_DIRECTION_LTRUse bidirectional reordering with left-to-right preferential run direction.static intRUN_DIRECTION_NO_BIDIDo not use bidirectional reordering.static intRUN_DIRECTION_RTLUse bidirectional reordering with right-to-left preferential run direction.protected intrunDirectionstatic intSIGNATURE_APPEND_ONLYsignature valuestatic intSIGNATURE_EXISTSsignature valuestatic floatSPACE_CHAR_RATIO_DEFAULTThe default space-char ratio.static intSTANDARD_ENCRYPTION_128Type of encryptionstatic intSTANDARD_ENCRYPTION_40Type of encryptionstatic booleanSTRENGTH128BITSType of encryptionstatic booleanSTRENGTH40BITSType of encryptionprotected PdfStructureTreeRootstructureTreeRootprotected booleantaggedprotected floatuserunitstatic charVERSION_1_0possible PDF versionstatic charVERSION_1_1possible PDF versionstatic charVERSION_1_2possible PDF versionstatic charVERSION_1_3possible PDF versionstatic charVERSION_1_4possible PDF versionstatic charVERSION_1_5possible PDF versionstatic charVERSION_1_6possible PDF versionstatic charVERSION_1_7possible PDF versionstatic PdfNameWILL_PRINTaction valuestatic PdfNameWILL_SAVEaction valueprotected byte[]xmpMetadataXMP Metadata for the document.
-
Constructor Summary
Constructors Modifier Constructor Description protectedPdfWriter()protectedPdfWriter(OutputStream os)Constructs aPdfWriter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAnnotation(PdfAnnotation annot)Adds aPdfAnnotationor aPdfFormFieldto the document.voidaddCalculationOrder(PdfFormField annot)Adds thePdfAnnotationto the calculation order array.voidaddJavaScript(PdfAction js)Adds a JavaScript action at the document level.voidaddJavaScript(String code)Adds a JavaScript action at the document level.voidaddJavaScript(String code, boolean unicode)Adds a JavaScript action at the document level.voidaddOCGRadioGroup(ArrayList group)Sets a collection of optional content groups whose states are intended to follow a "radio button" paradigm.protected voidaddSharedObjectsToBody()PdfIndirectObjectaddToBody(PdfObject object)Adds an object to the PDF body.PdfIndirectObjectaddToBody(PdfObject object, boolean inObjStm)Adds an object to the PDF body.PdfIndirectObjectaddToBody(PdfObject object, int refNumber)Adds an object to the PDF body.PdfIndirectObjectaddToBody(PdfObject object, int refNumber, boolean inObjStm)Adds an object to the PDF body.PdfIndirectObjectaddToBody(PdfObject object, PdfIndirectReference ref)Adds an object to the PDF body.PdfIndirectObjectaddToBody(PdfObject object, PdfIndirectReference ref, boolean inObjStm)Adds an object to the PDF body.voidclose()Signals that theDocumentwas closed and that no otherElementswill be added.voidfreeReader(PdfReader reader)Writes the reader to the document and frees the memory used by it.PdfAcroFormgetAcroForm()Gets the AcroForm object.protected PdfDictionarygetCatalog(PdfIndirectReference rootObj)intgetCurrentDocumentSize()Gets the current document size.PdfDictionarygetDefaultColorspace()Gets the default colorspaces.PdfContentBytegetDirectContent()Gets the direct content for this document.PdfContentBytegetDirectContentUnder()Gets the direct content under for this document.PdfDictionarygetExtraCatalog()Sets extra keys to the catalog.PdfObjectgetFileID()Get the pre-set PDF ID; sstewardPdfDictionarygetGroup()Getter for property group.PdfImportedPagegetImportedPage(PdfReader reader, int pageNumber)Gets a page from other PDF document.PdfDictionarygetInfo()Gets the info dictionary for changing.protected intgetNewObjectNumber(PdfReader reader, int number, int generation)PdfOCPropertiesgetOCProperties()Gets the Optional Content Properties Dictionary.OutputStreamCountergetOs()Returns the outputStreamCounter.PdfPageEventgetPageEvent()Gets thePdfPageEventfor this document ornullif none is set.intgetPageNumber()Gets the current pagenumber of this document.PdfIndirectReferencegetPageReference(int page)Gets a reference to a page existing or not.com.gitlab.pdftk_java.com.lowagie.text.pdf.PdfDocumentgetPdfDocument()Gets thePdfDocumentassociated with this writer.PdfIndirectReferencegetPdfIndirectReference()Gets aPdfIndirectReferencefor an object that will be created in the future.intgetPDFXConformance()Gets the PDFX conformance level.PdfPagesgetRoot()PdfOutlinegetRootOutline()Gets the root outline.intgetRunDirection()Gets the run direction.floatgetSpaceCharRatio()Gets the space/character extra spacing ratio for fully justified text.PdfStructureTreeRootgetStructureTreeRoot()Gets the structure tree root.floatgetUserunit()A UserUnit is a value that defines the default user space unit.floatgetVerticalPosition(boolean ensureNewLine)Gets the current vertical page position.booleanisFullCompression()Gets the 1.5 compression status.booleanisStrictImageSequence()Getter for property strictImageSequence.booleanisTagged()Check if the document is marked for tagging.voidopen()Signals that theDocumenthas been opened and thatElementscan be added.voidreleaseTemplate(PdfTemplate tp)Releases the memory used by a template by writing it to the output.intreorderPages(int[] order)Reorder the pages in the document.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.voidsetBoxSize(String boxName, Rectangle size)Sets the page box sizes.voidsetCropBoxSize(Rectangle crop)Sets the crop box.voidsetDefaultColorspace(PdfName key, PdfObject cs)Sets the default colorspace that will be applied to all the document.voidsetDuration(int seconds)Sets the display duration for the page (for presentations)voidsetEncryption(byte[] userPassword, byte[] ownerPassword, int permissions, boolean strength128Bits)Sets the encryption options for this document.voidsetEncryption(byte[] userPassword, byte[] ownerPassword, int permissions, int encryptionType)voidsetFileID(PdfObject fileID)Set the PDF ID; sstewardvoidsetFullCompression()Sets the document's compression to the new 1.5 mode with object streams and xref streams.voidsetGroup(PdfDictionary group)Setter for property group.voidsetLinearPageMode()Sets the document in a suitable way to do page reordering.voidsetOpenAction(PdfAction action)When the document opens thisactionwill be invoked.voidsetOpenAction(String name)When the document opens it will jump to the destination with this name.booleansetOutputIntents(PdfReader reader, boolean checkExistence)Copies the output intent dictionary from other document to this one.voidsetOutputIntents(String outputConditionIdentifier, String outputCondition, String registryName, String info, byte[] destOutputProfile)Sets the values of the output intent dictionary.voidsetPageAction(PdfName actionType, PdfAction action)Sets the open and close page additional action.voidsetPageEmpty(boolean pageEmpty)If you use setPageEmpty(false), invoking newPage() after a blank page will add a newPage.voidsetPageEvent(PdfPageEvent pageEvent)Sets thePdfPageEventfor this document.voidsetPageLabels(PdfPageLabels pageLabels)Sets the page labelsvoidsetPdfVersion(char version)Sets the PDF version.voidsetPDFXConformance(int pdfxConformance)Sets the PDFX conformance level.voidsetRunDirection(int runDirection)Sets the run direction.voidsetSigFlags(int f)Set the signature flags.voidsetSpaceCharRatio(float spaceCharRatio)Sets the ratio between the extra word spacing and the extra character spacing when the text is fully justified.voidsetStrictImageSequence(boolean strictImageSequence)Sets the image sequence to follow the text in strict order.voidsetTagged()Mark this document for tagging.voidsetTransition(PdfTransition transition)Sets the transition for the pagevoidsetUserunit(float userunit)A UserUnit is a value that defines the default user space unit.voidsetViewerPreferences(int preferences)Sets the viewer preferences by ORing some constants.voidsetXmpMetadata(byte[] xmpMetadata)Sets XMP Metadata.-
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
-
GENERATION_MAX
public static final int GENERATION_MAX
The highest generation number possible.- Since:
- iText 2.1.6
- See Also:
- Constant Field Values
-
PageLayoutSinglePage
public static final int PageLayoutSinglePage
A viewer preference- See Also:
- Constant Field Values
-
PageLayoutOneColumn
public static final int PageLayoutOneColumn
A viewer preference- See Also:
- Constant Field Values
-
PageLayoutTwoColumnLeft
public static final int PageLayoutTwoColumnLeft
A viewer preference- See Also:
- Constant Field Values
-
PageLayoutTwoColumnRight
public static final int PageLayoutTwoColumnRight
A viewer preference- See Also:
- Constant Field Values
-
PageLayoutTwoPageLeft
public static final int PageLayoutTwoPageLeft
A viewer preference- See Also:
- Constant Field Values
-
PageLayoutTwoPageRight
public static final int PageLayoutTwoPageRight
A viewer preference- See Also:
- Constant Field Values
-
PageModeUseNone
public static final int PageModeUseNone
A viewer preference- See Also:
- Constant Field Values
-
PageModeUseOutlines
public static final int PageModeUseOutlines
A viewer preference- See Also:
- Constant Field Values
-
PageModeUseThumbs
public static final int PageModeUseThumbs
A viewer preference- See Also:
- Constant Field Values
-
PageModeFullScreen
public static final int PageModeFullScreen
A viewer preference- See Also:
- Constant Field Values
-
PageModeUseOC
public static final int PageModeUseOC
A viewer preference- See Also:
- Constant Field Values
-
PageModeUseAttachments
public static final int PageModeUseAttachments
A viewer preference- See Also:
- Constant Field Values
-
HideToolbar
public static final int HideToolbar
A viewer preference- See Also:
- Constant Field Values
-
HideMenubar
public static final int HideMenubar
A viewer preference- See Also:
- Constant Field Values
-
HideWindowUI
public static final int HideWindowUI
A viewer preference- See Also:
- Constant Field Values
-
FitWindow
public static final int FitWindow
A viewer preference- See Also:
- Constant Field Values
-
CenterWindow
public static final int CenterWindow
A viewer preference- See Also:
- Constant Field Values
-
DisplayDocTitle
public static final int DisplayDocTitle
A viewer preference- See Also:
- Constant Field Values
-
NonFullScreenPageModeUseNone
public static final int NonFullScreenPageModeUseNone
A viewer preference- See Also:
- Constant Field Values
-
NonFullScreenPageModeUseOutlines
public static final int NonFullScreenPageModeUseOutlines
A viewer preference- See Also:
- Constant Field Values
-
NonFullScreenPageModeUseThumbs
public static final int NonFullScreenPageModeUseThumbs
A viewer preference- See Also:
- Constant Field Values
-
NonFullScreenPageModeUseOC
public static final int NonFullScreenPageModeUseOC
A viewer preference- See Also:
- Constant Field Values
-
DirectionL2R
public static final int DirectionL2R
A viewer preference- See Also:
- Constant Field Values
-
DirectionR2L
public static final int DirectionR2L
A viewer preference- See Also:
- Constant Field Values
-
PrintScalingNone
public static final int PrintScalingNone
A viewer preference- See Also:
- Constant Field Values
-
AllowPrinting
public static final int AllowPrinting
The operation permitted when the document is opened with the user password- See Also:
- Constant Field Values
-
AllowModifyContents
public static final int AllowModifyContents
The operation permitted when the document is opened with the user password- See Also:
- Constant Field Values
-
AllowCopy
public static final int AllowCopy
The operation permitted when the document is opened with the user password- See Also:
- Constant Field Values
-
AllowModifyAnnotations
public static final int AllowModifyAnnotations
The operation permitted when the document is opened with the user password- See Also:
- Constant Field Values
-
AllowFillIn
public static final int AllowFillIn
The operation permitted when the document is opened with the user password- See Also:
- Constant Field Values
-
AllowScreenReaders
public static final int AllowScreenReaders
The operation permitted when the document is opened with the user password- See Also:
- Constant Field Values
-
AllowAssembly
public static final int AllowAssembly
The operation permitted when the document is opened with the user password- See Also:
- Constant Field Values
-
AllowDegradedPrinting
public static final int AllowDegradedPrinting
The operation permitted when the document is opened with the user password- See Also:
- Constant Field Values
-
STRENGTH40BITS
public static final boolean STRENGTH40BITS
Type of encryption- See Also:
- Constant Field Values
-
STRENGTH128BITS
public static final boolean STRENGTH128BITS
Type of encryption- See Also:
- Constant Field Values
-
DOCUMENT_CLOSE
public static final PdfName DOCUMENT_CLOSE
action value
-
WILL_SAVE
public static final PdfName WILL_SAVE
action value
-
DID_SAVE
public static final PdfName DID_SAVE
action value
-
WILL_PRINT
public static final PdfName WILL_PRINT
action value
-
DID_PRINT
public static final PdfName DID_PRINT
action value
-
PAGE_OPEN
public static final PdfName PAGE_OPEN
action value
-
PAGE_CLOSE
public static final PdfName PAGE_CLOSE
action value
-
SIGNATURE_EXISTS
public static final int SIGNATURE_EXISTS
signature value- See Also:
- Constant Field Values
-
SIGNATURE_APPEND_ONLY
public static final int SIGNATURE_APPEND_ONLY
signature value- See Also:
- Constant Field Values
-
VERSION_1_0
public static final char VERSION_1_0
possible PDF version- See Also:
- Constant Field Values
-
VERSION_1_1
public static final char VERSION_1_1
possible PDF version- See Also:
- Constant Field Values
-
VERSION_1_2
public static final char VERSION_1_2
possible PDF version- See Also:
- Constant Field Values
-
VERSION_1_3
public static final char VERSION_1_3
possible PDF version- See Also:
- Constant Field Values
-
VERSION_1_4
public static final char VERSION_1_4
possible PDF version- See Also:
- Constant Field Values
-
VERSION_1_5
public static final char VERSION_1_5
possible PDF version- See Also:
- Constant Field Values
-
VERSION_1_6
public static final char VERSION_1_6
possible PDF version- See Also:
- Constant Field Values
-
VERSION_1_7
public static final char VERSION_1_7
possible PDF version- See Also:
- Constant Field Values
-
PDF_VERSION_1_2
public static final PdfName PDF_VERSION_1_2
possible PDF version (catalog)
-
PDF_VERSION_1_3
public static final PdfName PDF_VERSION_1_3
possible PDF version (catalog)
-
PDF_VERSION_1_4
public static final PdfName PDF_VERSION_1_4
possible PDF version (catalog)
-
PDF_VERSION_1_5
public static final PdfName PDF_VERSION_1_5
possible PDF version (catalog)
-
PDF_VERSION_1_6
public static final PdfName PDF_VERSION_1_6
possible PDF version (catalog)
-
PDF_VERSION_1_7
public static final PdfName PDF_VERSION_1_7
possible PDF version (catalog)
-
HEADER
protected byte[] HEADER
this is the header of a PDF document
-
prevxref
protected int prevxref
-
imageDictionary
protected PdfDictionary imageDictionary
Dictionary, containing all the images of the PDF document
-
formXObjects
protected HashMap formXObjects
The form XObjects in this document. The key is the xref and the value is Object[]{PdfName, template}.
-
formXObjectsCounter
protected int formXObjectsCounter
The name counter for the form XObjects name.
-
fontNumber
protected int fontNumber
The font number counter for the fonts in the document.
-
colorNumber
protected int colorNumber
The color number counter for the colors in the document.
-
patternNumber
protected int patternNumber
The patten number counter for the colors in the document.
-
documentFonts
protected HashMap documentFonts
The fonts of this document
-
documentColors
protected HashMap documentColors
The colors of this document
-
documentPatterns
protected HashMap documentPatterns
The patterns of this document
-
documentShadings
protected HashMap documentShadings
-
documentShadingPatterns
protected HashMap documentShadingPatterns
-
patternColorspaceRGB
protected com.gitlab.pdftk_java.com.lowagie.text.pdf.ColorDetails patternColorspaceRGB
-
patternColorspaceGRAY
protected com.gitlab.pdftk_java.com.lowagie.text.pdf.ColorDetails patternColorspaceGRAY
-
patternColorspaceCMYK
protected com.gitlab.pdftk_java.com.lowagie.text.pdf.ColorDetails patternColorspaceCMYK
-
documentSpotPatterns
protected HashMap documentSpotPatterns
-
documentExtGState
protected HashMap documentExtGState
-
documentProperties
protected HashMap documentProperties
-
documentOCG
protected HashSet documentOCG
-
documentOCGorder
protected ArrayList documentOCGorder
-
OCProperties
protected PdfOCProperties OCProperties
-
OCGRadioGroup
protected PdfArray OCGRadioGroup
-
defaultColorspace
protected PdfDictionary defaultColorspace
-
userunit
protected float userunit
-
PDFXNONE
public static final int PDFXNONE
PDF/X value- See Also:
- Constant Field Values
-
PDFX1A2001
public static final int PDFX1A2001
PDF/X value- See Also:
- Constant Field Values
-
PDFX32002
public static final int PDFX32002
PDF/X value- See Also:
- Constant Field Values
-
body
protected PdfWriter.PdfBody body
body of the PDF document
-
importedPages
protected HashMap importedPages
-
currentPdfReaderInstance
protected com.gitlab.pdftk_java.com.lowagie.text.pdf.PdfReaderInstance currentPdfReaderInstance
-
pageReferences
protected ArrayList pageReferences
The PdfIndirectReference to the pages.
-
currentPageNumber
protected int currentPageNumber
-
group
protected PdfDictionary group
-
SPACE_CHAR_RATIO_DEFAULT
public static final float SPACE_CHAR_RATIO_DEFAULT
The default space-char ratio.- See Also:
- Constant Field Values
-
NO_SPACE_CHAR_RATIO
public static final float NO_SPACE_CHAR_RATIO
Disable the inter-character spacing.- See Also:
- Constant Field Values
-
RUN_DIRECTION_DEFAULT
public static final int RUN_DIRECTION_DEFAULT
Use the default run direction.- See Also:
- Constant Field Values
-
RUN_DIRECTION_NO_BIDI
public static final int RUN_DIRECTION_NO_BIDI
Do not use bidirectional reordering.- See Also:
- Constant Field Values
-
RUN_DIRECTION_LTR
public static final int RUN_DIRECTION_LTR
Use bidirectional reordering with left-to-right preferential run direction.- See Also:
- Constant Field Values
-
RUN_DIRECTION_RTL
public static final int RUN_DIRECTION_RTL
Use bidirectional reordering with right-to-left preferential run direction.- See Also:
- Constant Field Values
-
runDirection
protected int runDirection
-
filterStreams
public boolean filterStreams
-
compressStreams
public boolean compressStreams
-
xmpMetadata
protected byte[] xmpMetadata
XMP Metadata for the document.
-
fullCompression
protected boolean fullCompression
Holds value of property fullCompression.
-
tagged
protected boolean tagged
-
fileID
protected PdfObject fileID
-
structureTreeRoot
protected PdfStructureTreeRoot structureTreeRoot
-
INVALID_ENCRYPTION
public static final int INVALID_ENCRYPTION
Type of encryption- See Also:
- Constant Field Values
-
STANDARD_ENCRYPTION_40
public static final int STANDARD_ENCRYPTION_40
Type of encryption- See Also:
- Constant Field Values
-
STANDARD_ENCRYPTION_128
public static final int STANDARD_ENCRYPTION_128
Type of encryption- See Also:
- Constant Field Values
-
ENCRYPTION_AES_128
public static final int ENCRYPTION_AES_128
Type of encryption- See Also:
- Constant Field Values
-
DO_NOT_ENCRYPT_METADATA
public static final int DO_NOT_ENCRYPT_METADATA
Add this to the mode to keep the metadata in clear text- See Also:
- Constant Field Values
-
EMBEDDED_FILES_ONLY
public static final int EMBEDDED_FILES_ONLY
Add this to the mode to keep encrypt only the embedded files.- Since:
- 2.1.3
- See Also:
- Constant Field Values
-
ALLOW_PRINTING
public static final int ALLOW_PRINTING
The operation permitted when the document is opened with the user password- See Also:
- Constant Field Values
-
ALLOW_MODIFY_CONTENTS
public static final int ALLOW_MODIFY_CONTENTS
The operation permitted when the document is opened with the user password- See Also:
- Constant Field Values
-
ALLOW_COPY
public static final int ALLOW_COPY
The operation permitted when the document is opened with the user password- See Also:
- Constant Field Values
-
ALLOW_MODIFY_ANNOTATIONS
public static final int ALLOW_MODIFY_ANNOTATIONS
The operation permitted when the document is opened with the user password- See Also:
- Constant Field Values
-
ALLOW_FILL_IN
public static final int ALLOW_FILL_IN
The operation permitted when the document is opened with the user password- See Also:
- Constant Field Values
-
ALLOW_SCREENREADERS
public static final int ALLOW_SCREENREADERS
The operation permitted when the document is opened with the user password- See Also:
- Constant Field Values
-
ALLOW_ASSEMBLY
public static final int ALLOW_ASSEMBLY
The operation permitted when the document is opened with the user password- See Also:
- Constant Field Values
-
ALLOW_DEGRADED_PRINTING
public static final int ALLOW_DEGRADED_PRINTING
The operation permitted when the document is opened with the user password- See Also:
- Constant Field Values
-
crypto
protected PdfEncryption crypto
-
-
Constructor Detail
-
PdfWriter
protected PdfWriter()
-
PdfWriter
protected PdfWriter(OutputStream os)
Constructs aPdfWriter.Remark: a PdfWriter can only be constructed by calling the method
getInstance(Document document, OutputStream os).- Parameters:
document- ThePdfDocumentthat has to be writtenos- TheOutputStreamthe writer has to write to.
-
-
Method Detail
-
open
public void open()
Signals that theDocumenthas been opened and thatElementscan be added.When this method is called, the PDF-document header is written to the outputstream.
- Specified by:
openin interfaceDocListener- Overrides:
openin classDocWriter
-
getCatalog
protected PdfDictionary getCatalog(PdfIndirectReference rootObj) throws DocumentException
- Throws:
DocumentException
-
addSharedObjectsToBody
protected void addSharedObjectsToBody() throws IOException- Throws:
IOException
-
close
public void close()
Signals 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 classDocWriter
-
getVerticalPosition
public float getVerticalPosition(boolean ensureNewLine)
Gets the current vertical page position.- Parameters:
ensureNewLine- Tells whether a new line shall be enforced. This may cause side effects for elements that do not terminate the lines they've started because those lines will get terminated.- Returns:
- The current vertical page position.
-
getDirectContent
public PdfContentByte getDirectContent()
Gets the direct content for this document. There is only one direct content, multiple calls to this method will allways retrieve the same.- Returns:
- the direct content
-
getDirectContentUnder
public PdfContentByte getDirectContentUnder()
Gets the direct content under for this document. There is only one direct content, multiple calls to this method will allways retrieve the same.- Returns:
- the direct content
-
getAcroForm
public PdfAcroForm getAcroForm() throws DocumentException
Gets the AcroForm object.- Returns:
- the
PdfAcroForm - Throws:
DocumentException
-
getRootOutline
public PdfOutline getRootOutline()
Gets the root outline.- Returns:
- the root outline
-
getOs
public OutputStreamCounter getOs()
Returns the outputStreamCounter.- Returns:
- the outputStreamCounter
-
getPdfDocument
public com.gitlab.pdftk_java.com.lowagie.text.pdf.PdfDocument getPdfDocument()
Gets thePdfDocumentassociated with this writer.- Returns:
- the
PdfDocument
-
getPdfIndirectReference
public PdfIndirectReference getPdfIndirectReference()
Gets aPdfIndirectReferencefor an object that will be created in the future.- Returns:
- the
PdfIndirectReference
-
setPageEvent
public void setPageEvent(PdfPageEvent pageEvent)
Sets thePdfPageEventfor this document.- Parameters:
pageEvent- thePdfPageEventfor this document
-
getPageEvent
public PdfPageEvent getPageEvent()
Gets thePdfPageEventfor this document ornullif none is set.- Returns:
- the
PdfPageEventfor this document ornullif none is set
-
getPageNumber
public int getPageNumber()
Gets the current pagenumber of this document.- Returns:
- a page number
-
setViewerPreferences
public void setViewerPreferences(int preferences)
Sets the viewer preferences by ORing some constants.- The page layout to be used when the document is opened (choose one).
- PageLayoutSinglePage - Display one page at a time. (default)
- PageLayoutOneColumn - Display the pages in one column.
- PageLayoutTwoColumnLeft - Display the pages in two columns, with oddnumbered pages on the left.
- PageLayoutTwoColumnRight - Display the pages in two columns, with oddnumbered pages on the right.
- The page mode how the document should be displayed
when opened (choose one).
- PageModeUseNone - Neither document outline nor thumbnail images visible. (default)
- PageModeUseOutlines - Document outline visible.
- PageModeUseThumbs - Thumbnail images visible.
- PageModeFullScreen - Full-screen mode, with no menu bar, window controls, or any other window visible.
- PageModeUseOC - Optional content group panel visible
- HideToolbar - A flag specifying whether to hide the viewer application's tool bars when the document is active.
- HideMenubar - A flag specifying whether to hide the viewer application's menu bar when the document is active.
- HideWindowUI - A flag specifying whether to hide user interface elements in the document's window (such as scroll bars and navigation controls), leaving only the document's contents displayed.
- FitWindow - A flag specifying whether to resize the document's window to fit the size of the first displayed page.
- CenterWindow - A flag specifying whether to position the document's window in the center of the screen.
- DisplayDocTitle - A flag specifying whether to display the document's title in the top bar.
- The predominant reading order for text. This entry has no direct effect on the
document's contents or page numbering, but can be used to determine the relative
positioning of pages when displayed side by side or printed n-up (choose one).
- DirectionL2R - Left to right
- DirectionR2L - Right to left (including vertical writing systems such as Chinese, Japanese, and Korean)
- The document's page mode, specifying how to display the
document on exiting full-screen mode. It is meaningful only
if the page mode is PageModeFullScreen (choose one).
- NonFullScreenPageModeUseNone - Neither document outline nor thumbnail images visible
- NonFullScreenPageModeUseOutlines - Document outline visible
- NonFullScreenPageModeUseThumbs - Thumbnail images visible
- NonFullScreenPageModeUseOC - Optional content group panel visible
- PrintScalingNone - Indicates that the print dialog should reflect no page scaling.
- Parameters:
preferences- the viewer preferences
- The page layout to be used when the document is opened (choose one).
-
setEncryption
public void setEncryption(byte[] userPassword, byte[] ownerPassword, int permissions, boolean strength128Bits) throws DocumentExceptionSets the encryption options for this document. The userPassword and the ownerPassword can be null or have zero length. In this case the ownerPassword is replaced by a random string. The open permissions for the document can be AllowPrinting, AllowModifyContents, AllowCopy, AllowModifyAnnotations, AllowFillIn, AllowScreenReaders, AllowAssembly and AllowDegradedPrinting. The permissions can be combined by ORing them.- Parameters:
userPassword- the user password. Can be null or emptyownerPassword- the owner password. Can be null or emptypermissions- the user permissionsstrength128Bits-truefor 128 bit key length,falsefor 40 bit key length- Throws:
DocumentException- if the document is already open
-
setEncryption
public void setEncryption(byte[] userPassword, byte[] ownerPassword, int permissions, int encryptionType) throws DocumentException- Throws:
DocumentException
-
addToBody
public PdfIndirectObject addToBody(PdfObject object) throws IOException
Adds an object to the PDF body.- Parameters:
object-- Returns:
- a PdfIndirectObject
- Throws:
IOException
-
addToBody
public PdfIndirectObject addToBody(PdfObject object, boolean inObjStm) throws IOException
Adds an object to the PDF body.- Parameters:
object-inObjStm-- Returns:
- a PdfIndirectObject
- Throws:
IOException
-
addToBody
public PdfIndirectObject addToBody(PdfObject object, PdfIndirectReference ref) throws IOException
Adds an object to the PDF body.- Parameters:
object-ref-- Returns:
- a PdfIndirectObject
- Throws:
IOException
-
addToBody
public PdfIndirectObject addToBody(PdfObject object, PdfIndirectReference ref, boolean inObjStm) throws IOException
Adds an object to the PDF body.- Parameters:
object-ref-inObjStm-- Returns:
- a PdfIndirectObject
- Throws:
IOException
-
addToBody
public PdfIndirectObject addToBody(PdfObject object, int refNumber) throws IOException
Adds an object to the PDF body.- Parameters:
object-refNumber-- Returns:
- a PdfIndirectObject
- Throws:
IOException
-
addToBody
public PdfIndirectObject addToBody(PdfObject object, int refNumber, boolean inObjStm) throws IOException
Adds an object to the PDF body.- Parameters:
object-refNumber-inObjStm-- Returns:
- a PdfIndirectObject
- Throws:
IOException
-
setOpenAction
public void setOpenAction(String name)
When the document opens it will jump to the destination with this name.- Parameters:
name- the name of the destination to jump to
-
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.- 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)
When the document opens thisactionwill be invoked.- Parameters:
action- the action to be invoked
-
setPageLabels
public void setPageLabels(PdfPageLabels pageLabels)
Sets the page labels- Parameters:
pageLabels- the page labels
-
getNewObjectNumber
protected int getNewObjectNumber(PdfReader reader, int number, int generation)
-
getImportedPage
public PdfImportedPage getImportedPage(PdfReader reader, int pageNumber) throws IOException
Gets a page from other PDF document. The page can be used as any other PdfTemplate. Note that calling this method more than once with the same parameters will retrieve the same object.- Parameters:
reader- the PDF document where the page ispageNumber- the page number. The first page is 1- Returns:
- the template representing the imported page
- Throws:
IOException
-
addJavaScript
public void addJavaScript(PdfAction js)
Adds a JavaScript action at the document level. When the document opens all this JavaScript runs.- Parameters:
js- The JavaScrip action
-
addJavaScript
public void addJavaScript(String code, boolean unicode)
Adds a JavaScript action at the document level. When the document opens all this JavaScript runs.- Parameters:
code- the JavaScript codeunicode- select JavaScript unicode. Note that the internal Acrobat JavaScript engine does not support unicode, so this may or may not work for you
-
addJavaScript
public void addJavaScript(String code)
Adds a JavaScript action at the document level. When the document opens all this JavaScript runs.- Parameters:
code- the JavaScript code
-
setCropBoxSize
public void setCropBoxSize(Rectangle crop)
Sets the crop box. The crop box should not be rotated even if the page is rotated. This change only takes effect in the next page.- Parameters:
crop- the crop box
-
getPageReference
public PdfIndirectReference getPageReference(int page)
Gets 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.- Parameters:
page- the page number. The first page is 1- Returns:
- the reference to the page
-
addCalculationOrder
public void addCalculationOrder(PdfFormField annot) throws DocumentException
Adds thePdfAnnotationto the calculation order array.- Parameters:
annot- thePdfAnnotationto be added- Throws:
DocumentException
-
setSigFlags
public void setSigFlags(int f) throws DocumentExceptionSet the signature flags.- Parameters:
f- the flags. This flags are ORed with current ones- Throws:
DocumentException
-
addAnnotation
public void addAnnotation(PdfAnnotation annot)
Adds aPdfAnnotationor aPdfFormFieldto the document. Only the top parent of aPdfFormFieldneeds to be added.- Parameters:
annot- thePdfAnnotationor thePdfFormFieldto add
-
setPdfVersion
public void setPdfVersion(char version)
Sets the PDF version. Must be used right before the document is opened. Valid options are VERSION_1_2, VERSION_1_3, VERSION_1_4, VERSION_1_5 and VERSION_1_6. VERSION_1_4 is the default.- Parameters:
version- the version number
-
reorderPages
public int reorderPages(int[] order) throws DocumentExceptionReorder the pages in the document. Anullargument value only returns the number of pages to process. It is advisable to issue aDocument.newPage()before using this method.- Parameters:
order- an array with the new page sequence. It must have the same size as the number of pages.- Returns:
- the total number of pages
- Throws:
DocumentException- if all the pages are not present in the array
-
getSpaceCharRatio
public float getSpaceCharRatio()
Gets the space/character extra spacing ratio for fully justified text.- Returns:
- the space/character extra spacing ratio
-
setSpaceCharRatio
public void setSpaceCharRatio(float spaceCharRatio)
Sets the ratio between the extra word spacing and the extra character spacing when the text is fully justified. Extra word spacing will growspaceCharRatiotimes more than extra character spacing. If the ratio isPdfWriter.NO_SPACE_CHAR_RATIOthen the extra character spacing will be zero.- Parameters:
spaceCharRatio- the ratio between the extra word spacing and the extra character spacing
-
setRunDirection
public void setRunDirection(int runDirection)
Sets the run direction. This is only used as a placeholder as it does not affect anything.- Parameters:
runDirection- the run direction
-
getRunDirection
public int getRunDirection()
Gets the run direction.- Returns:
- the run direction
-
setDuration
public void setDuration(int seconds)
Sets the display duration for the page (for presentations)- Parameters:
seconds- the number of seconds to display the page
-
setTransition
public void setTransition(PdfTransition transition)
Sets the transition for the page- Parameters:
transition- the Transition object
-
freeReader
public void freeReader(PdfReader reader) throws IOException
Writes the reader to the document and frees the memory used by it. The main use is when concatenating multiple documents to keep the memory usage restricted to the current appending document.- Parameters:
reader- thePdfReaderto free- Throws:
IOException- on error
-
setPageAction
public void setPageAction(PdfName actionType, PdfAction action) 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 perform- Throws:
PdfException- if the action type is invalid
-
getCurrentDocumentSize
public int getCurrentDocumentSize()
Gets the current document size. This size only includes the data already writen to the output stream, it does not include templates or fonts. It is usefull if used withfreeReader()when concatenating many documents and an idea of the current size is needed.- Returns:
- the approximate size without fonts or templates
-
isStrictImageSequence
public boolean isStrictImageSequence()
Getter for property strictImageSequence.- Returns:
- value of property strictImageSequence
-
setStrictImageSequence
public void setStrictImageSequence(boolean strictImageSequence)
Sets the image sequence to follow the text in strict order.- Parameters:
strictImageSequence- new value of property strictImageSequence
-
setPageEmpty
public void setPageEmpty(boolean pageEmpty)
If you use setPageEmpty(false), invoking newPage() after a blank page will add a newPage.- Parameters:
pageEmpty- the state
-
getInfo
public PdfDictionary getInfo()
Gets the info dictionary for changing.- Returns:
- the info dictionary
-
getExtraCatalog
public PdfDictionary getExtraCatalog()
Sets extra keys to the catalog.- Returns:
- the catalog to change
-
setLinearPageMode
public void setLinearPageMode()
Sets the document in a suitable way to do page reordering.
-
getGroup
public PdfDictionary getGroup()
Getter for property group.- Returns:
- Value of property group.
-
setGroup
public void setGroup(PdfDictionary group)
Setter for property group.- Parameters:
group- New value of property group.
-
setPDFXConformance
public void setPDFXConformance(int pdfxConformance)
Sets the PDFX conformance level. Allowed values are PDFX1A2001 and PDFX32002. It must be called before opening the document.- Parameters:
pdfxConformance- the conformance level
-
getPDFXConformance
public int getPDFXConformance()
Gets the PDFX conformance level.- Returns:
- the PDFX conformance level
-
setOutputIntents
public void setOutputIntents(String outputConditionIdentifier, String outputCondition, String registryName, String info, byte[] destOutputProfile) throws IOException
Sets the values of the output intent dictionary. Null values are allowed to suppress any key.- Parameters:
outputConditionIdentifier- a valueoutputCondition- a valueregistryName- a valueinfo- a valuedestOutputProfile- a value- Throws:
IOException- on error
-
setOutputIntents
public boolean setOutputIntents(PdfReader reader, boolean checkExistence) throws IOException
Copies the output intent dictionary from other document to this one.- Parameters:
reader- the other documentcheckExistence-trueto just check for the existence of a valid output intent dictionary,falseto insert the dictionary if it exists- Returns:
trueif the output intent dictionary exists,falseotherwise- Throws:
IOException- on error
-
setBoxSize
public void setBoxSize(String boxName, Rectangle size)
Sets the page box sizes. Allowed names are: "crop", "trim", "art" and "bleed".- Parameters:
boxName- the box sizesize- the size
-
getDefaultColorspace
public PdfDictionary getDefaultColorspace()
Gets the default colorspaces.- Returns:
- the default colorspaces
-
setDefaultColorspace
public void setDefaultColorspace(PdfName key, PdfObject cs)
Sets the default colorspace that will be applied to all the document. The colorspace is only applied if another colorspace with the same name is not present in the content.The colorspace is applied immediately when creating templates and at the page end for the main document content.
- Parameters:
key- the name of the colorspace. It can bePdfName.DEFAULTGRAY,PdfName.DEFAULTRGBorPdfName.DEFAULTCMYKcs- the colorspace. AnullorPdfNullremoves any colorspace with the same name
-
isFullCompression
public boolean isFullCompression()
Gets the 1.5 compression status.- Returns:
trueif the 1.5 compression is on
-
setFullCompression
public void setFullCompression()
Sets the document's compression to the new 1.5 mode with object streams and xref streams. It can be set at any time but once set it can't be unset.If set before opening the document it will also set the pdf version to 1.5.
-
getOCProperties
public PdfOCProperties getOCProperties()
Gets the Optional Content Properties Dictionary. Each call fills the dictionary with the current layer state. It's advisable to only call this method right before close and do any modifications at that time.- Returns:
- the Optional Content Properties Dictionary
-
addOCGRadioGroup
public void addOCGRadioGroup(ArrayList group)
Sets a collection of optional content groups whose states are intended to follow a "radio button" paradigm. That is, the state of at most one optional content group in the array should be ON at a time: if one group is turned ON, all others must be turned OFF.- Parameters:
group- the radio group
-
getUserunit
public float getUserunit()
A UserUnit is a value that defines the default user space unit. The minimum UserUnit is 1 (1 unit = 1/72 inch). The maximum UserUnit is 75,000. Remark that this userunit only works starting with PDF1.6!- Returns:
- Returns the userunit.
-
setUserunit
public void setUserunit(float userunit) throws DocumentExceptionA UserUnit is a value that defines the default user space unit. The minimum UserUnit is 1 (1 unit = 1/72 inch). The maximum UserUnit is 75,000. Remark that this userunit only works starting with PDF1.6!- Parameters:
userunit- The userunit to set.- Throws:
DocumentException
-
setXmpMetadata
public void setXmpMetadata(byte[] xmpMetadata)
Sets XMP Metadata.- Parameters:
xmpMetadata- The xmpMetadata to set.
-
releaseTemplate
public void releaseTemplate(PdfTemplate tp) throws IOException
Releases the memory used by a template by writing it to the output. The template can still be added to any content but changes to the template itself won't have any effect.- Parameters:
tp- the template to release- Throws:
IOException- on error
-
setTagged
public void setTagged()
Mark this document for tagging. It must be called before open.
-
isTagged
public boolean isTagged()
Check if the document is marked for tagging.- Returns:
trueif the document is marked for tagging
-
setFileID
public void setFileID(PdfObject fileID)
Set the PDF ID; ssteward
-
getFileID
public PdfObject getFileID()
Get the pre-set PDF ID; ssteward
-
getStructureTreeRoot
public PdfStructureTreeRoot getStructureTreeRoot()
Gets the structure tree root. If the document is not marked for tagging it will returnnull.- Returns:
- the structure tree root
-
getRoot
public PdfPages getRoot()
-
-