Package eu.europa.esig.dss.pdf.pdfbox
Class PdfBoxDocumentReader
java.lang.Object
eu.europa.esig.dss.pdf.pdfbox.PdfBoxDocumentReader
- All Implemented Interfaces:
PdfDocumentReader
,Closeable
,AutoCloseable
public class PdfBoxDocumentReader extends Object implements PdfDocumentReader
The PDFBox implementation of
PdfDocumentReader
-
Constructor Summary
Constructors Constructor Description PdfBoxDocumentReader(byte[] binaries, String passwordProtection)
The PDFBox implementation of the ReaderPdfBoxDocumentReader(DSSDocument dssDocument)
Default constructor of the PDFBox implementation of the ReaderPdfBoxDocumentReader(DSSDocument dssDocument, String passwordProtection)
The PDFBox implementation of the ReaderPdfBoxDocumentReader(org.apache.pdfbox.pdmodel.PDDocument pdDocument)
The constructor to directly instantiate thePdfBoxDocumentReader
-
Method Summary
Modifier and Type Method Description void
close()
Map<PdfSignatureDictionary,List<String>>
extractSigDictionaries()
Extracts PdfSignatureDictionaries present in the signatureBufferedImage
generateImageScreenshot(int page)
Generates the image screenshot for the given page of the PDFBufferedImage
generateImageScreenshotWithoutAnnotations(int page, List<PdfAnnotation> annotations)
Generates the image screenshot by hiding the given list ofannotationBoxes
PdfDssDict
getDSSDictionary()
Loads the last DSS dictionary from the document if exists NOTE: can return null if DSS dictionary is not presentint
getNumberOfPages()
Returns an amount of pages found in the documentAnnotationBox
getPageBox(int page)
Returns a page box dimensionsList<PdfAnnotation>
getPdfAnnotations(int page)
Retrieves all annotations found in the documentorg.apache.pdfbox.pdmodel.PDPage
getPDPage(int page)
Returns aPDPage
boolean
isSignatureCoversWholeDocument(PdfSignatureDictionary signatureDictionary)
Checks if a signature for the given PDF Signature Dictionary covers the whole document
-
Constructor Details
-
PdfBoxDocumentReader
Default constructor of the PDFBox implementation of the Reader- Parameters:
dssDocument
-DSSDocument
to read- Throws:
IOException
- if an exception occursInvalidPasswordException
- if the password is not provided or invalid for a protected document
-
PdfBoxDocumentReader
public PdfBoxDocumentReader(DSSDocument dssDocument, String passwordProtection) throws IOException, InvalidPasswordExceptionThe PDFBox implementation of the Reader- Parameters:
dssDocument
-DSSDocument
to readpasswordProtection
-String
a password to open a protected document- Throws:
IOException
- if an exception occursInvalidPasswordException
- if the password is not provided or invalid for a protected document
-
PdfBoxDocumentReader
public PdfBoxDocumentReader(byte[] binaries, String passwordProtection) throws IOException, InvalidPasswordExceptionThe PDFBox implementation of the Reader- Parameters:
binaries
- a byte array of a PDF to readpasswordProtection
-String
a password to open a protected document- Throws:
IOException
- if an exception occursInvalidPasswordException
- if the password is not provided or invalid for a protected document
-
PdfBoxDocumentReader
public PdfBoxDocumentReader(org.apache.pdfbox.pdmodel.PDDocument pdDocument)The constructor to directly instantiate thePdfBoxDocumentReader
- Parameters:
pdDocument
-PDDocument
-
-
Method Details
-
getDSSDictionary
Description copied from interface:PdfDocumentReader
Loads the last DSS dictionary from the document if exists NOTE: can return null if DSS dictionary is not present- Specified by:
getDSSDictionary
in interfacePdfDocumentReader
- Returns:
PdfDssDict
-
extractSigDictionaries
Description copied from interface:PdfDocumentReader
Extracts PdfSignatureDictionaries present in the signature- Specified by:
extractSigDictionaries
in interfacePdfDocumentReader
- Returns:
- a map between
PdfSignatureDictionary
and related field names - Throws:
IOException
- if an exception occurs
-
isSignatureCoversWholeDocument
Description copied from interface:PdfDocumentReader
Checks if a signature for the given PDF Signature Dictionary covers the whole document- Specified by:
isSignatureCoversWholeDocument
in interfacePdfDocumentReader
- Parameters:
signatureDictionary
-PdfSignatureDictionary
to check the result for- Returns:
- TRUE if the signature covers the whole document, false otherwise
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
getNumberOfPages
public int getNumberOfPages()Description copied from interface:PdfDocumentReader
Returns an amount of pages found in the document- Specified by:
getNumberOfPages
in interfacePdfDocumentReader
- Returns:
- number of pages
-
getPageBox
Description copied from interface:PdfDocumentReader
Returns a page box dimensions- Specified by:
getPageBox
in interfacePdfDocumentReader
- Parameters:
page
- number- Returns:
AnnotationBox
representing page dimensions
-
getPdfAnnotations
Description copied from interface:PdfDocumentReader
Retrieves all annotations found in the document- Specified by:
getPdfAnnotations
in interfacePdfDocumentReader
- Parameters:
page
- number- Returns:
- a list of
PdfAnnotation
s associated with the given page - Throws:
IOException
- if an exception occurs
-
getPDPage
public org.apache.pdfbox.pdmodel.PDPage getPDPage(int page)Returns aPDPage
- Parameters:
page
- number- Returns:
PDPage
-
generateImageScreenshot
Description copied from interface:PdfDocumentReader
Generates the image screenshot for the given page of the PDF- Specified by:
generateImageScreenshot
in interfacePdfDocumentReader
- Parameters:
page
- number to be generated- Returns:
BufferedImage
screenshot for the given page- Throws:
IOException
- if an exception occurs
-
generateImageScreenshotWithoutAnnotations
public BufferedImage generateImageScreenshotWithoutAnnotations(int page, List<PdfAnnotation> annotations) throws IOExceptionDescription copied from interface:PdfDocumentReader
Generates the image screenshot by hiding the given list ofannotationBoxes
- Specified by:
generateImageScreenshotWithoutAnnotations
in interfacePdfDocumentReader
- Parameters:
page
- number to be generatedannotations
- a list ofPdfAnnotation
s to be hidden- Returns:
BufferedImage
screenshot for the given page- Throws:
IOException
- if an exception occurs
-