【问题标题】:Acrobat JavaScript: Directory Contents and Hyperlinking FilesAcrobat JavaScript:目录内容和超链接文件
【发布时间】:2017-05-02 12:27:38
【问题描述】:

我最近一直在研究通过 JavaScript 在 Acrobat 中自动化一些事情,并提出了几个问题。我想知道是否有人可能对此有想法或提示,不胜感激!

  1. 是否可以获取目录的内容(因此文档列表可以存储为数组),或者检查文件是否存在?根据我收集到的信息,由于无法访问文件系统,这可能不是 Acrobat 中的 JavaScript 能够完成的。

我看到的用于检查文件是否存在的两个技巧是将其作为附件导入,或者尝试打开文件并查看结果。例如if (this.importDataObject("myFile", "/testfile.pdf/")) { 这似乎不适用于我的情况,因为有问题的文件可能非常大,并且正在导入或者打开它们可能会很慢。

  1. 是否有使用 JavaScript 在 pdf 中设置超链接以打开文件的最佳方法?我试过 l.setAction("app.openDoc(\"testfile.pdf\")") 将引用的 JavaScript 添加到超链接并使用它在新窗口中打开文件,但我想知道这与 Acrobat 通常链接到文件的方式相比如何,或者是否有另一种更优化的方式来以编程方式设置它。

【问题讨论】:

    标签: javascript pdf hyperlink directory acrobat


    【解决方案1】:

    对于问题 #1 - 简短回答是“否”。正如您所说,Acrobat JavaScript 无权访问文件系统。长答案是“是的 - 取决于你想做什么”。 Acrobat 有一种运行“动作”的方法,可以处理给定目录中的所有文件、文件列表或当前打开的所有文件。您可以使用操作对目录中的每个文件运行 JavaScript,而无需该脚本实际知道文件名。

    对于问题 #2。 通过 JavaScript 设置链接动作的唯一选项是设置 JavaScript 动作。如果您创建一个链接,您只能设置鼠标向上操作。但是,您可以添加一个按钮而不是链接,其中背景和边框是透明的并且没有标题,并且您会得到一些看起来像链接的东西,但您可以设置更多操作,例如鼠标向上、向下和翻转(进入/退出)。

    【讨论】:

    • 很好的答案,非常感谢!不幸的是,在这种情况下使用操作向导可能无济于事,我需要根据目录的内容对单个 PDF 进行修改。不过,确认这一点很好,如果涉及到它,我可以要求用户提前放入文件列表,或者看看将东西写成外部应用程序是否是一个更好的主意。也很高兴知道链接,我想问题中的示例在这种情况下可能是超链接到外部文件的一个公平选择。看起来它可以满足我的需要。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    • 1970-01-01
    • 2010-12-22
    相关资源
    最近更新 更多