aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/PDFAsVisualSignatureDesigner.java
diff options
context:
space:
mode:
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.java24
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;