aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-lib
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-lib')
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java2
-rw-r--r--pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java6
-rw-r--r--pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java25
3 files changed, 19 insertions, 14 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java
index 854559d2..c74b15b0 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java
@@ -40,6 +40,7 @@ import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentCatalog;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageNode;
+import org.apache.pdfbox.pdmodel.PDResources;
import org.apache.pdfbox.pdmodel.graphics.color.PDOutputIntent;
import org.apache.pdfbox.pdmodel.graphics.xobject.PDJpeg;
import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature;
@@ -256,6 +257,7 @@ public class PADESPDFBOXSigner implements IPdfSigner, IConfigurationConstants {
PDPage lastPage = kids.get(last);
rootPages.getCOSObject().setNeedToBeUpdate(true);
PDPage p = new PDPage(lastPage.findMediaBox());
+ p.setResources(new PDResources());
doc.addPage(p);
}
diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java
index e482d50c..f2cd4085 100644
--- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java
+++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java
@@ -538,10 +538,10 @@ public class PDFPage extends PDFTextStripper {
public void processAnnotation(PDAnnotation anno) {
float current_y = anno.getRectangle().getLowerLeftY();
- int pageRotation = this.getCurrentPage().findRotation();
+ int pageRotation = anno.getPage().findRotation();
// logger_.debug("PageRotation = " + pageRotation);
if (pageRotation == 0) {
- float page_height = this.getCurrentPage().findMediaBox().getHeight();
+ float page_height = anno.getPage().findMediaBox().getHeight();
current_y = page_height - anno.getRectangle().getLowerLeftY();
}
if (pageRotation == 90) {
@@ -551,7 +551,7 @@ public class PDFPage extends PDFTextStripper {
current_y = anno.getRectangle().getUpperRightY();
}
if (pageRotation == 270) {
- float page_height = this.getCurrentPage().findMediaBox().getHeight();
+ float page_height = anno.getPage().findMediaBox().getHeight();
current_y = page_height - anno.getRectangle().getUpperRightX();
}
diff --git a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java
index 3f5e67fc..808efbe4 100644
--- a/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java
+++ b/pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java
@@ -82,19 +82,22 @@ public abstract class PDFUtilities {
try {
PDFPage my_page = new PDFPage(effectivePageHeight, legacy32);
PDResources resources = page.findResources();
- COSStream stream = page.getContents().getStream();
- // List<PDThreadBead> articles = page.getThreadBeads();
- // my_page.processMyPage(page);
- my_page.processStream(page, resources, stream);
-
+ if (page.getContents() != null) {
+ COSStream stream = page.getContents().getStream();
+ // List<PDThreadBead> articles = page.getThreadBeads();
+ // my_page.processMyPage(page);
+ my_page.processStream(page, resources, stream);
+ }
if (!legacy32) {
- Iterator<PDAnnotation> annotationsIt = page.getAnnotations()
- .iterator();
+ if (page.getAnnotations() != null) {
+ Iterator<PDAnnotation> annotationsIt = page
+ .getAnnotations().iterator();
- while (annotationsIt.hasNext()) {
- PDAnnotation annotation = annotationsIt.next();
- if(!annotation.isInvisible()) {
- my_page.processAnnotation(annotation);
+ while (annotationsIt.hasNext()) {
+ PDAnnotation annotation = annotationsIt.next();
+ if (!annotation.isInvisible()) {
+ my_page.processAnnotation(annotation);
+ }
}
}
}