【发布时间】:2012-08-21 21:25:19
【问题描述】:
理想情况下,我正在尝试使用 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);
这工作:(应用程序对象)
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);
我一直在寻找高低的答案,但一直没有找到,是的,有类似的问题,但要么没有答案,要么与我正在做的非常不同。
【问题讨论】:
-
JS API - 你检查过这个吗?坦率地说,我不清楚你想得到什么结果。
-
我正在尝试使用 C# 和 iTextSharp 发送 javascript,以便它可以触发 PDF 中存在的事件或函数。 PDF 上的事件都没有触发,所以寻找一种方法来触发它们。
-
有文档开始事件或类似事件。当有人打开 PDF 时触发。假设您可以在那里发布您的代码。请参阅此post,这可能对您有所帮助。很快 - 当文档打开时,家伙开始打印。
-
此外,您可以尝试使用 Adobe Acroba(试用版?)添加所需的 javascript,并在其调试器中检查那里发生了什么。我也不清楚你的 js 代码中的 eApp 是什么?在我看来,这听起来像是 Adobe PDF JS 中没有的东西
-
我正在尝试做的是访问我在这种情况下称为 eApp 的文档并触发事件或函数。我遇到的问题是我使用以下方法展平文件:write.FormFlatening = true;所以生成的表单不会执行其中的任何脚本,所以我试图在展平它之前通过 javascript 执行它。只需要像这样处理它:PdfAction js = PdfAction.JavaScript("eApp.Page1.FormPurpose_PolicyNumber.execEvent('click');", writer.Writer); livecycle里面对象的名字是xfa.form.eApp.page1
标签: javascript pdf itextsharp livecycle