aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java')
-rw-r--r--src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java40
1 files changed, 27 insertions, 13 deletions
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java
index 39b5daf..85abd73 100644
--- a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java
+++ b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java
@@ -63,6 +63,10 @@ import com.lowagie.text.pdf.SubsetLocal;
public class PDFSignatureObjectIText implements PDFSignatureObject
{
+// 03.11.2010 changed by exthex to allow setting separate hAlign and vAlign for value and non-value cells.
+// If no value for valuevalign or valuehalign is set the values from valign and halign are taken.
+// Also fixed a minor bug which prevented proper style inheritment (Bug Nr. #534).
+
private static final String SIG_PDFA1_B_VALID = "SIG_PDFA1B_VALID";
/**
@@ -178,10 +182,12 @@ public class PDFSignatureObjectIText implements PDFSignatureObject
* the pdf cell to be styled
* @param cellStyle
* the abstract style definition
+ * @param isValue
+ * true if the pdfCell is a value cell - the appropriate style will be set
* @see com.lowagie.text.pdf.PdfPCell
* @see at.knowcenter.wag.egov.egiz.table.Style
*/
- private void setCellStyle(PdfPCell pdfCell, Style cellStyle)
+ private void setCellStyle(PdfPCell pdfCell, Style cellStyle, boolean isValue)
{
if (cellStyle != null)
{
@@ -198,16 +204,21 @@ public class PDFSignatureObjectIText implements PDFSignatureObject
{
pdfCell.setBorder(0);
}
- if (cellStyle.getVAlign() != null)
- {
- int align = ((Integer) alignMap_.get(cellStyle.getVAlign())).intValue();
+ int align = -1;
+ if (isValue && cellStyle.getValueVAlign() != null)
+ align = ((Integer) alignMap_.get(cellStyle.getValueVAlign())).intValue();
+ else if (cellStyle.getVAlign() != null)
+ align = ((Integer) alignMap_.get(cellStyle.getVAlign())).intValue();
+ if (align != -1)
pdfCell.setVerticalAlignment(align);
- }
- if (cellStyle.getHAlign() != null)
- {
- int align = ((Integer) alignMap_.get(cellStyle.getHAlign())).intValue();
+
+ align = -1;
+ if (isValue && cellStyle.getValueHAlign() != null)
+ align = ((Integer) alignMap_.get(cellStyle.getValueHAlign())).intValue();
+ else if (cellStyle.getHAlign() != null)
+ align = ((Integer) alignMap_.get(cellStyle.getHAlign())).intValue();
+ if (align != -1)
pdfCell.setHorizontalAlignment(align);
- }
}
}
@@ -331,9 +342,11 @@ public class PDFSignatureObjectIText implements PDFSignatureObject
PdfPCell pdf_cell = null;
Style cell_style = abstractCell.getStyle();
+ boolean isValue = true;
switch (abstractCell.getType())
{
case Entry.TYPE_CAPTION:
+ isValue = false;
case Entry.TYPE_VALUE:
String text = (String) abstractCell.getValue();
if (text == null)
@@ -362,7 +375,7 @@ public class PDFSignatureObjectIText implements PDFSignatureObject
}
Phrase text_phrase = new Phrase(text, cell_font);
pdf_cell = new PdfPCell(text_phrase);
- setCellStyle(pdf_cell, cell_style);
+ setCellStyle(pdf_cell, cell_style, isValue);
break;
case Entry.TYPE_IMAGE:
try
@@ -395,7 +408,7 @@ public class PDFSignatureObjectIText implements PDFSignatureObject
fit = false;
}
pdf_cell = new PdfPCell(image, fit);
- setCellStyle(pdf_cell, cell_style);
+ setCellStyle(pdf_cell, cell_style, false);
}
catch (BadElementException e)
{
@@ -477,7 +490,7 @@ public class PDFSignatureObjectIText implements PDFSignatureObject
pdf_table = new PdfPTable(cols);
pdf_table.setWidthPercentage(abstractTable.getWidth());
Style table_style = abstractTable.getStyle();
- setCellStyle(pdf_table.getDefaultCell(), table_style);
+ setCellStyle(pdf_table.getDefaultCell(), table_style, false);
ArrayList rows = abstractTable.getRows();
for (int row_idx = 0; row_idx < rows.size(); row_idx++)
@@ -488,7 +501,8 @@ public class PDFSignatureObjectIText implements PDFSignatureObject
for (int entry_idx = 0; entry_idx < row.size(); entry_idx++)
{
Entry cell = (Entry) row.get(entry_idx);
- Style inherit_style = Style.doInherit(cell.getStyle(), table_style);
+ // 03.11.2010 changed by exthex - swapped the two params, was probably a bug
+ Style inherit_style = Style.doInherit(table_style, cell.getStyle());
cell.setStyle(inherit_style);
// logger_.debug(cell.toString());
PdfPCell pdf_cell = renderCell(cell);