javascript - Indesign(IDML 文件)自动化使用 HTML5 和 Javascript

标签 javascript html angularjs automation idml

我正在研究 IDML 文件自动化。我的要求是在 HTML5 编辑器中展示 IDML 模板。

我有一个带有 Hello World 文本的简单 TextFrame。我将文件保存为:sample.idml。然后,我解压缩了 sample.idml 并得到了一些文件。转到 stories 文件夹并打开:story_d8.xml

因为我是一名开发人员,所以我使用 Java 完成了这项工作,并将文件路径公开为 REST 调用。最大的停止点是:jQuery/AngularJS 脚本说:无效文件

有人可以建议解决以下问题的选项:

  1. 使用 JavaScript(jQuery/AngularJS)获取 Content 数据

  2. 将“Demo Hello”放入Content并重新生成story_d8.xml(使用JavaScript)

  3. 这是正确的方法吗?这种方法有替代方法吗?

最佳答案

老问题,但我会为其他人回答。

A1) 它是纯 XML,因此您应该能够像任何其他文件一样将其流式传输出来。一旦你得到它,你需要parse它使用 jquery。然后你可以遍历树并找到你要找的节点。如果每个故事文件中只有一个节点,那么您可以使用正则表达式自行解析它。但听起来您不希望客户端上的所有数据,只需要某些字段中的数据 - 所以只需让 Java 解析数据并将其发送到客户端应用程序即可。

A2) 您可以使用 JavaScript 更新 XML,但无论如何您都必须将其发送回中间层以便将其保存回 IDML 文件,所以我只将数据发送到服务器并让服务器处理它。 Java 就可以了。

A3) 好吧,在不知道您想要完成什么的情况下,我建议您尽一切可能在服务器端完成。您提到需要为 IDML 文件提供“HTML5 编辑器”。这本身就是一个从头开始做的巨大要求,尽管它 is possible .我建议您查看可以通过网页(使用 Flash/Flex 客户端)维护 IDML 文件的几种产品之一

您可以在线维护/查看 IDML 的第 3 方产品的一些(非常昂贵的)示例可能是 Adobe InDesign Server SDKNXPublisher .

我的项目是基于 IDML 模板从某人输入网页的数据创建 IDML 文件。我是这样处理的:

  • 用户输入表单数据
  • 发送到服务器的数据
  • 服务器将适当的 IDML 模板文件解压缩到一个新的临时文件夹中
  • 服务器打开提取的故事文件并搜索和替换预定义的关键字(例如 标签内的 {{first_name}}),然后用用户提供的内容替换该文本。
  • 重复每个字段
  • 将临时文件夹文件压缩到新的 IDML 文件中
  • 每天一次,有人会在 Mac 上加载 InDesign 并运行我编写的一个小自动化脚本,该脚本会遍历所有等待的 IDML 文件并从中创建可打印的 PDF 文件。

我很想知道您的解决方案是什么。但是,如果有人知道在线查看/编辑 IDML 的廉价解决方案(尤其是使用 HTML5 客户端),我肯定想听听。 ;)

关于javascript - Indesign(IDML 文件)自动化使用 HTML5 和 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23893514/

相关文章:

javascript - 查找页面的最大滚动位置

javascript - 如果服务器不过滤JSONP的回调参数,是否会存在安全问题?

html - 调用时 BG 不显示

jquery - 捕获包含内联 svg 的 div 并将其下载为图像

javascript - Visual Studio (DefinitelyTyped) 上的 AngularJS 和 Typescript 存在很多问题

javascript - 导入,需要吗?如何将 Javascript 文件混合在一起?

javascript - 单击第二个后取消选中第一个过滤器

html - CSS 动画故障,悬停时

javascript - 温泉 : create right to left slide button

AngularJS:错误:没有 Controller :表单