使用HTML5和Javascript实现Indesign(IDML文件)自动化

使用HTML5和Javascript实现Indesign(IDML文件)自动化,javascript,html,angularjs,automation,idml,Javascript,Html,Angularjs,Automation,Idml,我正在研究IDML文件自动化。我的要求是在HTML5编辑器中展示IDML模板 我有一个简单的文本框,里面有Hello World文本。我将文件保存为:sample.idml。然后,我解压缩了sample.idml,得到了一些文件。转到stories文件夹并打开:story\u d8.xml 因为我是一名开发人员,所以我使用Java实现了这一点,并将文件路径公开为REST调用。最大的停止点是:jQuery/AngularJS脚本说:无效文件 有人能提出解决以下问题的建议吗: 使用JavaScrip

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

我有一个简单的
文本框
,里面有Hello World文本。我将文件保存为:
sample.idml
。然后,我解压缩了
sample.idml
,得到了一些文件。转到
stories
文件夹并打开:
story\u d8.xml

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

有人能提出解决以下问题的建议吗:

  • 使用JavaScript(jQuery/AngularJS)获取
    内容
    数据

  • 将“Demo Hello”放在
    内容中
    并重新生成
    故事_d8.xml
    (使用JavaScript)

  • 这是正确的方法吗?除此之外还有其他选择吗


  • 老问题,但我会替别人回答

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

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

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

    您可以在线维护/查看IDML的一些第三方产品(非常昂贵)示例可以是或

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

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

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

    不久前,我和 考虑阅读元素——我们构建了自己的脚本来读取IDML。 我将IDML读入自己的DB“格式”,然后用于生成高分辨率PDF 我使用flex/flash构建了一个编辑器