PDF Box flatten PDF 导致奇怪的间距
PDF Box flatten PDF causes weird spacing
我在 PDF 框拼合 Adobe Acrobat DC 生成的 PDF 时遇到问题。
我创建的 Adobe Acrobat 文本字段绝对是默认文本字段。
在下面的示例中,我有一个 PatientName
字段,其文本值为 "Douglas McDouggelman"
。
当我拼合 PDF 时,它是这样的:
有人知道这个奇怪的间距是怎么回事吗?
看来 space + 下一个字符组合在一起了。这就是当您尝试 select 那个角色时的样子。
代码:
try (PDDocument document = PDDocument.load(pdfFormInputStream)) {
PDDocumentCatalog catalog = document.getDocumentCatalog();
PDAcroForm acroForm = catalog.getAcroForm();
acroForm.getField("PatientName").setValue("Douglas McDouggelman");
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
if (flattenPdfs) {
acroForm.flatten();
}
document.save(byteArrayOutputStream);
}
我意识到这个 PDF 来自其他制作它的小组,谁知道他们做了什么。所以我找到源word文档,重复从Adobe DC创建表单,将字段添加回文档,然后就完全没问题了。
PDF 框 不是 问题...这是最初准备 pdf 的人所做的一些未知的错误步骤。
我在 PDF 框拼合 Adobe Acrobat DC 生成的 PDF 时遇到问题。
我创建的 Adobe Acrobat 文本字段绝对是默认文本字段。
在下面的示例中,我有一个 PatientName
字段,其文本值为 "Douglas McDouggelman"
。
当我拼合 PDF 时,它是这样的:
有人知道这个奇怪的间距是怎么回事吗?
看来 space + 下一个字符组合在一起了。这就是当您尝试 select 那个角色时的样子。
代码:
try (PDDocument document = PDDocument.load(pdfFormInputStream)) {
PDDocumentCatalog catalog = document.getDocumentCatalog();
PDAcroForm acroForm = catalog.getAcroForm();
acroForm.getField("PatientName").setValue("Douglas McDouggelman");
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
if (flattenPdfs) {
acroForm.flatten();
}
document.save(byteArrayOutputStream);
}
我意识到这个 PDF 来自其他制作它的小组,谁知道他们做了什么。所以我找到源word文档,重复从Adobe DC创建表单,将字段添加回文档,然后就完全没问题了。
PDF 框 不是 问题...这是最初准备 pdf 的人所做的一些未知的错误步骤。