1) 我想看那个 PDF。我怀疑这些领域并没有你想象的那么宽。
2) 您可以将字段的字体大小设置为零以启用“自动调整大小”,这在 Reader 和 iText 中都有效。但是,它的大小是实际字段大小,而不是您认为的大小。
我猜您在 Illustrator 中绘制了一个漂亮的表单域背景,然后在 Acrobat Pro 中在其上放置了一个域,但没有调整域宽度以匹配漂亮的 illustrator 背景。可能是错的,但这是我的预感。
这就是扁平化的 PDF。我可以看到表单域仍然完好无损的原件吗?对不起,我没有更具体。尽管如此,我可以从阅读此 PDF 中学到一些东西:
查看展平字段 XObject 的边界框及其内部剪切矩形,看起来它应该使用大部分页面:
页面宽约 600 磅,高约 850 磅。
展平场 XObject 的宽度约为 560 点,高度约为 100。
我想知道您的文本中是否有一些非标准的回车字符,而 iText 不会被 Acrobat 识别...
无论如何,我希望看到未拼合的 PDF。填充好,但不是扁平化。
好的,看看模板。我没有看到任何会导致您看到的换行符...这让我认为我的第二个猜测是正确的:换行符。
查看文本布局代码可能会给我一个提示。你的每一行文字都是这样的(例如):
1 0 0 1 2 88.24 Tm 0 g (Die Semmerrolle der l{e4}nge nach zu einer grossen Roulade)Tj
- n n n n n n Tm:文本矩阵
- g:灰色(0 g:黑色)
- (...)Tj:显示文本
这与您在 iText(以及最新版本)的主干中设置文本字段值时的代码路径一致。该代码(ColumnText)非常擅长正确地破坏文本,并且在所有地方都可以使用。边界框是正确的(如平面 PDF 的几个地方所示)。
检查您的输入。