【问题标题】:any way to manually set the "Script Name" when adding JavaScript?添加JavaScript时有什么方法可以手动设置“脚本名称”?
【发布时间】:2014-03-07 22:30:34
【问题描述】:

我使用 iText 在服务器级别批量启用 pdf 文件中的共享评论。使用 PdfStamper 的 addJavascript() 函数注入所需的 javascript。这确实启用了共享审阅,但是我无法正确创建存档版本,因为文档级别的 javascript“脚本名称”不正确。 iText 从 00000000000000000 开始依次设置脚本名称,然后是 0000000000000001 等。我需要将脚本名称设置为“com.adobe.acrobat.SharedReview.Register”。有什么合理的方法可以做到这一点吗?

【问题讨论】:

  • @HovercraftFullOfEels 你确定你删除了正确的标签吗? iText 是一个 Java 库,并且(正如问题所指出的那样)是从服务器调用的。这个问题肯定会涉及到一个面向 Java 的答案。也许应该删除 JavaScript 标记?
  • @neuronaut:现在我不太确定......我喜欢在更改标签时离开 cmets 的原因之一。感谢您指出了这一点。我会重新添加java

标签: java javascript itext


【解决方案1】:

我不得不自己检查 iText 源代码,令我惊讶的是,我发现我们忽略了一个方法。应该有一种方法可以让您选择名称,但没有。

您可以通过将 JavaScript 直接添加到编写器来解决此问题:

stamper.getWriter().addJavaScript(
    "com.adobe.acrobat.SharedReview.Register",
    PdfAction.javaScript(js, stamper.getWriter(), !PdfEncodings.isPdfDocEncoding(js)));

js 是您要添加的 JavaScript。

当然,这并不优雅。让我知道这是否有效,我会看看是否可以在下一个版本中添加额外的方法。

【讨论】:

  • 谢谢布鲁诺!这就像一个魅力,我只需要在 getWriter 中添加一个额外的 ()。这对我有用:
  • 谢谢布鲁诺!这就像一个魅力,我只需要在 getWriter 中添加一个额外的 ()。这对我有用: stamper.getWriter().addJavaScript("com.adobe.acrobat.SharedReview.Register", PdfAction.javaScript(js, stamper.getWriter(), !PdfEncodings.isPdfDocEncoding(js)));
  • 缺少的 () 是一个错字。我已经修好了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-17
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 2017-12-18
相关资源
最近更新 更多