diff options
author | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2014-04-01 16:50:03 +0200 |
---|---|---|
committer | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2014-04-01 16:51:50 +0200 |
commit | 4f1e143c6eac9e1b57b2400bf5b0761a8b072419 (patch) | |
tree | f06266246e8264bf56515a279853bd7197573fe2 /pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PDFAsVisualSignatureDesigner.java | |
parent | dce9a1535236da947d9f866421c4f0b8ae47e527 (diff) | |
download | pdf-as-4-4f1e143c6eac9e1b57b2400bf5b0761a8b072419.tar.gz pdf-as-4-4f1e143c6eac9e1b57b2400bf5b0761a8b072419.tar.bz2 pdf-as-4-4f1e143c6eac9e1b57b2400bf5b0761a8b072419.zip |
PDFBOX Table generation incl. QR Code detection and Positioning is done
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PDFAsVisualSignatureDesigner.java')
-rw-r--r-- | pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PDFAsVisualSignatureDesigner.java | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PDFAsVisualSignatureDesigner.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PDFAsVisualSignatureDesigner.java index f9e63a48..bd516100 100644 --- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PDFAsVisualSignatureDesigner.java +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PDFAsVisualSignatureDesigner.java @@ -49,9 +49,9 @@ public class PDFAsVisualSignatureDesigner { * - If we can't read, flush, or can't close stream */ public PDFAsVisualSignatureDesigner(PDDocument doc, int page, - PDFAsVisualSignatureProperties properties) throws IOException { + PDFAsVisualSignatureProperties properties, boolean newpage) throws IOException { this.properties = properties; - calculatePageSize(doc, page); + calculatePageSize(doc, page, newpage); } /** @@ -60,19 +60,25 @@ public class PDFAsVisualSignatureDesigner { * @param document * @param page */ - private void calculatePageSize(PDDocument document, int page) { + private void calculatePageSize(PDDocument document, int page, boolean newpage) { if (page < 1) { throw new IllegalArgumentException("First page of pdf is 1, not " + page); } - + List<?> pages = document.getDocumentCatalog().getAllPages(); - PDPage firstPage = (PDPage) pages.get(page - 1); - PDRectangle mediaBox = firstPage.findMediaBox(); - this.pageHeight(mediaBox.getHeight()); - this.pageWidth = mediaBox.getWidth(); - + if(newpage) { + PDPage lastPage = (PDPage) pages.get(pages.size()-1); + PDRectangle mediaBox = lastPage.findMediaBox(); + this.pageHeight(mediaBox.getHeight()); + this.pageWidth = mediaBox.getWidth(); + } else { + PDPage firstPage = (PDPage) pages.get(page - 1); + PDRectangle mediaBox = firstPage.findMediaBox(); + this.pageHeight(mediaBox.getHeight()); + this.pageWidth = mediaBox.getWidth(); + } float x = this.pageWidth; float y = 0; this.pageWidth = this.pageWidth + y; |