Объект imposio¶
Глобальная точка входа. Открывает и создаёт документы, управляет единицами измерения.
Открытие и создание документов¶
imposio.open(path, opts?)¶
Открывает файл с диска. По расширению: PDF (напрямую), изображения
(PNG/JPEG/BMP/GIF/TIFF/WebP → одна страница), SVG, PostScript (PS/EPS, через Ghostscript),
EPUB или текст/Markdown. Возвращает Документ, при ошибке null (+
исключение).
| Параметр | Тип | Описание |
|---|---|---|
path |
string | Абсолютный путь к файлу. |
opts |
объект | Параметры импорта (ниже); длины в текущих единицах. |
opts для изображений: { size: [w, h] | dpi: N, bleed: { size, rgb: [r,g,b] (0–255) |
cmyk: [c,m,y,k] (0–100), backPage: true } } — size/dpi задают размер страницы /
разрешение печати; bleed добавляет рамку вылета сплошного цвета (страница растёт на
size с каждого края, обрезной формат = изображение, CMYK попадает в PDF как DeviceCMYK
без конверсии), а backPage: true добавляет вторую страницу, залитую тем же цветом.
opts для текста/EPUB: { pageSize: [w, h], margin, font, fontSize, wrap, encoding, markdown }.
var doc = imposio.open("/Users/me/jobs/booklet.pdf");
var card = imposio.open("card.png",
{ size: [90, 50], bleed: { size: 3, cmyk: [0, 100, 100, 0], backPage: true } });
imposio.newDocument(width, height)¶
Создаёт новый пустой одностраничный документ. Размеры задаются в текущей единице. Возвращает Document.
| Параметр | Тип | Описание |
|---|---|---|
width |
number|string | Ширина страницы (текущая единица или строка, например "210mm"). |
height |
number|string | Высота страницы. |
imposio.activeDocument()¶
Возвращает активную вкладку PDF в интерфейсе как borrowed Document (изменения
влияют на живой документ; скрипт его не удаляет). В режиме headless/CLI или без
открытых документов возвращает null.
imposio.activePage()¶
Возвращает 0-базированный индекс страницы, отображаемой в активной вкладке, или
-1, если нет.
Единицы измерения¶
imposio.setUnits(units)¶
Задаёт единицу для всех последующих значений длин и геттеров. Возвращает true;
неизвестная единица бросает исключение.
| Значение | Единица |
|---|---|
"mm" |
миллиметры (по умолчанию) |
"cm" |
сантиметры |
"in" / "inch" |
дюймы |
"pt" / "point" |
пункты PostScript |
imposio.units()¶
Возвращает текущую единицу в виде строки.
Утилиты единиц¶
| Метод | Возвращает |
|---|---|
imposio.toPt(v) |
v (текущая единица) → пункты |
imposio.fromPt(pt) |
пункты → текущая единица |
imposio.mmToPt(mm) |
миллиметры → пункты (всегда мм) |
imposio.ptToMm(pt) |
пункты → миллиметры (всегда мм) |
imposio.setUnits("in");
var pts = imposio.toPt(8.5); // 612
Файлы данных¶
imposio.loadData(path, opts?)¶
Загружает табличный файл для объединения переменных данных.
Поддерживает CSV / TSV / TXT / XLSX / ODS / JSON. Возвращает
{ columns: […], rows: [[…]], format }; при ошибке бросает исключение.
Ключ opts |
Описание | По умолчанию |
|---|---|---|
encoding |
напр. "windows-1250" |
"Auto" |
firstRowHeaders |
Первая строка содержит имена столбцов | true |
delimiter |
напр. ";" (CSV) |
авто |
imposio.combineData(tables, opts?)¶
Объединяет несколько таблиц (из loadData или собранных в скрипте) в одну
{ columns, rows }. tables — массив.
Ключ opts |
Значения | Смысл |
|---|---|---|
modes |
["append"\|"parallel", …] |
Как tables[i] присоединяется к результату (modes[0] игнорируется): append = строки снизу, parallel = столбцы рядом. |
mismatch |
"pad" (по умолчанию), "cycle", "truncate" |
Parallel-таблицы с разным числом строк. |
Watermark¶
imposio.readWatermarkImage(path, opts?)¶
Читает watermark Imposio из отрендеренного или отсканированного изображения и
возвращает { ok, text }. opts { seedX, seedY } — пиксельные координаты клика по
узору (для frame-watermark — в любом месте на границе), благодаря чему чтение
надёжно даже поверх пёстрого фона. О встраивании см.
addWatermark.
var r = imposio.readWatermarkImage("scan.png", { seedX: 620, seedY: 18 });
if (r.ok) console.log("watermark:", r.text);