Scripting API — обзор¶
Imposio включает встроенный движок JavaScript (вкладка Script). Скрипты выполняют те же операции, что вы делаете вручную — открывают документы, делают спуск полос, редактируют, экспортируют — для автоматизации рутины и стандартизации вывода.
Запуск скрипта¶
Откройте вкладку Script, напишите или откройте файл .js, затем нажмите Run.
Можно также записывать действия в интерфейсе: Imposio напишет эквивалентный скрипт
(фрагменты кода на этих страницах — это именно те вызовы, которые производит рекордер).
Объектная модель¶
Всё начинается с единственного глобального объекта imposio:
imposio.setUnits("mm");
var doc = imposio.open("/path/to/file.pdf"); // → Document
doc.setImposition({ /* … */ });
var out = doc.generateImposition(); // → новый Document
out.save("/path/to/out.pdf");
imposio— точка входа: открытие/создание документов, единицы измерения, утилиты.- Document — обёртка PDF: операции со страницами, экспорт, метаданные, безопасность, инспекция.
- Imposition — настройки
setImposition()иgenerateImposition(). - Слой редактирования — рисование и управление векторными фигурами, текстом и изображениями.
- Примеры — готовые скрипты.
Единицы измерения¶
Длины по умолчанию задаются в миллиметрах. Измените единицу для всех последующих
вызовов через imposio.setUnits()
("mm", "cm", "in", "pt").
Значения длин принимают число (в текущей единице) или строку с суффиксом, задающим единицу явно:
imposio.setUnits("mm");
doc.addBlankPage(-1, 210, 297); // мм
doc.addBlankPage(-1, "8.5in", "11in"); // явная единица для каждого значения
Координаты¶
Геометрия использует PDF-координаты: начало координат — в левом нижнем углу, Y
растёт вверх. Индексы страниц начинаются с 0. Диапазоны страниц — строки: "all",
"1-5", "odd", "even", "2,4,7" (пустая строка = все).
Обработка ошибок¶
Методы, завершившиеся с ошибкой, бросают исключение JavaScript (например, неверное
значение enum или отсутствующий документ). Оборачивайте рискованные вызовы в
try { … } catch (e) { … }, если нужно корректно обрабатывать сбои. Методы,
возвращающие Document, в случае ошибки возвращают null.