问题标签 [adobe-indesign]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
7132 浏览

javascript - 是否可以使用 Indesign javascript 调用 Web 服务?

我是一家印刷公司的内部开发人员。

我们使用 Adob​​e Indesign CS3 和 CS5 来创建用于打印的文档。

我在 Adob​​e Extendscript 中创建了一个脚本,该脚本创建了一个 Indesign 文档,并在客户端无法自行处理一些基本转换时进行处理。

我使用 Javascript 编写了这个脚本。

是否可以通过这样的脚本调用 Web 服务?

如果是这样,怎么做?

如果没有,从桌面调用 Web 服务的最佳方式是什么?

谢谢你。

0 投票
1 回答
3242 浏览

vbscript - InDesign Scripting 如何退出应用程序(不是文档)

我正在尝试自动化数据合并过程。这是我所拥有的:

首先创建了一个工作数据合并脚本:

这正如预期的那样运行良好!

然后必须编写一个 vbscript 来打开 InDesign 并运行上面的 jsx 脚本:

现在如果CreateObject("InDesign.Application.CS5")打开 InDesign 如何关闭它?

0 投票
1 回答
576 浏览

javascript - 计数选项卡从选项卡式分隔文本 .JSX Adob​​e InDesign 中收集数据

我需要知道如何从制表符分隔的文本文件中读取数据,以便将合并的文档导出到正确的位置。

-- 将始终是第 4 个选项卡第 2 行(组号)目录将由组号命名

-- 有已经由 privious .vbs 脚本创建的目录

必须放置数据:

并且:

在以前的 .vbs 脚本中使用此数据文件是这样编写的:

如何在 .jsx 中实现类似的功能?

0 投票
2 回答
647 浏览

javascript - Indesign 插件的外部配置文件

我正在为 Indesign CS5 开发一个 JavaScript 插件,我希望能够从外部文件(例如 XML 文件)配置它。可能吗?我在 Adob​​e 网站或网络搜索中没有找到任何内容...

提前致谢

0 投票
3 回答
2475 浏览

c# - COM 返回不实现任何接口的类型

我需要从 .NET 4.0 应用程序自动执行 Adob​​e InDesign CS3 中的一些任务。我使用 Visual Studio 中的“添加引用”对话框添加了对 InDesign 类型库的引用。它生成一个互操作程序集,该程序集正确地包括在类型库中声明的所有接口和类型。我没有安装任何 Adob​​e SDK,因为类型库在 Visual Studio 中可用,除了 Adob​​e InDesign CS3 之外没有安装任何东西。

现在对我来说,互操作程序集中的有趣类型是接口_ApplicationApplicationApplicationClass。这是它们的定义,因此您可以看到它们之间的关系:

我尝试像这样实例化 COM 对象:

此代码成功。我得到一个实例,但类型为__ComObject. 据我所知,这是完全正常的。

现在,这里是乐趣的开始。为了让这个实例对我可用,我应该将它转换为正确的接口。从网上的其他示例以及此处可用的文档中,我可以看到我应该将其转换为Application界面。但如果我这样做,我会得到一个讨厌的InvalidCastException说法,即该类型System.__ComObject不支持此接口。如果我尝试将其强制转换ApplicationClass_Application接口,我会得到相同的异常。

我想我可能使用了不正确的接口,所以我尝试实现此处列出的实用程序功能。此函数循环遍历 interop 程序集中声明的所有接口,并查询 IUnknown 接口是否实现了该接口。

当我使用该函数时,它返回 null,这意味着我返回的实例不CreateInstance支持互操作程序集中的任何接口。肯定是这样吧!?

但是,如果我instance使用 Visual Studio 调试器检查变量,就会发现有一个叫做“动态视图”的东西。ApplicationClass如果我展开它,它会列出对象的所有属性,并且所有属性都与类和_Application接口中的属性匹配。所以我尝试使用Type.InvokeMember并且有效:

