我继承了Java应用程序的维护以创建发票。它使用iText PDF库。我的问题涉及在onEndPageEvent()
中创建页眉和页脚时发生的格式化。
该文档具有以下边框。
Document document = new Document(PageSize.LETTER, 18, 72, 205, 170);
标题表具有以下特征:
PdfPTable tHead = new PdfPTable(5);
int tHead_tHeaderwidths[] = { 4, 5, 50, 15, 26 };
tHead.setWidths(tHead_tHeaderwidths);
GIF图像创建一个边界线作为标题表中的最后一行,如下所示:
c = new PdfPCell(invoice_header1);
c.setColspan(5);
c.setBorder(0);
c.setPaddingTop(10);
c.setPaddingLeft(10);
c.setHorizontalAlignment(Element.ALIGN_CENTER);
tHead.addCell(c);
页脚表具有以下特征:
PdfPTable tFoot = new PdfPTable(3);
int total_table_headerwidths[] = { 75, 5, 20 }; // percentage
tFoot.setWidths(total_table_headerwidths);
GIF图像也会创建一个边线作为页脚表中的第一行。
c = new PdfPCell(invoice_header2);
c.setColspan(3);
c.setBorder(0);
c.setHorizontalAlignment(Element.ALIGN_CENTER);
tFoot.addCell(c);
为什么这些图像不能在文档的右侧对齐? 它们应与右手边界对齐。
为什么标题表的第一行中的文本和页脚表底部的行具有行间距,行间距,与添加到文档中的其他文本不同? 文本与其他文本具有相同的字体,并且未应用其他空格格式。
以下是该文档的屏幕截图