Package eu.europa.esig.dss.pdf.openpdf
Class ITextPDFSignatureService
java.lang.Object
eu.europa.esig.dss.pdf.AbstractPDFSignatureService
eu.europa.esig.dss.pdf.openpdf.ITextPDFSignatureService
- All Implemented Interfaces:
PDFSignatureService
Implementation of PDFSignatureService using iText
-
Field Summary
Fields inherited from class eu.europa.esig.dss.pdf.AbstractPDFSignatureService
pdfDifferencesFinder, pdfObjectModificationsFinder, resourcesHandlerBuilder -
Constructor Summary
ConstructorsConstructorDescriptionITextPDFSignatureService(PDFServiceMode serviceMode, ITextSignatureDrawerFactory signatureDrawerFactory) Constructor for the ITextPDFSignatureService -
Method Summary
Modifier and TypeMethodDescriptionaddDssDictionary(DSSDocument document, PdfValidationDataContainer validationDataForInclusion, String pwd) This method adds the DSS dictionary (Baseline-LT) to a password-protected documentaddNewSignatureField(DSSDocument document, SignatureFieldParameters parameters, String pwd) This method allows to add a new signature field to an existing encrypted pdf documentprotected voidcheckSignatureFieldAgainstPageDimensions(AnnotationBox signatureFieldBox, AnnotationBox pageBox, int pageRotation) This method verifies whether thesignatureFieldBoxis withinpageBoxprotected byte[]computeDigest(DSSDocument toSignDocument, PAdESCommonParameters parameters) Computes digest on to be signed data computed on thetoSignDocumentrespectively to the givenparametersgetAvailableSignatureFields(DSSDocument document, String pwd) Returns not-signed signature fields from an encrypted documentprotected List<PdfModification>getVisualDifferences(PdfDocumentReader signedRevisionReader, PdfDocumentReader finalRevisionReader) Returns a list of visual differences between the provided PDF and the signed contentprotected PdfDocumentReaderloadPdfDocumentReader(byte[] binaries, String passwordProtection) LoadsPdfDocumentReaderinstanceprotected PdfDocumentReaderloadPdfDocumentReader(DSSDocument dssDocument, String passwordProtection) LoadsPdfDocumentReaderinstancepreviewPageWithVisualSignature(DSSDocument toSignDocument, PAdESCommonParameters parameters) Returns a page preview with the visual signaturepreviewSignatureField(DSSDocument toSignDocument, PAdESCommonParameters parameters) Returns a preview of the signature fieldprotected DSSDocumentsignDocument(DSSDocument toSignDocument, byte[] cmsSignedData, PAdESCommonParameters parameters) This method creates a signed document from the originaltoSignDocument, incorporating a new revision, enveloping the providedcmsSignedDataprotected AnnotationBoxtoPdfPageCoordinates(AnnotationBox fieldAnnotationBox, AnnotationBox pageBox, int rotation) This method transforms afieldAnnotationBox's positions and dimensions according to the given pageMethods inherited from class eu.europa.esig.dss.pdf.AbstractPDFSignatureService
addDssDictionary, addNewSignatureField, analyzePdfModifications, buildSignatureFieldBox, checkDocumentPermissions, checkNewSignatureIsPermitted, checkSignatureFieldBoxOverlap, digest, extractBeforeSignatureValue, getAvailableSignatureFields, getRevisions, getSignatureValue, getType, getVisibleSignatureFieldBoxPosition, getVisibleSignatureFieldBoxPosition, instantiateResourcesHandler, isContentValueEqualsByteRangeExtraction, isDocTimestamp, isDocumentTimestampLayer, isSignature, loadSignatureDrawer, setAlertOnForbiddenSignatureCreation, setAlertOnSignatureFieldOutsidePageDimensions, setAlertOnSignatureFieldOverlap, setMaximalPagesAmountForVisualComparison, setPdfDifferencesFinder, setPdfObjectModificationsFinder, setResourcesHandlerBuilder, sign
-
Constructor Details
-
ITextPDFSignatureService
public ITextPDFSignatureService(PDFServiceMode serviceMode, ITextSignatureDrawerFactory signatureDrawerFactory) Constructor for the ITextPDFSignatureService- Parameters:
serviceMode- current instance is used to generate a DocumentTimestamp or Signature signature layersignatureDrawerFactory- drawer factory implementation to be used
-
-
Method Details
-
computeDigest
Description copied from class:AbstractPDFSignatureServiceComputes digest on to be signed data computed on thetoSignDocumentrespectively to the givenparameters- Specified by:
computeDigestin classAbstractPDFSignatureService- Parameters:
toSignDocument-DSSDocumentto be signedparameters-PAdESCommonParameters- Returns:
- byte array
-
signDocument
protected DSSDocument signDocument(DSSDocument toSignDocument, byte[] cmsSignedData, PAdESCommonParameters parameters) Description copied from class:AbstractPDFSignatureServiceThis method creates a signed document from the originaltoSignDocument, incorporating a new revision, enveloping the providedcmsSignedData- Specified by:
signDocumentin classAbstractPDFSignatureService- Parameters:
toSignDocument-DSSDocumentto be signedcmsSignedData- byte array representing the encoded CMS signed data's binariesparameters-PAdESCommonParameters- Returns:
DSSDocument
-
addDssDictionary
public DSSDocument addDssDictionary(DSSDocument document, PdfValidationDataContainer validationDataForInclusion, String pwd) Description copied from interface:PDFSignatureServiceThis method adds the DSS dictionary (Baseline-LT) to a password-protected document- Parameters:
document- the document to be extendedvalidationDataForInclusion-PdfValidationDataContainerpwd- the password protection used to create the encrypted document (optional)- Returns:
- the pdf document with the added dss dictionary
-
getAvailableSignatureFields
Description copied from interface:PDFSignatureServiceReturns not-signed signature fields from an encrypted document- Parameters:
document- the pdf documentpwd- the password protection phrase used to encrypt the document- Returns:
- the list of not signed signature field names
-
addNewSignatureField
public DSSDocument addNewSignatureField(DSSDocument document, SignatureFieldParameters parameters, String pwd) Description copied from interface:PDFSignatureServiceThis method allows to add a new signature field to an existing encrypted pdf document- Parameters:
document- the pdf documentparameters- the parameters with the coordinates,... of the signature fieldpwd- the password protection used to create the encrypted document (optional)- Returns:
- the pdf document with the new added signature field
-
toPdfPageCoordinates
protected AnnotationBox toPdfPageCoordinates(AnnotationBox fieldAnnotationBox, AnnotationBox pageBox, int rotation) Description copied from class:AbstractPDFSignatureServiceThis method transforms afieldAnnotationBox's positions and dimensions according to the given page- Overrides:
toPdfPageCoordinatesin classAbstractPDFSignatureService- Parameters:
fieldAnnotationBox-AnnotationBoxcomputed field of a signaturepageBox-AnnotationBoxpage's boxrotation- defines the page's rotation- Returns:
AnnotationBox
-
checkSignatureFieldAgainstPageDimensions
protected void checkSignatureFieldAgainstPageDimensions(AnnotationBox signatureFieldBox, AnnotationBox pageBox, int pageRotation) Description copied from class:AbstractPDFSignatureServiceThis method verifies whether thesignatureFieldBoxis withinpageBox- Overrides:
checkSignatureFieldAgainstPageDimensionsin classAbstractPDFSignatureService- Parameters:
signatureFieldBox-AnnotationBoxto checkpageBox-AnnotationBoxrepresenting the page's boxpageRotation- defines the page's rotation
-
previewPageWithVisualSignature
public DSSDocument previewPageWithVisualSignature(DSSDocument toSignDocument, PAdESCommonParameters parameters) Description copied from interface:PDFSignatureServiceReturns a page preview with the visual signature- Parameters:
toSignDocument- the document to be signedparameters- the signature/timestamp parameters- Returns:
- a DSSDocument with the PNG picture
-
previewSignatureField
public DSSDocument previewSignatureField(DSSDocument toSignDocument, PAdESCommonParameters parameters) Description copied from interface:PDFSignatureServiceReturns a preview of the signature field- Parameters:
toSignDocument- the document to be signedparameters- the signature/timestamp parameters- Returns:
- a DSSDocument with the PNG picture
-
loadPdfDocumentReader
protected PdfDocumentReader loadPdfDocumentReader(DSSDocument dssDocument, String passwordProtection) throws IOException Description copied from class:AbstractPDFSignatureServiceLoadsPdfDocumentReaderinstance- Specified by:
loadPdfDocumentReaderin classAbstractPDFSignatureService- Parameters:
dssDocument-DSSDocumentto readpasswordProtection-Stringthe password used to protect the document- Returns:
PdfDocumentReader- Throws:
IOException- in case of loading error
-
loadPdfDocumentReader
protected PdfDocumentReader loadPdfDocumentReader(byte[] binaries, String passwordProtection) throws IOException Description copied from class:AbstractPDFSignatureServiceLoadsPdfDocumentReaderinstance- Specified by:
loadPdfDocumentReaderin classAbstractPDFSignatureService- Parameters:
binaries- a byte arraypasswordProtection-Stringthe password used to protect the document- Returns:
PdfDocumentReader- Throws:
IOException- in case of loading error
-
getVisualDifferences
protected List<PdfModification> getVisualDifferences(PdfDocumentReader signedRevisionReader, PdfDocumentReader finalRevisionReader) Description copied from class:AbstractPDFSignatureServiceReturns a list of visual differences between the provided PDF and the signed content- Overrides:
getVisualDifferencesin classAbstractPDFSignatureService- Parameters:
signedRevisionReader-PdfDocumentReaderfor the signed revision contentfinalRevisionReader-PdfDocumentReaderfor the input PDF document- Returns:
- a list of
PdfModifications
-