在我创建的pdfs中丢失了空格(pdfbox& itextpdf)

时间:2013-02-26 14:16:46

标签: java indentation pdfbox itextpdf

我正在使用pdfbox& itextpdf以pdf格式创建非常简单的发票。

我们在java之外的erp系统中创建原始发票文本文件 - 所以我必须将文本文件与(pdf)模板结合起来。 (这不是问题。;))

它运行正常 - 但我现在发现pdf中有一个缩进错误:在表格标题之后,缩进出错(删除了一个前导空格)。

我做错了什么?

这是代码,生成示例pdf:

final File outputFile = this.createTmpFile();
final Document document = new Document(PageSize.A4);
PdfWriter.getInstance(document, new FileOutputStream(outputFile));
document.open();
final StringBuffer testText = new StringBuffer();
testText.append("                                                                 21.12.2012\n");
testText.append("\n");
testText.append("\n");
testText.append("\n");
testText.append("Invoice\n");
testText.append("\n");
testText.append("\n");
testText.append("Amount  Description                                         CUR       Price\n");
testText.append("===========================================================================\n");
testText.append("\n");
testText.append(" 1      Order #E41141454 from 01.01.2012:                   EUR       21,21\n");
testText.append("        nice text, nice text, nice text, nice text,\n");
testText.append("        nice text, nice text, nice text, nice text,\n");
testText.append("\n");
testText.append("        Status: online\n");
final Paragraph para = new Paragraph();
para.setFont(new Font(FontFamily.COURIER, 8.6f));
para.setAlignment(Element.ALIGN_UNDEFINED);
para.setLeading(1.2f, 1.2f);
final String t = testText.toString();
para.add(t);
document.add(para);
document.close();

SampleInvoice

1 个答案:

答案 0 :(得分:1)

<强>解决

我们从itextpdf 5.0.6 更新为 5.4.0