diff options
author | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2014-05-06 13:25:43 +0200 |
---|---|---|
committer | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2014-05-06 13:25:43 +0200 |
commit | 98a8921b697e2b03c3f1a873ec1dadd02f954aa6 (patch) | |
tree | 51c648731b1c934ac59ce036cd604178f72addf6 /pdf-as-lib/src/main/java/at/knowcenter | |
parent | a84fecfd384373402a23ae3153ccce55cef73cb6 (diff) | |
download | pdf-as-4-98a8921b697e2b03c3f1a873ec1dadd02f954aa6.tar.gz pdf-as-4-98a8921b697e2b03c3f1a873ec1dadd02f954aa6.tar.bz2 pdf-as-4-98a8921b697e2b03c3f1a873ec1dadd02f954aa6.zip |
Fixed Positioning on empty page with only annotation
Diffstat (limited to 'pdf-as-lib/src/main/java/at/knowcenter')
-rw-r--r-- | pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java | 6 | ||||
-rw-r--r-- | pdf-as-lib/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java | 25 |
2 files changed, 17 insertions, 14 deletions
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); + } } } } |