2017-06-01 80 views
0

我想添加一些javascript代碼到我的pdf(它由reportlab生成)。對於我來說,在pdf生成過程中添加它可以,但我找不到任何可行的方法來實現這一目標。reportlab pdf vs javascript

任何人都可以建議我一個howto或一個片段如何做到這一點?

我已經一個TextField:

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)。

+0

所以JavaScript的部分將是最有可能很瑣碎,但我怎麼可以加我的js代碼的PDF文件? – user2194805

回答

0

您添加的腳本不是Acrobat JavaScript。 Acrobat JavaScript有一個完全不同的對象模型。核心是一樣的,但你不能在PDF上使用HTML DOM。

代碼的JS部分是......

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

在文檔打開動作的情況下「本」 文檔。針對Acrobat的擴展成JavaScript就設在這裏的文件...

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