无法使用JavaScript从iTextSharp访问PDF文档页面/事件
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#中,我无法获得文档的句柄,在本例中为eApp
。
var reader = new PdfReader(pdfFileStream);
var writer = new PdfStamper(reader, outputStream);
THIS WORK:(应用程序对象)
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。
相关文章:
- 以PDF附件的形式通过电子邮件发送谷歌文档
- 如果iframe在src(pdf或text)中有非html文档,则iframe中的onload不起作用
- 无法使用JavaScript从iTextSharp访问PDF文档页面/事件
- c# mvc nreco HtmlToPdfConverter 问题将 html 文档转换为 pdf
- PDF.js - 一次打印多个文档
- 我想在灯箱中显示pdf文档
- 检测PDF文档的末尾
- 使用javascript压缩并下载多个PDF文档
- 使用Asp.net(VB.net)或Javascript将条形码生成为PDF文档
- 如何获取和设置鼠标单击x,y打开的pdf文档的位置
- 如何使用Javascript单击下载多个文档(word,ppt,pdf)
- 如何在网络浏览器中显示MS-Excel和PDF文档
- 使用Phonegap显示iOS文档目录中可用的本地pdf文件
- 更新的文档未在 Gmail 中附加为 PDF
- 在不打开打印对话框的情况下打印 pdf 文档
- 加载从跨文档消息传递中作为事件数据获得的 pdf
- 打印和重定向 PDF 文档
- 使用表单输入创建 PDF 文档
- 如何垂直拆分 pdf 文档并按顺序显示页面
- IE10始终显示缓存的PDF文档