[英]Cannot access PDF doc pages/events from iTextSharp with JavaScript
理想情况下,我尝试使用iTextSharp触发PDF中的事件。 如果不这样做,我想知道我是否可以触发一个功能。
基本上,我只是想通过javascript来处理文档。
这适用于PDF
(使用LiveCycle):
eApp.Page1.FormPurpose_PolicyNumber::click -
(JavaScript,客户端)
this.rawValue = "hello";
从C#开始,在这种情况下我无法处理doc, eApp
。
var reader = new PdfReader(pdfFileStream);
var writer = new PdfStamper(reader, outputStream);
这个工作:( app对象)
PdfAction js =
PdfAction.JavaScript(
"app.alert('hello');",
writer.Writer);
writer.Writer.AddJavaScript(js);
这不是:
PdfAction js =
PdfAction.JavaScript(
"eApp.Page1.FormPurpose_PolicyNumber.execEvent('click');",
writer.Writer);
writer.Writer.AddJavaScript(js);
也不起作用:
PdfAction js =
PdfAction.JavaScript(
"eApp.Page1.FormPurpose_PolicyNumber.rawValue= 'hello'",
writer.Writer);
writer.Writer.AddJavaScript(js);
我已经找到了高低的答案,但却找不到答案,是的,有类似的问题,但要么他们没有回答,要么与我正在做的非常不同。
根据你的最新评论 - 这是行不通的。 iTextSharp只会在文档中添加一些脚本。 该脚本将在一些客户端应用程序中启动,如Adobe Reader。 它不会在您的文档中执行任何脚本。 假设在你的情况下使用c#更容易用文档做你想要的文件,而不是将表格展平设置为true保存。
在我看来,工作解决方案是:
PdfReader reader = new PdfReader(this.pathToPDFTemplate);
...
PdfStamper stamper = new PdfStamper(reader, stream);
...
PdfAction action = PdfAction.JavaScript("this.xfa.form.form1.DesignArea.sfPart3.sfPart3_5.ck2.presence = 'hidden';", stamper.Writer);
stamper.Writer.SetAdditionalAction(PdfWriter.WILL_PRINT, action);
...
诀窍是使用this.xfa.form。 在你前往田野之前。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.