База данных MySQL для Adobe InDesign - PullRequest
2 голосов
/ 20 апреля 2011

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

У нас есть база данных MySQL, содержащая ряд продуктов (ну, на самом деле, 3200),По понятным причинам мы не хотим перепечатывать все в InDesign, чтобы создать наш каталог для нового сезона.У кого-нибудь есть опыт создания чего-то похожего на функциональность Microsoft 'Mail Merge' в InDesign?

Есть еще одна оговорка.Элементы в базе данных имеют уникальный серийный номер длиной 5 цифр.Затем у нас есть три цветные полосы, которые имеют цветовую кодировку в соответствии с двумя последними цифрами серийного номера изделия.Например, число 12345 будет иметь три вертикальные полосы, окрашенные в красный, зеленый и красный цвета (в нашей системе 5 представляет красный цвет, а 4 представляет зеленый цвет).

Кто-нибудь знает, если этот видфункционал доступен в InDesign?Я думал, что, возможно, можно сгенерировать файл PHP, который выводит все в формате PDF, но, поскольку нам, возможно, потребуется отредактировать несколько деталей, в идеале нам бы хотелось, чтобы эта информация была легко доступна и редактировалась в Adobe InDesign.

Если у кого-то есть опыт с этим, я, конечно, приветствую ваши комментарии.

Ответы [ 6 ]

3 голосов
/ 07 декабря 2012

InDesign имеет встроенные очень мощные функции XML. И вы можете сделать их более мощными с помощью XSLT.

Подробно описан весь рабочий процесс XML в моей книге «Руководство для дизайнеров по Adobe InDesign и XML».из Adobe Press.Или вы можете увидеть мои записи Lynda.com для «Динамических рабочих процессов с использованием Adobe InDesign и XML»

Я бы не использовал функцию объединения данных для чего-либо, кроме небольшого каталога, слишком сложно отредактировать полученный результатфайл.

Используя потоковый метод импорта XML, вы можете создать один образец макета, используя правильную структуру XML, а затем импортировать импорт с использованием параметров клонирования и фильтрации.

Если вам нужно изменить порядок расположенияЭлементы данных вы можете использовать XSLT при импорте или генерировать другую структуру XML, создав запрос в MySQL и снова экспортировав данные в XML.

Используя XSLT при импорте, как описано выше, вы можете заменитьномера с графикой.Мы сделали это с помощью информационного бюллетеня, где число, такое как 3, было заменено трехзвездочной графикой.

3 голосов
/ 06 июля 2012

Оба приведенных выше варианта сработают для ввода ваших данных, но они пропустят ваш другой вопрос, касающийся цветов. Я предполагаю, что при импорте данных вы хотите автоматически отображать цвета в соответствии с уникальным серийным номером, верно?

Таким образом, ответ состоит из двух частей: 1. Да, вы можете импортировать данные в формате XML. Это был бы самый простой и гибкий способ сделать это. Слияние данных хорошо для коротких документов, но для большого количества данных это было бы неплохо. В результате объединения данных создается один текстовый фрейм для каждой записи данных. Это было бы много дополнительной работы.

С другой стороны, XML можно импортировать для прохождения через документ, автоматического заполнения страниц и форматирования самого себя на основе стилей абзаца и символа. Книга: Руководство дизайнера по Adobe InDesign и XML научит вас, как импортировать XML.

Вопрос 2: «Как вы генерируете цветные фишки», немного сложнее. Вам нужно написать XSLT для загрузки графики на основе чисел в серийном номере. Мы сделали нечто похожее на это со звездами в информационном бюллетене по портфелю акций, используя подпрограмму xsl:choose, чтобы выбрать правильное количество звездочек на основе данных в XML. Такие как:

<xsl:choose> 
<xsl:when test="name()='stars'">
<!--    <xsl:copy><xsl:apply-templates/></xsl:copy><xsl:text></xsl:text>-->
<xsl:choose> 
<xsl:when test="current()[.=2]"><stars>&#72; &#72;</stars>
</xsl:when>
<xsl:when test="current()[.=3]"><stars>&#72; &#72; &#72;</stars>
</xsl:when>
<xsl:when test="current()[.=4]"><stars>&#72; &#72; &#72; &#72;</stars>
</xsl:when>
<xsl:when test="current()[.=5]"><stars>&#72; &#72; &#72; &#72; &#72;</stars>
</xsl:when>
<xsl:otherwise></xsl:otherwise> 
</xsl:choose> 

Вы можете создать аналогичную процедуру и даже загрузить графику с жесткого диска или сервера. Когда вы импортируете XML в InDesign, вы загружаете XSLT в диалоговом окне параметров импорта XML. Это может помочь загрузить ваши цветные чипы на основе серийного номера.

Помимо возможности создания графических чипов, XSLT может помочь вам структурировать и содержимое данных, вставляя при необходимости возврат абзацев и другой стандартный текст и пробелы. Мне нравится использовать <xsl:text></xsl:text>, чтобы вставить пробел, который мне нужен для InDesign. Это работает как чемпион.

Много раз файлы XML не будут иметь пробелов или слишком много. Метод XSLT позволит вам при необходимости добавлять, удалять и контролировать пробелы в результирующем макете.

Надеюсь, это поможет.

1 голос
/ 26 сентября 2014

вы можете использовать www.porky.io для доступа к базе данных JavaScript.

И нет необходимости использовать формат файла обмена, такой как xml (но, конечно, это возможно), вы можете делать запросы напрямую через SQL.

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

1 голос
/ 31 января 2014

Я знаю, что это старая нить, но для любого, кто ищет другое решение для цветного чипа, вы можете использовать GREP в стилях абзацев и стилях персонажей, чтобы выполнить это довольно легко.

Например, используйте вышеупомянутый рабочий процесс XML, чтобы сбросить серийный номер в вашем местоположении, где вы хотите, чтобы цветные полосы. Примените стиль абзаца, давайте назовем его «Цветными полосами», к тексту шаблона здесь, и в опциях стиля абзаца «GREP» найдите номер 3 и примените к нему стиль символа «Красный», где это Стиль символов использует формат подчеркивания, масштабированный и стилизованный под ваши потребности. И примените тот же красный цвет к цифре 3, чтобы он исчез в подчеркивании.

Это основная идея, возиться со шрифтом (например, возможно, вам нужно использовать шрифт фиксированной ширины), масштабировать и размер шрифта, чтобы получить необходимый интервал и размещение.

И, возможно, используйте функцию «Вложенные стили» стиля абзаца, чтобы применить «белый» стиль символов к первым трем буквам, чтобы они исчезли на заднем плане.

1 голос
/ 30 июня 2012

Вы также можете попробовать функцию слияния данных InDesign из файла CSV.

1 голос
/ 30 апреля 2011

Сначала вы должны подготовить данные в формате XML, экспортировать в XML а затем импортируйте XML в документ indesign (View -> Structure; Import XML ...), который ранее готовился в InDesign

InDesign работает с данными XML, экономя много времени

...