Javascript 我可以在Acrobat脚本中访问模型树对象数据/属性吗?

Javascript 我可以在Acrobat脚本中访问模型树对象数据/属性吗?,javascript,pdf,adobe,geospatial,acrobat,Javascript,Pdf,Adobe,Geospatial,Acrobat,我想为AdobeAcrobat编写一个简单的javscript脚本,在PDF中查找可通过工具>分析>对象数据工具选择并可在“模型树”中浏览的类型的“对象”,然后查看它们的属性,并使用属性数据转换它们 我已经查过了,但找不到任何相关的。我要找的东西可能有不同的名字。我能找到的最接近的是,这些文件似乎围绕着PDF文件包中的附件,这是不同的 如何通过与Analyze>Object Data Tool一起使用的脚本访问包含交互式对象的属性类型 术语“对象”、“数据”、“属性”和“模型”如此笼统,这并没

我想为AdobeAcrobat编写一个简单的javscript脚本,在PDF中查找可通过工具>分析>对象数据工具选择并可在“模型树”中浏览的类型的“对象”,然后查看它们的属性,并使用属性数据转换它们

我已经查过了,但找不到任何相关的。我要找的东西可能有不同的名字。我能找到的最接近的是,这些文件似乎围绕着PDF文件包中的附件,这是不同的

如何通过与Analyze>Object Data Tool一起使用的脚本访问包含交互式对象的属性类型


术语“对象”、“数据”、“属性”和“模型”如此笼统,这并没有帮助。为避免疑问,这是我希望通过脚本访问的对象数据/属性的类型,如Acrobat UI中所示。我希望脚本遍历左上面板上的项目,然后针对每个项目访问其属性属性和值,如左下面板中所示:


此示例基于地理参考地图PDF,PDF的此功能通常用于ArcGIS和MapInfo等GIS应用程序生成的PDF中:

这是可能的。Acrobat和Reader中的3D播放器实际上是一个单独的javascript引擎,但是您可以将文档javascript连接到3D javascript,并从模型中获取信息。您需要查看链接到下面的文档。它很旧,但3D JavaScript从那时起就没有改变,所以它仍然有效

模型树中每个节点的属性作为XML字符串存储在网格对象的metadataString属性中。您可以通过访问文档中的三维上下文来获得它。假设您只有一个3D注释,并且它位于第一页,您将使用下面的代码。可以按名称或索引获取网格。只需将getByName()替换为getByIndex()。通常,节点名称与模型树中显示的名称相同,但并不总是相同

var metadata = this.getAnnots3D(0)[0].context3D.scene.meshes.getByName("mesh name").metadataString

然后需要使用Acrobat的XMLData对象中的方法将字符串转换为XML对象。从那里,您可以使用XPath获取属性。

还有一个Acrobat DC版本的JavaScript for Acrobat 3D annotations API参考,从2015年5月开始。不过,我不记得它的URL了。