首页 文章

iTextSharp压模包装文字

提问于
浏览
1

我正在使用iTextSharp填写一些压模AcroFields .

stamper.AcroFields.SetField("Title", "Lipsum");

我使用Adobe Acrobat X Pro在Illustrator和表单字段中创建了pdf . 问题是虽然文本字段是页面的宽度,但在保存的pdf中,文本包裹宽度的大约三分之一 .

另一个问题是,如果有可能将文本字段autoSize置于高度,或者是一种处理文本溢出的方法 .

1 回答

  • 3

    1)我想看看PDF . 我怀疑这些田地没有你想象的那么宽 .

    2)您可以将字段的字体大小设置为零以启用“自动调整大小”,这在Reader和iText中都有效 . 但是,它的大小与实际的字段大小不同,而不是您认为的大小 .

    我猜你在Illustrator中绘制了一个漂亮的表单字段背景,然后在Acrobat Pro上放置了一个字段,但没有调整字段宽度以匹配漂亮的插图画面背景 . 可能是错的,但这是我的预感 .


    这是平坦的PDF . 我可以看到原始表格字段仍然完整吗?对不起,我没有更具体 . 尽管如此,我可以通过阅读这篇PDF学到一点:

    查看展平字段XObject的边界框及其内部剪切矩形,看起来应该使用大部分页面:

    页面宽约600点,高约850英尺 .
    扁平场XObject宽约560点,高约100 .

    我想知道你的文本中是否有一些非标准的回车字符,因为Acrobat没有选择iText ...

    不管怎么说,我想看看那些简洁的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 Tm:文本矩阵

    • g:灰色(0克:黑色)

    • (...)Tj:显示文字

    这与在iText(以及最新版本[s])的主干中设置文本字段值时的代码路径一致 . 该代码(ColumnText)非常适合正确破坏文本,并在整个地方使用 . 边界框是正确的(如展平PDF的几个位置所示) .

    检查你的输入 .

相关问题