Package com.itextpdf.text.pdf
Class PdfStamper
java.lang.Object
com.itextpdf.text.pdf.PdfStamper
- All Implemented Interfaces:
PdfEncryptionSettings
,PdfViewerPreferences
- Direct Known Subclasses:
PdfAStamper
Applies extra content to the pages of a PDF document.
This extra content can be all the objects allowed in PdfContentByte
including pages from other Pdfs. The original PDF will keep
all the interactive elements including bookmarks, links and form fields.
It is also possible to change the field values and to flatten them. New fields can be added but not flattened.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected boolean
protected PdfSignatureAppearance
protected XmlSignatureAppearance
protected PdfStamperImp
The writerprivate LtvVerification
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
PdfStamper
(PdfReader reader, OutputStream os) Starts the process of adding extra content to an existing PDF document.PdfStamper
(PdfReader reader, OutputStream os, char pdfVersion) Starts the process of adding extra content to an existing PDF document.PdfStamper
(PdfReader reader, OutputStream os, char pdfVersion, boolean append) Starts the process of adding extra content to an existing PDF document, possibly as a new revision. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAnnotation
(PdfAnnotation annot, int page) Adds an annotation of form field in a specific page.void
addComments
(FdfReader fdf) Adds the comments present in an FDF file.void
addFileAttachment
(String description, byte[] fileStore, String file, String fileDisplay) Adds a file attachment at the document level.void
addFileAttachment
(String description, PdfFileSpecification fs) Adds a file attachment at the document level.void
addJavaScript
(String js) Adds a JavaScript action at the document level.void
addJavaScript
(String name, String js) Adds a JavaScript action at the document level.boolean
addNamedDestination
(String name, int page, PdfDestination dest) addSignature
(String name, int page, float llx, float lly, float urx, float ury) Adds an empty signature.void
addViewerPreference
(PdfName key, PdfObject value) Adds a viewer preferencevoid
close()
Closes the document.static PdfStamper
createSignature
(PdfReader reader, OutputStream os, char pdfVersion) Applies a digital signature to a document.static PdfStamper
createSignature
(PdfReader reader, OutputStream os, char pdfVersion, File tempFile) Applies a digital signature to a document.static PdfStamper
createSignature
(PdfReader reader, OutputStream os, char pdfVersion, File tempFile, boolean append) Applies a digital signature to a document, possibly as a new revision, making possible multiple signatures.static PdfStamper
createXmlSignature
(PdfReader reader, OutputStream os) void
void
flush()
Causes any pending changes to the direct under/over content (e.g.Gets theAcroFields
object that allows to get and set field values and to merge FDF forms.getImportedPage
(PdfReader reader, int pageNumber) Gets a page from other PDF document.Gets the optionalString
map to add or change values in the info dictionary.getOverContent
(int pageNum) Gets aPdfContentByte
to write over the page of the original document.Gets the PdfLayer objects in an existing document as a Map with the names/titles of the layers as keys.Gets the underlying PdfReader.Gets the signing instance.getUnderContent
(int pageNum) Gets aPdfContentByte
to write under the page of the original document.Gets the underlying PdfWriter.Gets the xml signing instance.void
insertPage
(int pageNumber, Rectangle mediabox) Inserts a blank page.boolean
Gets the 1.5 compression status.boolean
Checks if the content is automatically adjusted to compensate the original page rotation.void
makePackage
(PdfCollection collection) Adds or replaces the Collection Dictionary in the Catalog.void
makePackage
(PdfName initialView) This is the most simple way to change a PDF into a portable collection.void
Marks the specified object as used or changed.(package private) void
boolean
partialFormFlattening
(String name) Addsname
to the list of fields that will be flattened on close, all the other fields will remain.void
replacePage
(PdfReader r, int pageImported, int pageReplaced) Replaces a page from this document with a page from other document.void
setAnnotationFlattening
(boolean flat) Flatten annotations with an appearance stream on close().void
setDuration
(int seconds, int page) Sets the display duration for the page (for presentations)void
setEncryption
(boolean strength, String userPassword, String ownerPassword, int permissions) Sets the encryption options for this document.void
setEncryption
(byte[] userPassword, byte[] ownerPassword, int permissions, boolean strength128Bits) Sets the encryption options for this document.void
setEncryption
(byte[] userPassword, byte[] ownerPassword, int permissions, int encryptionType) Sets the encryption options for this document.void
setEncryption
(int encryptionType, String userPassword, String ownerPassword, int permissions) Sets the encryption options for this document.void
setEncryption
(Certificate[] certs, int[] permissions, int encryptionType) Sets the certificate encryption options for this document.void
setFormFlattening
(boolean flat) Determines if the fields are flattened on close.void
setFreeTextFlattening
(boolean flat) Determines if the FreeText annotations are flattened on close.void
Sets the document's compression to the new 1.5 mode with object streams and xref streams.void
setMoreInfo
(Map<String, String> moreInfo) An optionalString
map to add or change values in the info dictionary.void
setOutlines
(List<HashMap<String, Object>> outlines) Sets the bookmarks.void
setPageAction
(PdfName actionType, PdfAction action, int page) Sets the open and close page additional action.void
setRotateContents
(boolean rotateContents) Flags the content to be automatically adjusted to compensate the original page rotation.void
setThumbnail
(Image image, int page) Sets the thumbnail image for a page.void
setTransition
(PdfTransition transition, int page) Sets the transition for the pagevoid
setViewerPreferences
(int preferences) Sets the viewer preferences.void
setXmpMetadata
(byte[] xmp) Sets the XMP metadata.
-
Field Details
-
stamper
The writer -
moreInfo
-
hasSignature
protected boolean hasSignature -
sigApp
-
sigXmlApp
-
verification
-
-
Constructor Details
-
PdfStamper
Starts the process of adding extra content to an existing PDF document.The reader will be closed when this PdfStamper is closed
- Parameters:
reader
- the original document. It cannot be reusedos
- the output stream- Throws:
DocumentException
- on errorIOException
- on error
-
PdfStamper
public PdfStamper(PdfReader reader, OutputStream os, char pdfVersion) throws DocumentException, IOException Starts the process of adding extra content to an existing PDF document.The reader will be closed when this PdfStamper is closed
- Parameters:
reader
- the original document. It cannot be reusedos
- the output streampdfVersion
- the new pdf version or '\0' to keep the same version as the original document- Throws:
DocumentException
- on errorIOException
- on error
-
PdfStamper
public PdfStamper(PdfReader reader, OutputStream os, char pdfVersion, boolean append) throws DocumentException, IOException Starts the process of adding extra content to an existing PDF document, possibly as a new revision.The reader will be closed when this PdfStamper is closed
- Parameters:
reader
- the original document. It cannot be reusedos
- the output streampdfVersion
- the new pdf version or '\0' to keep the same version as the original documentappend
- iftrue
appends the document changes as a new revision. This is only useful for multiple signatures as nothing is gained in speed or memory- Throws:
DocumentException
- on errorIOException
- on error
-
PdfStamper
protected PdfStamper()
-
-
Method Details
-
getMoreInfo
Gets the optionalString
map to add or change values in the info dictionary.- Returns:
- the map or
null
-
setMoreInfo
An optionalString
map to add or change values in the info dictionary. Entries withnull
values delete the key in the original info dictionary- Parameters:
moreInfo
- additional entries to the info dictionary
-
replacePage
Replaces a page from this document with a page from other document. Only the content is replaced not the fields and annotations. This method must be called before getOverContent() or getUndercontent() are called for the same page.- Parameters:
r
- thePdfReader
from where the new page will be importedpageImported
- the page number of the imported pagepageReplaced
- the page to replace in this document- Since:
- iText 2.1.1
-
insertPage
Inserts a blank page. All the pages above and includingpageNumber
will be shifted up. IfpageNumber
is bigger than the total number of pages the new page will be the last one.- Parameters:
pageNumber
- the page number position where the new page will be insertedmediabox
- the size of the new page
-
getSignatureAppearance
Gets the signing instance. The appearances and other parameters can the be set.- Returns:
- the signing instance
-
getXmlSignatureAppearance
Gets the xml signing instance. The appearances and other parameters can the be set.- Returns:
- the xml signing instance
-
flush
public void flush()Causes any pending changes to the direct under/over content (e.g. stamps) and page replacements to be applied to the output PDF. References to the adjusted content are released. If very large numbers of pages are being modified, call this method periodically to write the changes to the output PDF file and release the stamps from the heap. A few precautions about using this method: 1) After using flush() method, over/under content objects should be updated via getOverContent() or getUnderContent() calls respectively in case you want to make any further stamps to the same page; 2) PdfReader, that is associated with PdfStamper which is flushed, must not be used for any other purposes. This is due to the fact that after flush some new references in PdfReader's inner structure appear, but you won't be able to get actual objects behind those references. -
close
Closes the document. No more content can be written after the document is closed.If closing a signed document with an external signature the closing must be done in the
PdfSignatureAppearance
instance.- Throws:
DocumentException
- on errorIOException
- on error
-
getUnderContent
Gets aPdfContentByte
to write under the page of the original document.- Parameters:
pageNum
- the page number where the extra content is written- Returns:
- a
PdfContentByte
to write under the page of the original document
-
getOverContent
Gets aPdfContentByte
to write over the page of the original document.- Parameters:
pageNum
- the page number where the extra content is written- Returns:
- a
PdfContentByte
to write over the page of the original document
-
isRotateContents
public boolean isRotateContents()Checks if the content is automatically adjusted to compensate the original page rotation.- Returns:
- the auto-rotation status
-
setRotateContents
public void setRotateContents(boolean rotateContents) Flags the content to be automatically adjusted to compensate the original page rotation. The default istrue
.- Parameters:
rotateContents
-true
to set auto-rotation,false
otherwise
-
setEncryption
public void setEncryption(byte[] userPassword, byte[] ownerPassword, int permissions, boolean strength128Bits) throws DocumentException Sets 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
-true
for 128 bit key length,false
for 40 bit key length- Throws:
DocumentException
- if anything was already written to the output
-
setEncryption
public void setEncryption(byte[] userPassword, byte[] ownerPassword, int permissions, int encryptionType) throws DocumentException Sets 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.- Specified by:
setEncryption
in interfacePdfEncryptionSettings
- Parameters:
userPassword
- the user password. Can be null or emptyownerPassword
- the owner password. Can be null or emptypermissions
- the user permissionsencryptionType
- the type of encryption. It can be one of STANDARD_ENCRYPTION_40, STANDARD_ENCRYPTION_128, ENCRYPTION_AES128 or ENCRYPTION_AES256. Optionally DO_NOT_ENCRYPT_METADATA can be ored to output the metadata in cleartext- Throws:
DocumentException
- if the document is already open
-
setEncryption
public void setEncryption(boolean strength, String userPassword, String ownerPassword, int permissions) throws DocumentException Sets 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:
strength
-true
for 128 bit key length,false
for 40 bit key lengthuserPassword
- the user password. Can be null or emptyownerPassword
- the owner password. Can be null or emptypermissions
- the user permissions- Throws:
DocumentException
- if anything was already written to the output
-
setEncryption
public void setEncryption(int encryptionType, String userPassword, String ownerPassword, int permissions) throws DocumentException Sets 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:
encryptionType
- the type of encryption. It can be one of STANDARD_ENCRYPTION_40, STANDARD_ENCRYPTION_128 or ENCRYPTION_AES128. Optionally DO_NOT_ENCRYPT_METADATA can be ored to output the metadata in cleartextuserPassword
- the user password. Can be null or emptyownerPassword
- the owner password. Can be null or emptypermissions
- the user permissions- Throws:
DocumentException
- if anything was already written to the output
-
setEncryption
public void setEncryption(Certificate[] certs, int[] permissions, int encryptionType) throws DocumentException Sets the certificate encryption options for this document. An array of one or more public certificates must be provided together with an array of the same size for the permissions for each certificate. 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. Optionally DO_NOT_ENCRYPT_METADATA can be ored to output the metadata in cleartext- Specified by:
setEncryption
in interfacePdfEncryptionSettings
- Parameters:
certs
- the public certificates to be used for the encryptionpermissions
- the user permissions for each of the certificatesencryptionType
- the type of encryption. It can be one of STANDARD_ENCRYPTION_40, STANDARD_ENCRYPTION_128, ENCRYPTION_AES128 or ENCRYPTION_AES256.- Throws:
DocumentException
- if the encryption was set too late
-
getImportedPage
Gets a page from other PDF document. 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
-
getWriter
Gets the underlying PdfWriter.- Returns:
- the underlying PdfWriter
-
getReader
Gets the underlying PdfReader.- Returns:
- the underlying PdfReader
-
getAcroFields
Gets theAcroFields
object that allows to get and set field values and to merge FDF forms.- Returns:
- the
AcroFields
object
-
setFormFlattening
public void setFormFlattening(boolean flat) Determines if the fields are flattened on close. The fields added withaddAnnotation(PdfAnnotation,int)
will never be flattened.- Parameters:
flat
-true
to flatten the fields,false
to keep the fields
-
setFreeTextFlattening
public void setFreeTextFlattening(boolean flat) Determines if the FreeText annotations are flattened on close.- Parameters:
flat
-true
to flatten the FreeText annotations,false
(the default) to keep the FreeText annotations as active content.
-
setAnnotationFlattening
public void setAnnotationFlattening(boolean flat) Flatten annotations with an appearance stream on close().- Parameters:
flat
- boolean to indicate whether iText should flatten annotations or not.
-
addAnnotation
Adds an annotation of form field in a specific page. This page number can be overridden withPdfAnnotation.setPlaceInPage(int)
.- Parameters:
annot
- the annotationpage
- the page
-
addSignature
Adds an empty signature.- Parameters:
name
- the name of the signaturepage
- the page numberllx
- lower left x coordinate of the signature's positionlly
- lower left y coordinate of the signature's positionurx
- upper right x coordinate of the signature's positionury
- upper right y coordinate of the signature's position- Returns:
- a signature form field
- Since:
- 2.1.4
-
addComments
Adds the comments present in an FDF file.- Parameters:
fdf
- the FDF file- Throws:
IOException
- on error
-
setOutlines
Sets the bookmarks. The list structure is defined inSimpleBookmark
.- Parameters:
outlines
- the bookmarks ornull
to remove any
-
setThumbnail
Sets the thumbnail image for a page.- Parameters:
image
- the imagepage
- the page- Throws:
PdfException
- on errorDocumentException
- on error
-
partialFormFlattening
Addsname
to the list of fields that will be flattened on close, all the other fields will remain. If this method is never called or is called with invalid field names, all the fields will be flattened.Calling
setFormFlattening(true)
is needed to have any kind of flattening.- Parameters:
name
- the field name- Returns:
true
if the field exists,false
otherwise
-
addJavaScript
Adds a JavaScript action at the document level. When the document opens all this JavaScript runs. The existing JavaScript will be replaced.- Parameters:
js
- the JavaScript code
-
addJavaScript
Adds a JavaScript action at the document level. When the document opens all this JavaScript runs. The existing JavaScript will be replaced.- Parameters:
name
- the name for the JavaScript snippet in the name treejs
- the JavaScript code
-
addFileAttachment
public void addFileAttachment(String description, byte[] fileStore, String file, String fileDisplay) throws IOException Adds a file attachment at the document level. Existing attachments will be kept.- Parameters:
description
- the file descriptionfileStore
- an array with the file. If it'snull
the file will be read from the diskfile
- the path to the file. It will only be used iffileStore
is notnull
fileDisplay
- the actual file name stored in the pdf- Throws:
IOException
- on error
-
addFileAttachment
Adds a file attachment at the document level. Existing attachments will be kept.- Parameters:
description
- the file descriptionfs
- the file specification- Throws:
IOException
-
makePackage
This is the most simple way to change a PDF into a portable collection. Choose one of the following names:- PdfName.D (detailed view)
- PdfName.T (tiled view)
- PdfName.H (hidden)
- Parameters:
initialView
- can be PdfName.D, PdfName.T or PdfName.H
-
makePackage
Adds or replaces the Collection Dictionary in the Catalog.- Parameters:
collection
- the new collection dictionary.
-
setViewerPreferences
public void setViewerPreferences(int preferences) Sets the viewer preferences.- Specified by:
setViewerPreferences
in interfacePdfViewerPreferences
- Parameters:
preferences
- the viewer preferences- See Also:
-
addViewerPreference
Adds a viewer preference- Specified by:
addViewerPreference
in interfacePdfViewerPreferences
- Parameters:
key
- a key for a viewer preferencevalue
- the value for the viewer preference- See Also:
-
setXmpMetadata
public void setXmpMetadata(byte[] xmp) Sets the XMP metadata.- Parameters:
xmp
-- See Also:
-
createXmpMetadata
public void createXmpMetadata() -
getXmpWriter
-
isFullCompression
public boolean isFullCompression()Gets the 1.5 compression status.- Returns:
true
if the 1.5 compression is on
-
setFullCompression
Sets the document's compression to the new 1.5 mode with object streams and xref streams. Be attentive!!! If you want set full compression , you should set immediately after creating PdfStamper, before editing the document.It can be set once and it can't be unset.- Throws:
DocumentException
-
setPageAction
Sets the open and close page additional action.- Parameters:
actionType
- the action type. It can bePdfWriter.PAGE_OPEN
orPdfWriter.PAGE_CLOSE
action
- 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, 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
Sets the transition for the page- Parameters:
transition
- the transition object. Anull
removes the transitionpage
- the page where the transition will be applied. The first page is 1
-
createSignature
public static PdfStamper createSignature(PdfReader reader, OutputStream os, char pdfVersion, File tempFile, boolean append) throws DocumentException, IOException Applies a digital signature to a document, possibly as a new revision, making possible multiple signatures. The returned PdfStamper can be used normally as the signature is only applied when closing.A possible use for adding a signature without invalidating an existing one is:
KeyStore ks = KeyStore.getInstance("pkcs12"); ks.load(new FileInputStream("my_private_key.pfx"), "my_password".toCharArray()); String alias = (String)ks.aliases().nextElement(); PrivateKey key = (PrivateKey)ks.getKey(alias, "my_password".toCharArray()); Certificate[] chain = ks.getCertificateChain(alias); PdfReader reader = new PdfReader("original.pdf"); FileOutputStream fout = new FileOutputStream("signed.pdf"); PdfStamper stp = PdfStamper.createSignature(reader, fout, '\0', new File("/temp"), true); PdfSignatureAppearance sap = stp.getSignatureAppearance(); sap.setCrypto(key, chain, null, PdfSignatureAppearance.WINCER_SIGNED); sap.setReason("I'm the author"); sap.setLocation("Lisbon"); // comment next line to have an invisible signature sap.setVisibleSignature(new Rectangle(100, 100, 200, 200), 1, null); stp.close();
- Parameters:
reader
- the original documentos
- the output stream ornull
to keep the document in the temporary filepdfVersion
- the new pdf version or '\0' to keep the same version as the original documenttempFile
- location of the temporary file. If it's a directory a temporary file will be created there. If it's a file it will be used directly. The file will be deleted on exit unlessos
is null. In that case the document can be retrieved directly from the temporary file. If it'snull
no temporary file will be created and memory will be usedappend
- iftrue
the signature and all the other content will be added as a new revision thus not invalidating existing signatures- Returns:
- a
PdfStamper
- Throws:
DocumentException
- on errorIOException
- on error
-
createSignature
public static PdfStamper createSignature(PdfReader reader, OutputStream os, char pdfVersion) throws DocumentException, IOException Applies a digital signature to a document. The returned PdfStamper can be used normally as the signature is only applied when closing.Note that the pdf is created in memory.
A possible use is:
KeyStore ks = KeyStore.getInstance("pkcs12"); ks.load(new FileInputStream("my_private_key.pfx"), "my_password".toCharArray()); String alias = (String)ks.aliases().nextElement(); PrivateKey key = (PrivateKey)ks.getKey(alias, "my_password".toCharArray()); Certificate[] chain = ks.getCertificateChain(alias); PdfReader reader = new PdfReader("original.pdf"); FileOutputStream fout = new FileOutputStream("signed.pdf"); PdfStamper stp = PdfStamper.createSignature(reader, fout, '\0'); PdfSignatureAppearance sap = stp.getSignatureAppearance(); sap.setCrypto(key, chain, null, PdfSignatureAppearance.WINCER_SIGNED); sap.setReason("I'm the author"); sap.setLocation("Lisbon"); // comment next line to have an invisible signature sap.setVisibleSignature(new Rectangle(100, 100, 200, 200), 1, null); stp.close();
- Parameters:
reader
- the original documentos
- the output streampdfVersion
- the new pdf version or '\0' to keep the same version as the original document- Returns:
- a
PdfStamper
- Throws:
DocumentException
- on errorIOException
- on error
-
createSignature
public static PdfStamper createSignature(PdfReader reader, OutputStream os, char pdfVersion, File tempFile) throws DocumentException, IOException Applies a digital signature to a document. The returned PdfStamper can be used normally as the signature is only applied when closing.A possible use is:
KeyStore ks = KeyStore.getInstance("pkcs12"); ks.load(new FileInputStream("my_private_key.pfx"), "my_password".toCharArray()); String alias = (String)ks.aliases().nextElement(); PrivateKey key = (PrivateKey)ks.getKey(alias, "my_password".toCharArray()); Certificate[] chain = ks.getCertificateChain(alias); PdfReader reader = new PdfReader("original.pdf"); FileOutputStream fout = new FileOutputStream("signed.pdf"); PdfStamper stp = PdfStamper.createSignature(reader, fout, '\0', new File("/temp")); PdfSignatureAppearance sap = stp.getSignatureAppearance(); sap.setCrypto(key, chain, null, PdfSignatureAppearance.WINCER_SIGNED); sap.setReason("I'm the author"); sap.setLocation("Lisbon"); // comment next line to have an invisible signature sap.setVisibleSignature(new Rectangle(100, 100, 200, 200), 1, null); stp.close();
- Parameters:
reader
- the original documentos
- the output stream ornull
to keep the document in the temporary filepdfVersion
- the new pdf version or '\0' to keep the same version as the original documenttempFile
- location of the temporary file. If it's a directory a temporary file will be created there. If it's a file it will be used directly. The file will be deleted on exit unlessos
is null. In that case the document can be retrieved directly from the temporary file. If it'snull
no temporary file will be created and memory will be used- Returns:
- a
PdfStamper
- Throws:
DocumentException
- on errorIOException
- on error
-
createXmlSignature
public static PdfStamper createXmlSignature(PdfReader reader, OutputStream os) throws IOException, DocumentException - Throws:
IOException
DocumentException
-
getPdfLayers
Gets the PdfLayer objects in an existing document as a Map with the names/titles of the layers as keys.- Returns:
- a Map with all the PdfLayers in the document (and the name/title of the layer as key)
- Since:
- 2.1.2
-
markUsed
Marks the specified object as used or changed. Used objects will be written to a new revision when using PdfStamper in append mode. The specified PdfObject needs to be an Indirect Reference or its getIndRef() method should not return null.- Parameters:
obj
- the used PDF object
-
getLtvVerification
-
addNamedDestination
- Throws:
IOException
-
mergeVerification
- Throws:
IOException
-