[ID CC-CC2021] Интеграция с базами данных

veretragna

γνώσις
Топикстартер
Сообщения
578
Реакции
199
Здравствуйте.
Есть ли метод подружить InDesign с базой данных для получения оттуда отдельных значений и фрагментов таблиц?

Планирую сделать автоматический документ, который будет брать некоторые данные из базы данных и вставлять их автоматически в макет. Для понимания: наше производство имеет отдел технической документации, где разрабатываются спецификации для продукции; я нахожусь в другом городе и разрабатываю согласно этих спецификаций этикетки. Этикеток много, форма стандартная, все поля для данных находятся понятно где. Хочется упростить работу и автоматизировать вставку свежих данных прямо из базы.

Простое решение есть: банально через эксель, это намного проще и понятнее, это я уже делал, и отдел технической документации с ним работает.
Но хочется сделать что-то амбициозное с прицелом на далекое будущее, если экселя станет недостаточно; и хочу научиться чему-то новому, в порядке эксперимента.

Есть варианты подружить макет с MSSQL, MySQL, SQLite или MS Access, вдруг есть какое-то готовое решение, чтобы поковыряться и понять, как это работает. Пока что такого не нашел. Есть хороший опыт работы с SQLite, поэтому уверен в своих силах.
 

veretragna

γνώσις
Топикстартер
Сообщения
578
Реакции
199
Спасибо, буду разбираться.
 

veretragna

γνώσις
Топикстартер
Сообщения
578
Реакции
199
А механизм поставки данных? Формат данных-то можно использовать любой, хоть xml c xslt, хоть json парсить в самом скрипте, но принципиально именно брать данные из базы
 

imma

15 лет на форуме
Сообщения
3 089
Реакции
2 185
Именно с базой я не работал. Алгоритм был такой.

1) Таблица в Excel, обновили данные, save as XML
2) Импорт XML в Indesign с применением XSLT до понятной для Indesign структуры. XSLT подтягивается в самом Indesign. Ну или скриптом.

Т.е., нужен XML с данными, который линкуется к Indesign файлу. Исходную структуру XML-файла получают экспортом из Indesign-файла предварительно его подготовив, т.е. разметить тегами.

Обновили данные, выгрузили XML, импортировали в Indesign, обновили файл в палитре Links. Все.
 

veretragna

γνώσις
Топикстартер
Сообщения
578
Реакции
199
Именно с базой я не работал. Алгоритм был такой.

1) Таблица в Excel, обновили данные, save as XML
2) Импорт XML в Indesign с применением XSLT до понятной для Indesign структуры. XSLT подтягивается в самом Indesign. Ну или скриптом.

Т.е., нужен XML с данными, который линкуется к Indesign файлу. Исходную структуру XML-файла получают экспортом из Indesign-файла предварительно его подготовив, т.е. разметить тегами.

Обновили данные, выгрузили XML, импортировали в Indesign, обновили файл в палитре Links. Все.

Так я уже умею
Простое решение есть: банально через эксель, это намного проще и понятнее, это я уже делал, и отдел технической документации с ним работает. Но хочется сделать что-то амбициозное с прицелом на далекое будущее, если экселя станет недостаточно; и хочу научиться чему-то новому, в порядке эксперимента.
 

veretragna

γνώσις
Топикстартер
Сообщения
578
Реакции
199

romyk

10 лет на форуме
Сообщения
1 353
Реакции
247
Интересный плагин, но нет упоминаний работы с базой данных
Сложилось такое мнение, что давать любым сторонним приложениям возможность работы напрямую с базой - не есть гуд. Поэтому проще сделать выгрузку из базы в хотфолдер, а оттуда подхватывать данные как кому удобно. В более серьезных продуктах Esko есть прямая интеграция с внешними базами данных, но я не уверен, нужно ли вам это. Interact with Database task
 

George

I wish I was a monster you think I am
15 лет на форуме
Сообщения
17 300
Реакции
7 863

 

veretragna

γνώσις
Топикстартер
Сообщения
578
Реакции
199
Сложилось такое мнение, что давать любым сторонним приложениям возможность работы напрямую с базой - не есть гуд. Поэтому проще сделать выгрузку из базы в хотфолдер, а оттуда подхватывать данные как кому удобно. В более серьезных продуктах Esko есть прямая интеграция с внешними базами данных, но я не уверен, нужно ли вам это. Interact with Database task
Это я понимаю, но я же учиться собрался :)
В любом случае я хочу написать что-то свое, которое будет работать прямо с базой данных.
Опасения по поводу незапланированных воздействий сторонних программ на рабочую базу - думаю, это можно решить, если не отдельной базой специально под это дело (в которую будут копироваться свежие данные), то клонированием.


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

George

I wish I was a monster you think I am
15 лет на форуме
Сообщения
17 300
Реакции
7 863
  • Спасибо
Реакции: veretragna

veretragna

γνώσις
Топикстартер
Сообщения
578
Реакции
199
Кэп подсказывает, что тикап не откажет Дон-Кихоту с триалом.
Скачал, изучил. Почти весь функционал спрятан в бинарный плагин, так что в целом мне там нечего делать.
Пока буду присматриваться к CEP, там есть сэмплы. Нашел пример расширения, которое умеет в MySQL
 

kstati

иɯɐɯɔʞ
10 лет на форуме
Сообщения
1 138
Реакции
512
Я вам не предлагал Excel. Я описал способ получения XML, с которым я работал. У вас этот способ может быть другой.

myqsl давно нативно работает с xml
Код:
$>mysql -e 'select * from table' --xml database > output.xml
 
  • Спасибо
Реакции: veretragna и imma

veretragna

γνώσις
Топикстартер
Сообщения
578
Реакции
199
myqsl давно нативно работает с xml
Код:
$>mysql -e 'select * from table' --xml database > output.xml
Посмотрел на вывод этой команды, есть примеры на stackoverflow.
Очень дельный совет, я, пожалуй, копну и в эту сторону