Indesign (файл IDML) Автоматизация с использованием HTML5 и Javascript

Я работаю над автоматизацией файлов IDML. Мое требование — продемонстрировать шаблон IDML в редакторе HTML5.

У меня есть простой TextFrame с текстом Hello World. Я сохранил файл как: sample.idml. Затем я распаковал sample.idml и получил несколько файлов. Зашел в папку stories и открыл: story_d8.xml.

Поскольку я разработчик, я сделал это с помощью Java и указал путь к файлу как вызов REST. Самая большая остановка: скрипт jQuery/AngularJS говорит: неверный файл.

Может кто подскажет варианты для решения следующих пунктов:

  1. Получите Content данные с помощью JavaScript (jQuery/AngularJS)

  2. Поместите "Demo Hello" в Content и перегенерируйте story_d8.xml (используя JavaScript)

  3. Это правильный подход? Есть ли альтернатива этому подходу?


person OpenSourceDev    schedule 27.05.2014    source источник


Ответы (2)


Старый вопрос, но я отвечу на него другим.

A1) Это обычный XML, поэтому вы сможете просто передать его, как любой другой файл. Как только вы его получите, вам нужно будет разобрать его с помощью jquery. Затем вы можете пройтись по дереву и найти нужный узел. Если у вас есть только один узел в каждом файле истории, вы можете просто разобрать его самостоятельно, используя регулярное выражение. Но похоже, что вы не хотите, чтобы все это было на клиенте, только данные в определенных полях, поэтому просто позвольте Java проанализировать данные и просто отправить их в клиентское приложение.

A2) Вы можете обновить XML с помощью JavaScript, но вам придется отправить его обратно на промежуточный уровень, чтобы в любом случае сохранить его обратно в файл IDML, поэтому я просто отправлю данные на сервер и позволю серверу справиться. Для этого подойдет Java.

A3) Ну, не зная точно, чего вы пытаетесь достичь, я бы предложил сделать все, что вы можете, на стороне сервера. Вы упомянули о необходимости предоставить «редактор HTML5» для файлов IDML. Это само по себе является огромной просьбой сделать это с нуля, хотя это возможно< /а>. Я бы посоветовал вам взглянуть на один из нескольких продуктов, которые могут поддерживать файлы IDML через веб-страницу (с использованием клиента Flash/Flex).

Несколько (очень дорогих) примеров сторонних продуктов, которые вы можете использовать для поддержки/просмотра IDML в Интернете, могут быть Adobe InDesign Server SDK или NXPublisher.

Мой проект заключался в создании файлов IDML на основе шаблонов IDML из данных, которые кто-то ввел на веб-страницу. Я обработал это так:

  • Пользователь ввел в форму данные
  • Данные отправлены на сервер
  • Сервер распаковывает соответствующий файл шаблона IDML в новую временную папку.
  • Сервер открывает извлеченные файлы историй и выполняет поиск и замену предопределенных ключевых слов (например, {{first_name}} внутри тега ‹content›), а затем заменяет этот текст тем, что предоставил пользователь.
  • Повторите над каждым полем
  • Заархивируйте файлы временной папки в новый файл IDML
  • Раз в день кто-то загружал InDesign на Mac и запускал написанный мной небольшой скрипт автоматизации, который перебирал все ожидающие файлы IDML и создавал из них готовые к печати PDF-файлы.

Мне было бы интересно узнать, каково было ваше решение. Но если кто-нибудь знает дешевое решение для просмотра/редактирования IDML в Интернете (особенно с использованием клиента HTML5), я бы хотел услышать об этом. ;)

person PRB    schedule 22.11.2014

Я пошел по этому пути не так давно с http://www.treeorgtech.com/ Рассмотрим http://idmllib.com/ для чтения элементов — мы создали собственные сценарии для чтения IDML. Я прочитал IDML в своем собственном «формате» БД, а затем использовал http://www.pdflib.com/. для создания PDF-файлов высокого разрешения я использовал flex/flash для создания редактора.

person Murray    schedule 24.03.2015