使用 C# 和 COM 提取 InDesign CS4 图形

2023-12-01

我正在尝试获取 InDesign 文件中图形的详细信息。出于技术原因,我使用 COM。不是我最喜欢的,因为(在 StackOverflow 的其他地方讨论过)你必须花半生的时间来选角。理论上(!),下面的代码片段应该可以工作。智能感知显示AllGraphics 文档作为返回objects.

CS3 脚本参考位于http://www.indesignscriptingreference.com/CS3/JavaScript/Document.htm显示为图形数组

for (int g = 1; g <= doc.AllGraphics.Count; g++) {
  InDesign.Graphic graphic = (InDesign.Graphic) doc.AllGraphics[ g ];
  ....
}

但是,我收到此错误消息:

无法转换 COM 对象类型 “System.__ComObject”到接口类型 “InDesign.Graphic”。这个操作 由于 QueryInterface 调用而失败 在接口的 COM 组件上 带独立ID '{6AE52037-9E4E-442D-ADFC-2D492B4BCBEF}' 由于以下错误而失败:否 支持此类接口(异常 来自 HRESULT:0x80004002 (E_NOINTERFACE))。

我尝试使用替代构造返回一个对象,然后将其转换为Indesign.Graphic。全部失败并出现相同的错误。我不敢相信 Adob​​e 竟然错过了这个界面。

关于解决方案有什么建议,以便我可以获得图形内容吗?


我在这里运行 Win7 64 和 CS4,也有 E_NOInterface 消息。 我花了6个小时通过google、尝试和错误才解决这个问题。在我通过互联网的路上,我看到了你在这里发的帖子,然后回来给你写了一些对我有帮助的东西。

在安装过程中,Com-Object 未正确注册。为了解决这个问题

  • 转到文件夹

    • 对于CS3:%ALLUSERSPROFILE%\Adobe\InDesign\Version 5.0\Scripting Support\5.0就我而言:C:\ProgramData\Adobe\InDesignVersion 5.0\Scripting Support\5.0

    • 对于CS4:%ALLUSERSPROFILE%\Adobe\InDesign\Version 5.0\Scripting Support\6.0

  • 将文件“Resources for Visual Basic.tlb”重命名为“Resources for Visual Basic.tlb.old”

  • 以管理员身份打开命令窗口

  • 在我的例子中,转到 indesign-FolderC:\Program Files (x86)\Adobe\Adobe InDesign CS4

  • 并在命令窗口中键入以下命令启动 indesign:

    indesign.exe -type
    

等待发射,然后就可以开始了。它使用此参数注册组件。

我找到了这个解决方案here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 C# 和 COM 提取 InDesign CS4 图形 的相关文章

