Как сделать qr код в индизайне

Обновлено: 07.07.2024

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

Что такое QR можно узнать из Википедии.

Для печатных изданий QR-код — очень хороший способ предоставления различной информации, которую можно распознать современными мобильными телефонами с фотокамерами. Информация может содержать, например, ссылку на страницу в интернете, контактную информацию в виде vCard и прочие полезности.

Для получения QR-кода при помощи скрипта в InDesign есть два пути: генерировать код непосредственно в скрипте или воспользоваться внешним генератором кодов. Первый путь, несмотря на кажущуюся простоту не совсем прост, поскольку потребует от разработчика скрипта довольно специфичных знаний о кодировании двоичных данных. Второй путь быстрее, полезнее, интереснее. И для ленивых.

Для получения QR-кодов будет использоваться очень полезный сервис QR coder. Это очень хороший, быстрый (что важно) сервис получения кодов с полной поддержкой кириллицы (что тоже важно).

Для работы скрипта будет использоваться сервис постоянной ссылки на изображение вида

Итого техзадание на скрипт: открыть ссылку с нужным параметром, получить и записать сгенерированный gif, поместить его в документ InDesign.

Ввиду неудовлетворительного поведения сокетов было принято решение в стиле «Если пальма не идет к Джохе, так Джоха пойдет к пальме». В данном случае такой подход означает, что нужно найти средство гарантированно получить требуемый код с сайта и сохранить его на диск, а уже потом поместить его в документ InDesign. И этим средством (по большей части в демонстрационных целях) стал python.

Для получения QR-кода с сайта был написан простой python-скрипт с использованием стандартной библиотеки urllib. С получением QR-кода с сайта скрипт справился отлично.

Была сделана корректировка техзадания. Теперь скрипт InDesign должен был получить данные для кодирования, передать их в скрипт на python, получить записаный gif и поместить его в документ.

Получение данных для кодирования было решено сделать при помощи самого простого диалогового окна типа prompt. Передачу данных было решено сделать при помощи простого текстового файла, в который скрипт InDesign будет записывать даные для кодирования, а скрипт python считывать и использовать. В принципе, данные можно передавать как параметры для скрипта python, но это могло несколько усложнить разработку и тестирование ввиду наличия разных кодировок в операционных системах. Такое решение я не стал бы рекомендовать, как постоянное, но для быстрой разработки скрипта для ленивых — вполне приемлимо.

Запуск python-скрипта в первоначальном варианте производился с помощью вызова команды execute() для файла скрипта. Этот метод в данном случае не годится совершенно, потому, что execute() выполняет ассоциированную с типом файла команду, а это совершенно не обязательно запуск выполнения. Поэтому более надежным (но одновременно и более сложным) является вызов нужной команды в терминале операционной системы. InDesign, к счастью, поддерживает выполнение не только ExtendScript, но и VBScript (для Windows) и AppleScript (для Mac). С помощью команды app.doScript() на обоих операционных системах можно запустить команду в терминале.

Возможно, что при выполнении запроса к сервису qr-кодов, файрволл запросит разрешение на сетевую активность InDesign (а не python). Это означает, что файрволл настроен хорошо и внимательно следит за системой. Для получения qr-кода следует разрешить InDesign доступ в сеть.

Следующий шаг, потребовавший нетривиального решения, это получение записанного gif-файла. В принципе, можно заставить python при неудачном обращении к сервису генерации кодов возвращать ошибку, но это сложно и не нужно для такого простого скрипта.

Из метода помещения gif-файла в документ очевидно, что gif-файлы должны иметь уникальные имена — чтобы даже случайно не поместить в документ qr-код, созданный ранее. Поэтому в качестве имен файлов используется значение getTime(), которое равно количеству миллисекунд , прошедших с полуночи 1 января 1970 года GMT. Очень маловероятно, что пользователь запустит скрипт дважды на протяжении одной миллисекунды, потому имена файлов можно заведомо считать уникальными.

Теперь стало возможным создавать и редактировать графику QR-кодов высокого качества прямо в InDesign. Сформированный QR-код представляет собой графический объект с высокой точностью передачи; работа с таким объектом в InDesign не отличается от работы со встроенной векторной графикой. Объект легко масштабируется и заливается цветами. К объекту можно также применить эффекты, прозрачность и атрибуты печати, такие как надпечатки, плашечные краски и треппинг. Графику кода можно перенести путем копирования и вставки в стандартный графический редактор, такой как Adobe Illustrator, в качестве объекта векторной графики.

Формирование QR-кода.

1. В меню выберите «Объект» > «Создать QR-код» . Отображается диалоговое окно «Создать QR-код» .

2. На вкладке «Содержимое» в раскрывающемся списке «Тип» можно выбрать один из следующих типов данных:

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

3. Вкладка «Цвет» содержит раздел «Список образцов». Чтобы применить цвет к QR-коду, перейдите на вкладку «Цвет» и выберите нужный цвет. По умолчанию при формировании QR-кода ему назначается цвет «Черный» с прозрачным фоном.

5. Если перед формированием QR-кода выбран фрейм, код размещается непосредственно в выбранном фрейме, заменяя его содержимое.
Если фрейм не выбран, QR-код загружается в инструмент помещения «Пистолет», после чего его можно поместить как обычный объект EPS следующим образом.

  • При щелчке внутри документа объект помещается с исходным размером (используемым по умолчанию): 30 x 30 (единица измерения – см).
  • При щелчке в существующем фрейме код помещается внутри фрейма с размером по умолчанию (если щелкнуть во фрейме при нажатой клавише Alt, код заменяет существующее содержимое фрейма).
  • При щелчке с последующим перетаскиванием вычерчивается новый фрейм с неизменными пропорциями, а в момент отпускания кнопки мыши код помещается внутри этого фрейма.

QR-код, помещенный в документ, отличается от обычного объекта EPS только тем, что при наведении на него курсора отображается всплывающая подсказка со сведениями о содержимом в виде встроенного кода.

Изменение содержимого и цвета для QR-кода

Изменение атрибута фрейма с QR-кодом

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

Преобразование объекта QR-кода

Инструмент «Выделение» позволяет перемещать и поворачивать объект QR-кода, а также изменять его размер. При перетаскивании рамки фрейма изменяется только размер фрейма. Однако поддерживаются также следующие варианты перетаскивания.

Читайте также: