aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java
diff options
context:
space:
mode:
authorpdanner <pdanner@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2010-11-03 16:39:22 +0000
committerpdanner <pdanner@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2010-11-03 16:39:22 +0000
commitab57bf058107ad9ea251dfb8e3fc576834ea9f68 (patch)
tree3a3567bc01683f5aec7be0c672ff27f7a87e0a50 /src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java
parentdc8b7fd3ecfdcefbaa8625c94ed48a22ce095940 (diff)
downloadpdf-as-3-ab57bf058107ad9ea251dfb8e3fc576834ea9f68.tar.gz
pdf-as-3-ab57bf058107ad9ea251dfb8e3fc576834ea9f68.tar.bz2
pdf-as-3-ab57bf058107ad9ea251dfb8e3fc576834ea9f68.zip
Bug Nr. #534 fixed. Alignment params are now properly inherited to all table cells.
Also added the Style params valuevalign and valuehalign to allow separate alignment for value cells. If those are not set value cells are aligned as any other cell. git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@600 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c
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);