【问题标题】:reportlab pdf vs javascript报告实验室 pdf 与 javascript
【发布时间】:2017-06-01 07:33:05
【问题描述】:

我想在我的 pdf(由 reportlab 生成)中添加一些 javascript 代码。对我来说,在 pdf 生成期间添加它是可以的,但我找不到任何可行的方法来实现这一点。

谁能给我推荐一个howto或sn-p如何做到这一点?

我有一个文本字段:

from reportlab.pdfgen import canvas
c = canvas.Canvas('form2.pdf')
c.acroForm.textfield(value='1', name='tfield', forceBorder=True)

我想用 javascript 改变它的值。

我怎样才能实现它?


我试过了

from reportlab.pdfbase import pdfdoc
pdfdoc.pdfdoc.PDFCatalog.OpenAction = '<</S/JavaScript/JS(document.getElementById("tfield").value = "bbb");)>>'

,但是当我打开pdf时,值仍然是完整的(但是js代码进入了pdf)。

【问题讨论】:

  • 所以 javascript 部分很可能非常简单,但是我怎样才能将我的 js 代码添加到 pdf 中呢?

标签: javascript pdf reportlab


【解决方案1】:

您添加的脚本不是 Acrobat JavaScript。 Acrobat JavaScript 具有完全不同的对象模型。核心是相同的,但您不能在 PDF 上使用 HTML DOM。

您的代码的 JS 部分将是...

this.getField("tfield").value = "bbb"

在文档打开操作的上下文中,“this”文档。 JavaScript 的 Acrobat 扩展的文档位于此处...

http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FJavaScript_API.htm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    • 2017-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多