From 541f9cbc07355d53b8eba9e1f3576d928b114bdb Mon Sep 17 00:00:00 2001 From: Christian Maierhofer Date: Tue, 21 Apr 2015 11:42:57 +0200 Subject: fixed automatic sig-placement for rotated pdfs --- .../at/knowcenter/wag/egov/egiz/pdf/PDFPage.java | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'pdf-as-pdfbox/src/main/java/at/knowcenter/wag/egov/egiz') diff --git a/pdf-as-pdfbox/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java b/pdf-as-pdfbox/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java index 5a3711a4..fab63e2f 100644 --- a/pdf-as-pdfbox/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java +++ b/pdf-as-pdfbox/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java @@ -320,15 +320,13 @@ public class PDFPage extends PDFTextStripper { current_y = text.getY(); } if (pageRotation == 90) { - current_y = text.getX(); + current_y = text.getY(); } if (pageRotation == 180) { - float page_height = this.getCurrentPage().findMediaBox().getHeight(); - current_y = page_height - text.getY(); + current_y = text.getY(); } if (pageRotation == 270) { - float page_height = this.getCurrentPage().findMediaBox().getHeight(); - current_y = page_height - text.getX(); + current_y = text.getY(); } if (current_y > this.effectivePageHeight) { @@ -454,10 +452,8 @@ public class PDFPage extends PDFTextStripper { if (pageRotation == 180) { float min_y = findMinY(transformed_coordinates); logger.debug("min_y = " + min_y); - float page_height = this.mypage.getCurrentPage().findMediaBox().getHeight(); - actual_lowest_point = page_height - - findMaxY(transformed_coordinates); - actual_starting_point = page_height - min_y; + actual_lowest_point = findMaxY(transformed_coordinates); + actual_starting_point = actual_lowest_point + min_y; } if (pageRotation == 270) { float min_x = findMinX(transformed_coordinates); @@ -581,14 +577,14 @@ public class PDFPage extends PDFTextStripper { current_y = page_height - anno.getRectangle().getLowerLeftY(); } if (pageRotation == 90) { - current_y = anno.getRectangle().getLowerLeftX(); + current_y = anno.getRectangle().getUpperRightX(); } if (pageRotation == 180) { current_y = anno.getRectangle().getUpperRightY(); } if (pageRotation == 270) { - float page_height = page.findMediaBox().getHeight(); - current_y = page_height - anno.getRectangle().getUpperRightX(); + float page_width = page.findMediaBox().getWidth(); + current_y = page_width - anno.getRectangle().getLowerLeftX() ; } if (current_y > this.effectivePageHeight) { -- cgit v1.2.3 From 78f2fe168d7258af1e40509105ba4ed495606a4e Mon Sep 17 00:00:00 2001 From: Christian Maierhofer Date: Tue, 21 Apr 2015 14:17:56 +0200 Subject: automatic positioning set max_char_pos to effective page height if the last last character on page already reaches the footer, so that a new page is created for the signature block --- .../src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'pdf-as-pdfbox/src/main/java/at/knowcenter/wag/egov/egiz') diff --git a/pdf-as-pdfbox/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java b/pdf-as-pdfbox/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java index fab63e2f..a7aaf2df 100644 --- a/pdf-as-pdfbox/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java +++ b/pdf-as-pdfbox/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFPage.java @@ -329,10 +329,8 @@ public class PDFPage extends PDFTextStripper { current_y = text.getY(); } - if (current_y > this.effectivePageHeight) { - // logger_.debug("character is below footer_line. footer_line = " + - // this.footer_line + ", text.character=" + character + ", y=" + - // current_y); + if (current_y > this.effectivePageHeight) { + this.max_character_ypos=this.effectivePageHeight; return; } -- cgit v1.2.3