aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-pdfbox/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/TableDrawUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-pdfbox/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/TableDrawUtils.java')
-rw-r--r--pdf-as-pdfbox/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/TableDrawUtils.java29
1 files changed, 22 insertions, 7 deletions
diff --git a/pdf-as-pdfbox/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/TableDrawUtils.java b/pdf-as-pdfbox/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/TableDrawUtils.java
index dff8e543..9b0f5ae1 100644
--- a/pdf-as-pdfbox/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/TableDrawUtils.java
+++ b/pdf-as-pdfbox/src/main/java/at/gv/egiz/pdfas/lib/impl/stamping/pdfbox/TableDrawUtils.java
@@ -24,6 +24,7 @@
package at.gv.egiz.pdfas.lib.impl.stamping.pdfbox;
import java.awt.Color;
+import java.beans.DesignMode;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
@@ -40,6 +41,7 @@ import org.slf4j.LoggerFactory;
import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
import at.gv.egiz.pdfas.common.settings.ISettings;
+import at.gv.egiz.pdfas.lib.impl.signing.pdfbox.PADESPDFBOXSigner;
import at.knowcenter.wag.egov.egiz.table.Entry;
import at.knowcenter.wag.egov.egiz.table.Style;
@@ -49,14 +51,18 @@ public class TableDrawUtils {
.getLogger(TableDrawUtils.class);
public static final String TABLE_DEBUG = "debug.table";
-
+
+ private static StringBuilder alternateTableCaption;
+
public static void drawTable(PDPage page,
PDPageContentStream contentStream, float x, float y, float width,
float height, PDFBoxTable abstractTable, PDDocument doc,
boolean subtable, PDResources formResources,
- Map<String, ImageObject> images, ISettings settings, IDGenerator generator)
+ Map<String, ImageObject> images, ISettings settings, IDGenerator generator, PDFAsVisualSignatureProperties properties)
throws PdfAsException {
+ alternateTableCaption = new StringBuilder();
+
logger.debug("Drawing Table: X {} Y {} WIDTH {} HEIGHT {} \n{}", x, y,
width, height, abstractTable.getOrigTable().toString());
@@ -67,16 +73,16 @@ public class TableDrawUtils {
drawBorder(page, contentStream, x, y, width, height, abstractTable,
doc, subtable, settings);
-
+//append strings
drawContent(page, contentStream, x, y, width, height, abstractTable,
- doc, subtable, formResources, images, settings, generator);
+ doc, subtable, formResources, images, settings, generator, properties);
}
public static void drawContent(PDPage page,
PDPageContentStream contentStream, float x, float y, float width,
float height, PDFBoxTable abstractTable, PDDocument doc,
boolean subtable, PDResources formResources,
- Map<String, ImageObject> images, ISettings settings, IDGenerator generator)
+ Map<String, ImageObject> images, ISettings settings, IDGenerator generator, PDFAsVisualSignatureProperties properties)
throws PdfAsException {
float contentx = x;
@@ -114,11 +120,13 @@ public class TableDrawUtils {
drawCaption(page, contentStream, contentx, contenty,
colWidth, abstractTable.getRowHeights()[i],
padding, abstractTable, doc, cell, formResources, settings);
+ addToAlternateTableCaption(cell);
break;
case Entry.TYPE_VALUE:
drawValue(page, contentStream, contentx, contenty,
colWidth, abstractTable.getRowHeights()[i],
padding, abstractTable, doc, cell, formResources, settings);
+ addToAlternateTableCaption(cell);
break;
case Entry.TYPE_IMAGE:
drawImage(page, contentStream, contentx, contenty,
@@ -137,7 +145,7 @@ public class TableDrawUtils {
drawTable(page, contentStream, contentx, contenty
- abstractTable.getRowHeights()[i], colWidth,
abstractTable.getRowHeights()[i], tbl_value, doc,
- true, formResources, images, settings, generator);
+ true, formResources, images, settings, generator,properties);
break;
default:
logger.warn("Unknown Cell entry type: " + cell.getType());
@@ -155,6 +163,7 @@ public class TableDrawUtils {
contenty -= abstractTable.getRowHeights()[i];
contentx = x;
}
+ properties.setAlternativeTableCaption(alternateTableCaption.toString());
}
private static void drawString(PDPage page,
@@ -280,7 +289,7 @@ public class TableDrawUtils {
Style cellStyle = cell.getStyle();
String valign = cellStyle.getVAlign();
String halign = cellStyle.getHAlign();
-
+
drawString(page, contentStream, contentx, contenty, width, height,
padding, abstractTable, doc, cell, fontSize, textHeight,
valign, halign, tlines, textFont, formResources, settings);
@@ -592,5 +601,11 @@ public class TableDrawUtils {
}
return "";
}
+
+ private static void addToAlternateTableCaption(Entry cell){
+ alternateTableCaption.append(cell.getValue());
+ alternateTableCaption.append("\n");//better for screen reader
+ }
+
}