java - Itext 7.1.16 - 添加两个段落不起作用
问题描述
我尝试创建 PDF 文档,但我无法创建包含 2 个段落的文档。它只显示添加的第一个:
这是我的复制代码:
public void createBillingDocument(List<PDFData> datas) {
datas.forEach(data -> {
try {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
PdfWriter writer = new PdfWriter(outputStream);
PdfDocument pdf = new PdfDocument(writer);
Document document = new Document(pdf,PageSize.A4);
document.add(new Paragraph("Muh"));
document.add(new Paragraph("Kuh"));
document.close();
pdf.close();
writer.close();
outputStream.close();
fileAccess.storeFile(outputStream.toString(), "test/" + "Name.pdf");
} catch (IOException e) {
throw new RuntimeException(e);
}
});
}
有没有人遇到同样的问题并找到了解决方案?
问候
编辑:一件奇怪的事情是,如果我在它之间做一个 Breake,它会显示两个段落。每一个一页。
try {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
PdfWriter writer = new PdfWriter(outputStream);
PdfDocument pdf = new PdfDocument(writer);
Document document = new Document(pdf,PageSize.A4);
document.add(new Paragraph("Muh"));
document.add(new AreaBreak());
document.add(new Paragraph("Kuh"));
document.close();
pdf.close();
writer.close();
outputStream.close();
fileAccess.storeFile(outputStream.toString(), "test/" + "Name.pdf");
} catch (IOException e) {
throw new RuntimeException(e);
}
解决方案
好的,发现了。@mkl 是对的。问题在于“将文档另存为字符串”。将其更改为 ByteArray,瞧,它起作用了 :) 感谢您的时间!
推荐阅读
- javascript - 为可选(隐藏论坛)运行 Javascript“getValue”两次
- sas - [SAS]在一个数据步骤中读取具有多个级别的混合记录类型 (.dat)
- android - how set white color filter on drawable in Java Android
- debugging - debug Crash dump in firmware
- python - Python返回函数推理
- ios - willTransition function not working on a real device (swift 4)
- macos - Users not showing at login screen with MacOS FileVault Enabled
- mysql - error while inserting LARGE volume data in mysql by using node.js (error code: 'ECONNRESET')
- javascript - 装饰工厂的 Eslint no-unused-var
- assembly - 跳过了未知的操作码:62,不是 8086 指令 - 尚不支持