【发布时间】:2020-01-26 20:09:16
【问题描述】:
我正在尝试获取 InDesign 文件中图形的详细信息。出于技术原因,我使用的是 COM。不是我最喜欢的,因为(在 StackOverflow 的其他地方讨论过)你必须花费一半的时间来铸造。在 Theory (!) 中,代码 sn-p belwo 应该可以工作。 Intellisense 将 doc.AllGraphics 显示为返回 objects。
http://www.indesignscriptingreference.com/CS3/JavaScript/Document.htm 的 CS3 脚本参考将其显示为 图形数组
for (int g = 1; g <= doc.AllGraphics.Count; g++) {
InDesign.Graphic graphic = (InDesign.Graphic) doc.AllGraphics[ g ];
....
}
但是,我收到以下错误消息:
无法转换 COM 类型的对象 'System.__ComObject' 到接口类型 'InDesign.Graphic'。这个操作 失败,因为 QueryInterface 调用 在接口的 COM 组件上 带 IID '{6AE52037-9E4E-442D-ADFC-2D492B4BCBEF}' 由于以下错误而失败:否 支持此类接口(异常 从 HRESULT:0x80004002 (E_NOINTERFACE))。
我尝试使用替代构造返回一个对象,然后将其转换为 Indesign.Graphic。所有都失败并出现相同的错误。我不敢相信 Adobe 错过了这个界面。
有什么建议可以让我获得图形内容吗?
【问题讨论】:
标签: c# com graphics adobe-indesign