我正在使用iTextSharp填写一些压模AcroFields。
stamper.AcroFields.SetField("Title", "Lipsum");
我使用Adobe Acrobat X Pro在Illustrator和表单字段中创建了pdf。问题是虽然文本字段是页面的宽度,但在保存的pdf中,文本的宽度约为宽度的三分之一。
另一个问题是,如果有可能将textfield autoSize置于高度,或者是处理文本溢出的方法。
答案 0 :(得分:3)
1)我想看看PDF。我怀疑这些领域并不像你想象的那么宽。
2)您可以将字段的字体大小设置为零以启用“自动调整大小”,这在Reader和iText中都有效。但是,它的大小与实际的字段大小不同,而不是您认为的大小。
我猜你在Illustrator中绘制了一个漂亮的表单字段背景,然后在Acrobat Pro上放置了一个字段,但没有调整字段宽度以匹配漂亮的插图画面背景。可能是错的,但这是我的预感。
这是平坦的PDF。我可以看到原始表格字段仍然完整吗?对不起,我没有更具体。尽管如此,我还是可以通过阅读这篇PDF来学到一点:
查看展平字段XObject的边界框及其内部剪切矩形,看起来应该使用大部分页面:
页面宽约600点,高约850英尺 扁平场XObject宽约560点,高约100英尺。
我想知道你的文字中是否有一些非标准的回车字符是由Acrobat提取的,而Acrobat没有......
无论如何,我希望看到简洁的PDF。填写是好的,但不是扁平的。
好的,看着模板。我没有看到任何可能导致你看到线条断线的东西......这让我觉得我的第二个猜测是正确的:新行字符。
查看文本布局代码可能会给我一个提示。你的每一行文字都是这样的(例如):
1 0 0 1 2 88.24 Tm 0 g (Die Semmerrolle der l{e4}nge nach zu einer grossen Roulade)Tj
当您在iText(以及最新版本[s])的主干中设置文本字段值时,这与代码路径一致。该代码(ColumnText)非常适合正确破坏文本,并在整个地方使用。边界框是正确的(如展平PDF的几个位置所示)。
检查您的输入。