【问题标题】:Javascript execution in Adobe PDFAdobe PDF 中的 Javascript 执行
【发布时间】:2017-01-25 20:08:33
【问题描述】:

我在 C# 中使用 iTextSharp 来读取 pdf 并填充其中文本字段的值,并且基于一个文本字段值,我正在尝试运行 javascript 操作以在保存文档之前填充另外两个字段。

我可以在 pdf 中看到脚本存储,但它没有执行。有没有更好的方法在 iTextSharp 或 adobe 中运行脚本?

【问题讨论】:

    标签: javascript c# pdf itext


    【解决方案1】:

    据我所知,iText 没有 Acrobat JavaScript 引擎。

    为了在您的表单中运行 (Acrobat) JavaScript,您必须在 Acrobat/Reader 中打开它,并提供一个触发器来执行脚本。根据附加脚本的事件,您要么只需要运行它们(例如在打开文档的页面的 pageOpen 事件中),要么在页面的 pageOpen 事件中使用this.calculateNow()(再次)文档打开的位置。如果您有一个多页文档,您还可以添加一个只运行这些脚本一次的机制(如何做到这一点已在许多地方多次解释过(这里在 stackoverflow 上,但也在 Adob​​e 论坛、AcrobatUsers 论坛中(安息吧)、PlanetPDF 等)。

    【讨论】:

    • Debenu 的快速 PDF 库 (debenu.com/products/development/debenu-pdf-library/features) 声称支持 JavaScript,我们 Datalogics 支持执行 JavaScript,类似于 Acrobat 的执行方式(取决于 Acrobat 的版本),但我们只支持这在我们的 PDF Java 工具包中 (datalogics.com/products/pdf/pdfjavatoolkit)
    • @BrandonHaugen 啊,是的,我应该记得 PDF Java 工具包...
    • @MaxWyss 是的,我尝试添加触发器。我在 Calaculate 下添加了脚本。我还尝试了 Adob​​e 工具下的“设置文档操作”,但脚本在通过 iTextSharp 运行时没有被触发。我可以直接在 Adob​​e 中触发脚本,它按预期工作,但是当通过 iTextSharp 读取 pdf 时它不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-09
    • 2014-02-12
    • 2014-08-10
    • 2010-10-14
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    相关资源
    最近更新 更多