2010-05-05 4 views
3

мне нужно некоторые направления для следующей задачи:Доступ Adobe InDesign файлы

У меня есть много InDesign файлов и я должен настроить процесс, который будет отслеживать, если определенный пункт или текстовый блок изменился между Diferent версиями файл. Если текстовый блок изменился, я хочу извлечь этот текстовый блок в «переносном» формате (html, pdf, txt).

  1. Есть ли продукт Adobe, который бы это сделал?
  2. Есть ли общедоступный API для доступа к файлу InDesign?
  3. Есть ли возможность экспортировать InDesign, скажем, html?

ответ

5

Напишите сценарий в «Adobe ExtendScript Toolkit» (или любой другой редактор, хотя ExtendScript даст вам такие вещи, как подсказка кода и помощь в том, какие объекты доступны) с использованием JavaScript, AppleScript (только для Mac) или VBScript (Win -только). Помимо синтаксиса все три языка предлагают одинаковый доступ к объектам InDesign.

С помощью скриптов вы можете почти сделать все, что вы могли бы сделать «вручную». Таким образом, вы можете просто искать правильный текстовый объект и извлекать из него текст. Скрипты также позволяют работать с несколькими файлами, поэтому вы можете сравнить две версии файла.

См. InDesign Scripting tutorial (здесь для CS5) для получения дополнительной информации, примеров и справок.

1

Насколько я знаю, нет никаких фреймворков для доступа к файлам InDesign, но есть много для PDF, если вы хотите пойти по этому маршруту.

Вы можете экспортировать InDesign файлы в формате PDF, а затем написать скрипт отслеживания с помощью PHP и PDFLib (http://www.php.net/manual/en/ref.pdf.php)

2

Да, Adobe делает InCopy доступна, который предназначен для редактирования текста внутри INDESIGN документов. Вы также можете написать плагин для InDesign (который будет работать в InCopy), который будет управлять текстовыми обновлениями и изменениями в файле.

Есть возможность экспортировать INX-файл, который, насколько я помню, является XML, поэтому вы можете его проанализировать. Нет публичного API, кроме как если вы пишете плагин для самого InDesign. И у вас есть экспорт XML, но для его правильной работы вам нужно пометить свой документ и линеаризовать его (определить порядок фрагментов текста по отношению к порядку текста XML).

Однако, если вы не совсем сумасшедшие, вам следует избегать изучения ADM и всего материала Adobe C++ и попробовать Javascript, который в последних творческих студиях стал порядочным. Это может быть актуально: http://oreilly.com/catalog/9780596528171

0

Если вы на маке, которую вы могли бы написать, и скрипт apple, который мог бы открыть файлы indesign, прочитать указанные текстовые поля и сравнить и обработать их в текстовый файл или что-то в этом роде.

Смежные вопросы