这实际上是可行的,但是像这样与 COM 对象交互会非常麻烦,而且我需要与 COM 对象进行大量交互,所以这并不是真正可用的。我想我可以为 COM 对象制作一个包装器,但这违背了互操作程序集的目的,我不想创建 700 多个包装器类。

我进行了很多搜索,找到了使用 InDesign COM 对象的教程和示例,但它们都只是将实例转换为返回到应用程序接口,但正如所解释的,这在我的情况下不起作用。

我还尝试了以下代码而不是上面的代码:

第一行成功,我得到一个实例ApplicationClass,但是当它尝试执行第二行时,我得到一个 InvalidCastException 说明ApplicationClass无法转换为接口_Application

我真的被困在这里,不知道下一步该尝试什么。我真的希望对 COM 和 .NET 更有经验的人知道我可能做错了什么。

在此先感谢,并为这么长的帖子感到抱歉。

0 投票
1 回答
657 浏览

regex - 正则表达式更改 InDesign 中的价格

我正在制定我公司的新价格表,我需要将所有价格更改为 4%。我正在使用适用于 RegEx 的 InDesign(数字调整器)脚本。在文本中有两种形式的数字:1.200 430 我使用 (\d.\d{3}) 成功更改了第一个,将其乘以 1.04。问题是如果用 (\d{3}) 更改 3 位数字,它也会更改以前的数字,但只更改点之后的部分。我需要一个匹配 3 位数字但不匹配.** 一个,或者两个都匹配的一个,所以脚本可以一次重新计算所有价格。另外,文章编号是这样的:45.62.54,我需要更改一些两位数的价格,所以我需要排除这种字符串或任何前后带有点的两位数!我不是程序员,所以我很难理解正则表达式系统。

0 投票
1 回答
185 浏览

actionscript - Actionscript - 设置 Creative Suite 扩展的最小大小

我正在尝试设置创意套件扩展窗口的最小尺寸。我不希望用户能够将窗口大小调整为小于我定义的大小。

这是我尝试做的事情:

不幸的是,这不起作用。我也尝试在 mxml 中设置它:

但它也不能解决问题。有谁知道这个问题的解决方案?我见过其他扩展,即 Adob​​e Kuler 扩展。

0 投票
2 回答
4959 浏览

c# - 使用 C# over COM 进行 InDesign Server 开发

我想开发一个基于InDesign Serverin C#over的应用程序COM。目前我正在为理想的设置而苦苦挣扎,因为我找不到~interop.dll可以从我的源存储库中引用的合适的设置(以便其他开发人员能够针对InDesign Server类、结构等进行编码)。我开始相信实际上没有这样的事情,这意味着每个开发人员都必须安装一个trial版本并通过包装器InDesign Server注册它。有人可以指出我正确的方向吗?Visual StudioCOM

提前谢谢!

0 投票
1 回答
274 浏览

c++ - 询问 XMP 元数据以外的 InDesign 文件

所以,我有一个需要处理由 Adob​​e InDesign (.INDD) 创建的文件的应用程序,虽然 XMP 元数据很有用,但我还想知道一些关于似乎不在其中的文件的其他事情元数据。

具体来说,我想知道实际页面的数量(不仅仅是创建的页面预览数量),以及这些页面的尺寸。

有没有人遇到任何可以让我获得此信息的工具包、sdk 等?

这将适用于非开源商业应用程序,因此许可证是一个潜在的障碍。此外,此应用程序不会成为任何 Adob​​e 产品的插件,因此 InDesign Plugin SDK 也不是一个选项。

C++ 是首选语言。

0 投票
3 回答
5965 浏览

adobe-indesign - 将 indesign 输出转换为 html5

我想编写一个查看器,将设计内输出格式转换为 html5 格式,并且 adobe indesign 中的所有用户设计都可以显示在浏览器中,但我不知道哪个输出适合我,我想我可以检索有关 adobe 的所有信息idml 导出中的 indesign,但问题是解析此类 XML 并以 html5 格式显示标签,我想知道将输出格式转换为 html5 的简单方法是否可行?是否可以下载 adobe indesign SDK 并将其方法用于此目的?