aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/PDFBoxPlaceholderExtractor.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/PDFBoxPlaceholderExtractor.java')
-rw-r--r--pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/PDFBoxPlaceholderExtractor.java32
1 files changed, 30 insertions, 2 deletions
diff --git a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/PDFBoxPlaceholderExtractor.java b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/PDFBoxPlaceholderExtractor.java
index 256400a0..63b006bf 100644
--- a/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/PDFBoxPlaceholderExtractor.java
+++ b/pdf-as-pdfbox-2/src/main/java/at/gv/egiz/pdfas/lib/impl/pdfbox2/placeholder/PDFBoxPlaceholderExtractor.java
@@ -1,19 +1,47 @@
package at.gv.egiz.pdfas.lib.impl.pdfbox2.placeholder;
+import at.gv.egiz.pdfas.common.exceptions.PDFIOException;
import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
import at.gv.egiz.pdfas.lib.impl.pdfbox2.PDFBOXObject;
import at.gv.egiz.pdfas.lib.impl.placeholder.PlaceholderExtractor;
import at.gv.egiz.pdfas.lib.impl.placeholder.SignaturePlaceholderData;
import at.gv.egiz.pdfas.lib.impl.status.PDFObject;
+import java.io.IOException;
+import java.util.List;
+
public class PDFBoxPlaceholderExtractor implements PlaceholderExtractor {
+
@Override
public SignaturePlaceholderData extract(PDFObject doc, String placeholderId, int matchMode) throws PdfAsException {
if (doc instanceof PDFBOXObject) {
PDFBOXObject object = (PDFBOXObject) doc;
- return SignaturePlaceholderExtractor.extract(object.getDocument(),
- placeholderId, matchMode);
+ try {
+ SignaturePlaceholderExtractor extractor = new SignaturePlaceholderExtractor(placeholderId,
+ matchMode, object.getDocument());
+ return extractor.extract(object.getDocument(),
+ placeholderId, matchMode);
+ } catch (IOException | ClassNotFoundException | InstantiationException | IllegalAccessException e2) {
+ throw new PDFIOException("error.pdf.io.04", e2);
+ }
+
+ }
+ throw new PdfAsException("INVALID STATE");
+ }
+
+ @Override
+ public List<SignaturePlaceholderData> extractList(PDFObject doc, String placeholderId, int matchMode) throws PdfAsException {
+ if (doc instanceof PDFBOXObject) {
+ PDFBOXObject object = (PDFBOXObject) doc;
+ try {
+ SignaturePlaceholderExtractor extractor = new SignaturePlaceholderExtractor(placeholderId,
+ matchMode, object.getDocument());
+ return extractor.extractList(object.getDocument(),
+ placeholderId, matchMode);
+ } catch (IOException | ClassNotFoundException | InstantiationException | IllegalAccessException e2) {
+ throw new PDFIOException("error.pdf.io.04", e2);
+ }
}
throw new PdfAsException("INVALID STATE");
}