PDF大纲文本 - Acrobat序列的自动化

时间:2011-01-14 18:39:50

标签: pdf itextsharp embedded-fonts

我已经构建了一个应用程序,可以自动填充pdf中的表单字段。然后它需要各种资产并将它们组合在一起以生成“打印就绪”产品。所有这一切都是通过iTextSharp的魔力完成的。填充表单字段后,它们将展平为文本。问题是,即使嵌入了字体,它们也不会以有意义的方式附加到表单字段(如直接文本元素),并且打印机抱怨pdf因此而产生许可错误。我对此进行了一些研究,它似乎就是表单字段的本质。

我们正在与之合作的艺术家要求我们研究一种“概述”通过展平表单字段而创建的文本的方法。我发现使用自定义预设运行PDF优化器允许在Acrobat中进行文本大纲,更好的是我可以生成在pdf上运行此命令的Acrobat序列。问题是,序列根本无法实现自动化。

我找到了一个名为AutoBatch的插件,它允许通过批处理文件在命令行上执行Sequences。缺点是这需要在运行此应用程序的服务器上安装Acrobat Pro和插件。此外,它似乎只是概述pdf中的文本的过度杀伤解决方案。据我所知,iTextSharp可能允许我执行此程序化,但在google上搜索这样的东西会返回很少的结果而且没有任何相关性。

所以问题是:有没有更好的方法来概述pdf中的文本,而不是我已经实施的当前解决方案,或者我有点陷入困境?

TLDR ; PDF是使用非标准字体生成的。我需要“概述”此文本以将其发送到打印机。目前使用AutoBatch Acrobat Plug-In从命令行执行Acrobat Sequence。看起来过分,想知道是否有人知道更好的自动化字体轮廓的方法。

1 个答案:

答案 0 :(得分:0)

我也在打印环境中,并且多次使用“Box Covers”表格来缩短用于生产盒盖的代码。
我简单地说“pdfStamper.FormFlattening = true;”和打印机(Xerox DP180和DC5000)在使用PDF时没有问题。

当我放弃FormFlattening时,打印机会给PDF带来很多错误。

如果您正在使用FormFlattening,请检查打印机是否在本地安装了字体,以便它从打印引擎而不是PDF资源中引用字体。