PDF Box flatten PDF 导致奇怪的间距

PDF Box flatten PDF causes weird spacing

我在 PDF 框拼合 Adob​​e Acrobat DC 生成的 PDF 时遇到问题。

我创建的 Adob​​e 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 的人所做的一些未知的错误步骤。