【问题标题】:iTextPdf Replacing PDF objects wrong signsiTextPdf 替换 PDF 对象错误标志
【发布时间】:2021-05-19 11:19:28
【问题描述】:

我在 C# 中使用了这个示例

https://kb.itextpdf.com/home/it7kb/examples/replacing-pdf-objects

我的代码中的问题:

String replacedData = IO.Util.JavaUtil.GetStringForBytes(data).Replace(placeholder, replacetext);

字符串replacetext 是:34,60

在最终的 PDF 中

我能做什么,有什么想法吗?

【问题讨论】:

    标签: c# replace stream itext itext7


    【解决方案1】:

    实际上,该示例应该有一个英里高的警告标志。它仅在非常良性的情况下有效,并且根据您的搜索和替换文本,您很容易损坏内容流内容。

    在您的情况下,情况不是良性的:看起来有问题的字体只是子集嵌入,即只有原始 PDF 中使用的字形被嵌入。显然逗号字形原来没有使用,所以它不包含在嵌入的子集中,无法显示;而是显示带框的问号。 (也可能是编码字体不太标准的情况。)

    此外,排除字形的宽度似乎设置为 0,导致“6”被绘制在逗号的替换字形上。

    【讨论】:

    • 显然逗号字形原来没有使用,所以不包含在嵌入子集中,无法显示;而是显示带框的问号。这就是问题所在。我们还在替换占位符之前生成 PDF。我们更改了 Acrobat 中的设置,现在它可以工作了。
    猜你喜欢
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    • 2021-09-14
    • 2016-09-28
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多