随机推荐

  • C# 和 Java 之间的 Base64 区别

    image是图像文件的字符串 我的 C 代码如下 Convert ToBase64String image 并用Java编写代码如下 org apache commons codec binary Base64 encodeBase64 i
  • 在 R 中的所有列名称中替换多个句点[重复]

    这个问题在这里已经有答案了 我有以下数据框 df data frame a dfs 56 c rep a 8 rep b 5 rep c 7 rep d 10 b fqh 28 rnorm 30 6 2 c 34 2 fgs rnorm 3
  • 在 Python 中解析 CS:GO 脚本文件

    我正在使用 CS GO 中的一些脚本文件 我必须从该文件中获取一些有用的信息并将这些数据导入到我的 python 应用程序中 以下是txt数据格式的示例 https steamcdn a akamaihd net apps 730 scri
  • 为什么枚举常量没有链接?

    我试图理解的联系enumeration constants并且在标准中找不到明确的答案N1570 6 2 2 p6 以下标识符没有链接 声明为的标识符 是对象或函数以外的任何东西 声明的标识符 作为函数参数 对象的块作用域标识符 声明时不带
  • 根据季度观察计算年化回报

    我正在尝试从两个回报系列计算年化季度回报 给定一个向量 r a 这相当容易 r a lt c 05 02 03 08 1 04 06 08 r a lt t t r a I just need to transpose the vector
  • 在 RecyclerView 视图上捕获 KeyEvent

    按照以下说明进行操作this博客文章 我能够跟踪垂直列表适配器上的选定项目 但我无法通过按某个键来单击或长单击任何项 目 我创建了这个方法 public static boolean isConfirmButton KeyEvent eve
  • 如何在装配中比较两个浮点数

    我 在装配方面完全是新手 我想比较两个变量 浮点数 并正确跳转到正确的函数 这是一场乒乓球比赛 它是用 FASM 编写的 The right pad P0x dd 0 9 P0y dd 0 05 P1x dd 0 95 P1y dd 0 2
  • 使用提交按钮 AJAX 实时检查可用性

    测试1 php
  • 我们可以在Azure网站或虚拟机中运行windowservice或EXE吗?

    我有使用 Azure 上的云服务 托管服务的经验 然而 关于另一个项目 我对功能的选择感到困惑 我有一个项目 2层asp net应用程序 我需要运行windowservice或exe 它每天都会执行一些功能 如获取数据 所以我的困惑如下 关
  • 按列组合 CSV 文件

    假设我有两个 CSV 文件 名为A and B in Python A s head好像 headerNameA1 headerNameA2 1 12412424 1 1 1 1 1 1 1 B s head好像 headerNameB1
  • 调用 getExtra 时 Boolean 将自身重置为 false

    当我为 isDeleted 布尔值调用 getExtras getBoolean key 时 它不断将自身设置为 false 即使我传递的是 true 关于为什么会发生这种情况的任何见解 我尝试了很多其他方法 但没有成功地保持布尔值 TRU
  • 无法加载从笔尖引用的“my-icon.png”图像(iPhone)

    我收到以下错误消息 2011 02 11 14 47 13 815 myProject 13177 207 Could not load the icon troubleshoot png image referenced from a n
  • Tegra 3 设备上的 OpenGL 扩展

    我想知道新的 Tegra 3 设备上有哪些新的 OpenGL ES 扩展 有人愿意发布他们的设备名称 OpenGL 版本和扩展列表 仅限 Tegra 3 设备 吗 我认为其他开发人员也可以使用它 在 Android 上 您可以执行以下操作
  • JPanel 中的多个动画(线程)

    我正在尝试用 Java 编写棋盘游戏 我有 11 个类 包括主类 Board 类 扩展 JPanel 并绘制棋盘图像和骰子图像 Player 类扩展了 JCoponent 并实现了 Runnable Thread 每个玩家实例都是一个在棋盘
  • 使用 CarrierWave 和 Rails 设置 Froala WYSIWYG 编辑器

    我一直在努力让 Froala 充分利用我的 Rails 设置 我有一种类似博客的应用程序 其中包含与每个帖子相关的帖子和 图像 class Post lt ActiveRecord Base has many images accepts
  • 发现元素何时插入到 std::map

    我的程序正在将一些数据 地址 插入 使用 运算符 到 std map 中 我可以跟踪 137 个元素的插入 它们都插入了有效值 在某个阶段 我迭代地图并尝试对值 地址 进行一些操作 我在开始迭代地图之前设置了一个断点 当我在调试器中检查地图
  • 使用 NSScanner 查找短语的下一个匹配项

    我使用以下代码在 HTML 文件中查找特定代码行 NSURL requestTimetableURL NSURL URLWithString http www dhsb org index phtml d 201435 NSLog Load
  • 当我可以通过引用子类访问所有方法时,为什么还要引用基类呢?

    我正在学习java概念 我对java继承概念有疑问 在继承中 我们可以将子类实例分配给基类引用 这样我们就只能访问基类函数 我们可以将继承层次结构中的任何子类实例分配给基类引用 对于分配给特定基类引用的实例类型 我们只能访问基类函数 我没有
  • 通过手机浏览器检索 IMEI 号码/ SIM 号码/手机号码

    以下是场景 我有一个可通过移动浏览器访问的网络应用程序 每当用户单击可通过网络浏览器访问的应用程序页面中的链接时 我需要检测移动设备 IMEI 和 sim IMSI 这是为了跟踪具有相同 SIM 卡的同一设备并为他 她提供下一级访问权限 无
  • 使用 C# 和 COM 提取 InDesign CS4 图形

    我正在尝试获取 InDesign 文件中图形的详细信息 出于技术原因 我使用 COM 不是我最喜欢的 因为 在 StackOverflow 的其他地方讨论过 你必须花半生的时间来选角 理论上 下面的代码片段应该可以工作 智能感知显示AllG