Обзор pdfimpose: схемы импозиции, установка и ограничения
pdfimpose решает узкую задачу допечатной подготовки: берёт один или несколько PDF и переставляет исходные страницы на более крупных листах так, чтобы после двусторонней печати, резки, складывания и переплёта получилась нужная последовательность. Это не просмотрщик и не редактор PDF, а Python-пакет с консольной утилитой и библиотекой. Такая специализация важна: pdfimpose полезен там, где обычной команды «несколько страниц на листе» уже недостаточно, но полноценный издательский комплекс был бы избыточен.
| Параметр | Актуальное состояние |
|---|---|
| Версия | 2.9.0, выпуск от 24 марта 2026 года |
| Разработчик | Louis Paternault; проект поддерживается под именем spalax |
| Тип | Консольная утилита и Python-библиотека для PDF imposition |
| Вход и выход | PDF → новый PDF с переставленными страницами |
| Схемы | cards, copycutfold, cutstackfold, onepagezine, hardcover, saddle, wire |
| Лицензия | GNU AGPL 3.0 или более поздняя версия |
| Python | Не ниже 3.10 и ниже 4; PyPI указывает классификаторы 3.10–3.14 |
| Среда | Console; пакет классифицирован как OS Independent |
| Учётная запись и облако | Для локального пакета не требуются |
| Графический интерфейс | В основном пакете отсутствует |
Скачать pdfimpose
Новейшая версия для Виндовс, macOS и Линукс. Удобный редактор PDF под российские реалии.
На 12 сентября 2026 года актуальный стабильный выпуск pdfimpose в Python Package Index — 2.9.0 от 24 марта 2026 года. Он опубликован как исходный архив pdfimpose-2.9.0.tar.gz и универсальный wheel pdfimpose-2.9.0-py3-none-any.whl; статус проекта на PyPI — Production/Stable. Официальный способ установки: python -m pip install pdfimpose. Исходный код размещён в репозитории Framagit.
Получать пакет безопаснее через PyPI или официальный репозиторий. PyPI публикует SHA-256 для обоих файлов, поэтому локально скачанный дистрибутив можно проверить перед установкой. У проекта нет отдельного официального EXE- или DMG-инсталлятора: это Python-пакет, а не нативная настольная программа.
Документация показывает и сборку Debian-пакета через stdeb, но это рецепт самостоятельной упаковки, а не готовый поддерживаемый apt-пакет. Отдельный сайт pdfimpose.it — самостоятельный веб-интерфейс поверх pdfimpose и pdfautonup, размещённый на PythonAnywhere. Его нельзя смешивать с локальным пакетом: CLI из PyPI не требует загрузки PDF на этот сайт.
Что такое pdfimpose
pdfimpose — проект Louis Paternault для PDF imposition, то есть раскладки страниц будущего издания на печатных листах. Программа вычисляет порядок, положение и поворот страниц так, чтобы после двусторонней печати, резки, складывания и переплёта восстановился нормальный порядок чтения.
Это не PDF-редактор, OCR-система и просмотрщик. На входе должен быть уже подготовленный PDF; результатом становится новый PDF для печати. Основной интерфейс — pdfimpose SCHEMA файл.pdf. Например, pdfimpose saddle brochure.pdf применяет схему вложенных листов для брошюры. Для каждой схемы актуальные параметры показывает pdfimpose SCHEMA —help.
В пакет входит и Python API. Разработчик считает стабильными только объекты, перечисленные в официальной документации модулей pdfimpose.schema и семи схем; другие публично выглядящие объекты могут меняться. В обзоре рассматривается именно пакет pdfimpose 2.9.0 из PyPI, а не отдельный браузерный сервис pdfimpose.it.
Основные функции pdfimpose
Семь схем раскладки
| Схема | Назначение | Что происходит после печати |
|---|---|---|
| cards | Карточки с лицом и оборотом | Лист печатают с двух сторон и режут; bind определяет ось переворота |
| copycutfold | Несколько экземпляров небольшого издания | Стопку режут на несколько стопок, каждую складывают и переплетают |
| cutstackfold | Один экземпляр из нескольких частей листа | Печатные листы режут, стопки соединяют в порядок, затем складывают |
| onepagezine | Восьмистраничный однолистовый зин | Формируется только лицевая раскладка; постер на обороте печатается отдельно |
| hardcover | Книжные тетради | Большие листы складывают, при необходимости режут, тетради собирают в блок |
| saddle | Журналы и брошюры со скреплением по сгибу | Листы складывают и вкладывают друг в друга |
| wire | Блок после резки на отдельные страницы | Страницы режут, собирают по порядку и скрепляют механически |
Схемы copycutfold и cutstackfold похожи только на экране: физический порядок резки и сборки у них разный. Для hardcover и saddle параметр group позволяет делить объём на группы листов, то есть на отдельные сигнатуры. Схема perfect с версии 2.5.0 объявлена устаревшей и заменена hardcover.
Размер листа, сигнатура, поля и метки
—signature WIDTHxHEIGHT задаёт матрицу исходных страниц, например 2×3. —format задаёт размер выходного листа, после чего программа подбирает вместимость. В соответствующих схемах size и signature взаимоисключающие; для hardcover и saddle с ними также конфликтует folds.
—imargin добавляет расстояние вокруг исходных страниц, —omargin — вокруг выходного листа. В 2.9.0 при подборе вместимости для —format эти поля не учитываются, поэтому итоговая страница может стать больше заданного формата. Для критичной геометрии размер результата нужно проверить отдельно.
Метки задаются —mark. Общий CLI-код предусматривает crop и bind для схем, которые их открывают, но документация ряда конкретных схем гарантирует только crop. Поэтому набор значений нужно брать из pdfimpose ИМЯ_СХЕМЫ —help, а не переносить между схемами по памяти.
Последние страницы, группировка и направление переплёта
—last N сохраняет заданное число последних страниц в конце; если нужны пустые вставки, они добавляются перед ними. Это полезно, например, для задней обложки. —group определяет группировку печатных листов перед резкой или складыванием, а bind — сторону переплёта или переворота: left, right, top либо bottom. Значение group по умолчанию зависит от схемы, поэтому его лучше задавать осознанно.
Несколько PDF, потоки и конфигурация
CLI принимает несколько PDF как общую последовательность. Без явного —output файл manual.pdf превращается в manual-impose.pdf. Если входной файл не указан, данные могут читаться из стандартного ввода; вывод «-» направляет PDF в стандартный вывод. Это удобно для скриптов и конвейеров.
pdfimpose apply читает параметры из конфигурации. Если путь не задан, программа ищет pdfimpose.cfg или .pdfimpose.cfg в текущем и родительских каталогах, затем в пользовательских местах и, в зависимости от ОС, в /etc. Для воспроизводимости лучше указывать cfg явно. В документации 2.9.0 есть несогласованность: формат назван YAML, но пример использует секции [general] и [hardcover] с записью key = value; ориентироваться следует на реально поддерживаемый синтаксис текущей версии.
Интерфейс и удобство использования
Собственного окна, миниатюр страниц и drag-and-drop у pdfimpose нет. Рабочая область — терминал: выбираются схема, геометрия, поля, метки, bind, group и имя результата. Для разработчика это компактно и воспроизводимо, но пользователю графических PDF-редакторов придётся освоить полиграфические термины и командную строку.
Навигация строится вокруг подкоманд: сначала общий help, затем справка конкретной схемы. Такой подход помогает не смешивать несовместимые параметры, но не заменяет понимания физической печати. Формально успешная команда не гарантирует правильный буклет, если неверно выбраны сторона переворота в драйвере, размер бумаги или порядок резки.
Сильная сторона CLI — повторяемость: команду можно сохранить рядом с проектом, вызвать из shell-скрипта, CI или Python-программы. Конфигурационный файл ещё больше сокращает ручную настройку, однако его автоматический поиск по каталогам делает явное указание cfg предпочтительным для производственных процессов.
Поддерживаемые форматы и совместимость
Основной рабочий формат pdfimpose — PDF на входе и PDF на выходе. Прямой импорт DOCX, ODT, EPUB или самостоятельных JPG/PNG официально не заявлен; такие материалы сначала экспортируют или конвертируют в PDF. Полученный imposed PDF можно открыть независимым просмотрщиком или передать следующему этапу печати.
Разработчик подчёркивает поддержку произвольного размера исходной бумаги. Если выходной формат приходится угадывать, текущая реализация использует A4; документация называет это произвольной деталью, которая может измениться. Для повторяемого процесса размер или сигнатуру лучше задавать явно.
PyPI классифицирует пакет как OS Independent, wheel — как py3-none-any. При этом должны устанавливаться зависимости papersize, PyMuPDF, argdispatch и pyxdg, поэтому совместимость конкретной машины определяется также доступностью этих компонентов для выбранной версии Python.
Подготовительные операции разумно отделять от импозиции: объединить или разделить файлы можно в PDFsam Basic, а исправить содержимое и страницы — в PDF-XChange Editor. Это не функции pdfimpose, а соседние этапы рабочего процесса.
Паспорт обратимости операций
| Операция | Что меняется | Как сохранить откат |
|---|---|---|
| Импозиция | Создаётся новый порядок и размещение страниц | Хранить исходный PDF как мастер |
| Пустые страницы | Могут добавляться для нужной кратности | Проверять позиции до тиража |
| Поля и метки | Входят в выходную печатную геометрию | Сохранять команду или cfg |
| Группировка | Меняет порядок физической сборки | Фиксировать group вместе с заданием |
| Вывод | По умолчанию получает суффикс -impose | Не подменять мастер-файл результатом |
pdfimpose следует считать генератором производного PDF. Пока сохранены оригинал, версия программы и параметры, раскладку можно пересоздать. Если остался только imposed PDF, автоматическое восстановление исходного логического порядка, удаление вставленных пустых страниц и печатных меток нельзя считать гарантированной обратной операцией.
При передаче задания другому человеку полезно отдавать результат вместе с исходником и точной командой или cfg. Тогда изменение формата, поля или стороны переплёта сводится к повторной генерации, а не к ручной «расклейке» готового спуска.
Производительность и стабильность
Официальных бенчмарков скорости, норм памяти и предельного числа страниц проект не публикует, поэтому конкретные секунды или гигабайты приписывать pdfimpose нельзя. Нагрузка зависит от объёма и сложности PDF, схемы и доступных ресурсов; существенную роль играет используемый пакет PyMuPDF.
PyPI помечает проект Production/Stable, но у 2.9.0 есть подтверждённые ограничения. Самое важное — —creep: встроенная справка прямо называет опцию broken и предупреждает, что вычисленное расстояние может быть неверным. Её оставили для совместимости, а не как надёжный производственный расчёт.
Второй риск — —format вместе с полями: подбор вместимости игнорирует imargin и omargin, поэтому выходной лист может превысить заданный формат. Третий — неявные defaults: если размер приходится угадывать, используется A4, причём документация допускает изменение этого поведения. Для стабильного процесса лучше явно задавать схему, геометрию, bind, group и имя результата.
Для Python-интеграции нужно держаться документированного API: разработчик не обещает стабильность всем объектам, чьи имена выглядят публичными. Обновление полезно сначала прогонять на контрольном PDF и сравнивать размеры листов и последовательность страниц.
Лицензирование и версии
pdfimpose распространяется по GNU Affero General Public License 3.0 или более поздней версии; PyPI использует выражение AGPL-3.0-or-later. Для локального пакета нет платной редакции, подписки, пробного срока, лицензионного сервера или лимита страниц по тарифу. Установка из PyPI не требует регистрации.
AGPL остаётся лицензией с условиями: при изменении, распространении или развёртывании кода как сетевого сервиса обязанности следует оценивать по тексту лицензии и конкретной модели использования. Отдельных редакций Home, Pro и Enterprise у пакета не заявлено; extras doc и test относятся к зависимостям документации и тестов, а не к платным функциям.
Условия отдельного сайта pdfimpose.it не следует переносить на CLI-пакет. Веб-сервис — самостоятельная оболочка поверх pdfimpose и pdfautonup; локальная установка остаётся локальным инструментом.
Хронология развития и поддержки
| Дата | Веха | Практическое значение |
|---|---|---|
| Март–апрель 2015 | 0.1.0-alpha1 и 0.1.0 | Начало публичной ветки проекта |
| 28 декабря 2017 | 1.0.0 | Переход к первой основной версии |
| 4 августа 2021 | 2.0.0 и 2.0.1 | Начало современной основной ветки 2.x |
| 19 февраля 2024 | 2.5.0 | Схема perfect объявлена устаревшей и заменена hardcover |
| 27 апреля 2025 | 2.8.0 | Предыдущий крупный публичный выпуск перед 2.9 |
| 24 марта 2026 | 2.9.0 | Актуальный стабильный выпуск на дату обзора |
Эта последовательность показывает, что pdfimpose нельзя относить к снятому с поддержки софту только из-за нишевого назначения и отсутствия GUI. Последний релиз появился менее чем за полгода до даты обзора, документация собрана для 2.9.0, а PyPI маркирует проект Production/Stable. Одновременно история с perfect показывает, что интерфейсы развиваются: старое название схемы не следует закреплять в новых скриптах, если документация уже указывает замену.
Для автоматизации полезно привязывать окружение к проверенной версии, а обновление сначала прогонять на контрольном наборе PDF. Это не означает, что 2.9.0 обязательно несовместима с 2.8.0; просто сам проект оставляет за собой право менять недокументированные объекты и отдельные детали поведения.
Системные требования
Python и пакетная среда
Единственное жёсткое требование к версии среды, опубликованное на PyPI для 2.9.0, — Python не ниже 3.10 и ниже 4. Классификаторы перечисляют Python 3.10, 3.11, 3.12, 3.13 и 3.14. Если на компьютере установлен Python 3.9 или более старый, актуальный pdfimpose 2.9.0 не соответствует объявленному диапазону.
Пакет зависит от papersize, PyMuPDF, argdispatch и pyxdg; при установке pip их совместимые версии разрешаются как зависимости. Сам wheel pdfimpose имеет тег py3-none-any, однако это не означает, что любой набор зависимостей одинаково доступен на любой архитектуре. Перед развёртыванием на редкой платформе стоит убедиться, что PyMuPDF и остальные компоненты устанавливаются для нужной версии Python.
Операционная система и ресурсы
В метаданных указан классификатор OS Independent и среда Console. Разработчик не публикует отдельную матрицу минимальных версий Windows, macOS или Linux для самого pdfimpose и не заявляет фиксированный объём RAM, процессор или место на диске. Поэтому точные системные цифры сверх требований Python были бы выдумкой.
Для локального запуска не нужен браузер, постоянное соединение с интернетом, аккаунт или облачное хранилище. Сеть нужна при типичной установке или обновлении из PyPI, если пакеты заранее не скачаны. Для фактической печати, разумеется, требуется принтер или последующая типография, но это уже не системное требование программы.
Для конфиденциальных документов различие между локальным пакетом и веб-сервисом особенно важно. FAQ pdfimpose.it сообщает, что загруженные PDF хранятся в оперативной памяти сервера, но одновременно прямо предупреждает не отправлять туда то, что пользователь не хотел бы считать потенциально публичным: владелец сервера технически имеет доступ к загрузкам, а у веб-приложения теоретически возможны уязвимости. Эти предупреждения относятся к сайту, а не к локальному CLI. Если документ нельзя передавать третьей стороне, разумный путь — локальная установка pdfimpose.
Карта критических зависимостей
| Зависимость | Когда нужна | Контроль |
|---|---|---|
| Python ≥3.10 и <4 | Всегда | Проверить интерпретатор, которым запускаются pip и pdfimpose |
| PyMuPDF, papersize, argdispatch, pyxdg | Всегда | Установить в том же окружении |
| Конфигурационный файл | При pdfimpose apply | Явно указать нужный cfg |
| Интернет | Обычно при установке/обновлении | Для локальной обработки после установки не обязателен |
| Облачный сервер | Не нужен пакету из PyPI | Не путать CLI с pdfimpose.it |
| Duplex и ориентация принтера | На физическом этапе | Согласовать с bind и масштабом печати |
Особенно важно контролировать рабочий каталог: apply умеет искать cfg вверх по дереву и в пользовательских/системных местах. Для повторяемости лучше передавать конкретный конфиг. Вторая критическая зависимость — физическая сборка: pdfimpose рассчитывает порядок страниц, но не контролирует трактовку duplex конкретным драйвером, реальную обрезку и свойства бумаги.
Преимущества и недостатки pdfimpose
Плюсы и минусы
• Семь специализированных схем. Инструмент охватывает карточки, несколько вариантов резки и складывания, однолистовый зин, твёрдый переплёт, saddle stitch и wire binding, а не только обычный N-up.
• Автоматизация. CLI, стандартный ввод/вывод, несколько входных PDF, конфигурационные файлы и документированный Python API подходят для повторяемых производственных цепочек.
• Независимость от облака. Основной пакет обрабатывает локальные файлы; аккаунт и загрузка документа на удалённый сервис не являются частью обязательного процесса.
• Свободная лицензия. Нет платной разблокировки функций, водяных знаков или лимита страниц, заданного тарифом самого pdfimpose.
• Явная печатная геометрия. Можно управлять сигнатурой, целевым форматом, полями, группировкой, стороной переплёта и в поддерживаемых схемах метками реза.
• Активный актуальный выпуск. Версия 2.9.0 датирована мартом 2026 года и помечена Production/Stable.
Минусы
• Нет GUI. В основном пакете отсутствуют миниатюры и визуальный предпросмотр раскладки; проверка делается уже по созданному PDF.
• Только PDF как основной рабочий формат. Документы Office, изображения и электронные книги нужно предварительно привести к PDF в другом ПО.
• Порог входа в полиграфическую логику. Неверный bind, group или порядок физической резки может испортить результат даже при технически успешной команде.
• Опция creep в 2.9.0 официально помечена сломанной. На автоматическую компенсацию вылета полос нельзя полагаться без отдельной проверки.
• Расчёт format не учитывает поля при подборе вместимости. Итоговая страница может выйти за запрошенный формат, если добавить imargin или omargin.
• Не все публично видимые объекты Python API стабильны. Для долгосрочного кода нужно ограничиваться документированным интерфейсом.
Сравнение с аналогами
Сравнивать pdfimpose полезно по задаче раскладки, а не по общему числу PDF-функций.
| Инструмент | Интерфейс | Основная задача | Ключевое отличие |
|---|---|---|---|
| pdfimpose 2.9.0 | CLI + Python API | Семь схем под резку, фальцовку и переплёт | Узкая специализация и автоматизация |
| pdfjam 4.3.1 | Shell поверх LaTeX/pdfpages | N-up, отбор и компоновка | Принимает PDF, JPG/PNG, но требует TeX-стек |
| BookletImposer | GTK GUI + режим без GUI | Буклет и несколько страниц на листе | Проще визуальный старт, меньше схем |
| PDFsam Visual | Настольный GUI | Визуальный N-up и организация PDF | Шире GUI-инструментарий; 14-дневная пробная версия |
| Adobe Acrobat Reader | Диалог печати | Обычный буклет и Multiple pages per sheet | Удобнее разовая печать, но не семисхемный генератор imposed PDF |
| Sumatra PDF | Лёгкий Windows-просмотрщик | Чтение и контроль готового PDF | Не является движком импозиции |
pdfjam ближе всего по командной философии: CTAN 4.3.1 описывает PDF/JPG/PNG на входе и PDF на выходе, но для работы требуется LaTeX/pdfpages. BookletImposer удобнее тем, кому нужен базовый буклет в GTK-интерфейсе. pdfimpose сильнее именно набором предметных схем и Python-интеграцией.
PDFsam Visual предлагает визуальный N-up, локальную обработку и Windows/macOS/Linux; его стоит выбрать ради GUI и широкого набора операций. Adobe Acrobat Reader умеет буклет с duplex/manual duplex, binding и предпросмотром, поэтому проще для единичной брошюры. pdfimpose предпочтительнее, когда нужен отдельный перестроенный PDF и повторяемая команда.
Sumatra PDF находится на другом этапе процесса: это просмотрщик, а не средство спуска полос. Им удобно открыть и проверить исходник или результат, тогда как перестановку страниц выполняет pdfimpose. Если задача состоит только в чтении, специализированный CLI не нужен.
Инструкция по установке
Установка через pip
Шаг 1. Проверьте python —version: для 2.9.0 нужен Python не ниже 3.10 и ниже 4.
Шаг 2. Устанавливайте в выбранное окружение командой python -m pip install pdfimpose; форма python -m pip помогает не перепутать интерпретатор.
Шаг 3. Проверьте запуск через pdfimpose —help, затем откройте справку нужной схемы, например pdfimpose saddle —help.
Шаг 4. Для первого запуска возьмите копию небольшого PDF и выполните pdfimpose saddle sample.pdf. По умолчанию результат получит имя sample-impose.pdf.
Шаг 5. Откройте результат независимым просмотрщиком и проверьте размер листа, крайние пары страниц и добавленные пустые страницы до физической печати.
Официальная установка из исходников выполняется из корня локальной копии репозитория командой python -m pip install .. Для обычного пользователя путь через PyPI проще; исходники нужны при осознанной фиксации конкретного состояния проекта или разработке.
Первый рабочий запуск
Не переносите параметры одной схемы в другую без проверки help. Особенно это касается mark, group, signature, size и folds. Для рабочего задания лучше задавать —output явно, хранить команду рядом с исходником и перед тиражом создавать контрольный PDF.
Удаление
Если пакет установлен pip, удалить его из того же окружения можно командой python -m pip uninstall pdfimpose. Исходные и результирующие PDF, а также созданные пользователем cfg являются рабочими данными; перед очисткой окружения сохраните их, если нужна воспроизводимость.
Практические кейсы
Брошюра со скреплением по сгибу
Цель. Получить листы, которые после двусторонней печати вкладываются друг в друга и сгибаются по центру. Подготовка. Проверьте размер исходных страниц и порядок обложек.
Шаг 1. Посмотрите pdfimpose saddle —help.
Шаг 2. Для A4 выполните pdfimpose saddle —format A4 —output brochure-impose.pdf brochure.pdf.
Шаг 3. Откройте результат и проверьте крайние пары, ориентацию и размер листа.
Шаг 4. Напечатайте короткий контрольный набор в масштабе 100% и физически сложите его.
Проверка. После сгиба страницы идут последовательно, а оборот не перевёрнут относительно bind. Ограничение. Не полагайтесь на creep в 2.9.0: текущая справка помечает опцию сломанной.
Карточки «вопрос — ответ»
Цель. Совместить лицо и оборот нескольких карточек на одном листе. Подготовка. Базовый исходник удобно собрать как «вопрос 1, ответ 1, вопрос 2, ответ 2».
Шаг 1. Выберите матрицу, например 2×3.
Шаг 2. Запустите pdfimpose cards —signature 2×3 —mark crop —output cards-impose.pdf cards.pdf.
Шаг 3. Проверьте crop marks и соответствие размеров.
Шаг 4. На одном пробном листе проверьте ось переворота; при необходимости измените bind по справке cards.
Проверка. После резки каждой лицевой стороне соответствует нужный оборот. Ограничение. Для нетипичных оборотов параметр back следует настраивать только по help текущей версии.
Книжный блок из нескольких тетрадей
Цель. Подготовить книгу из групп листов. Подготовка. До запуска определите размер страницы, физический лист, число листов в группе и сторону переплёта.
Шаг 1. Откройте pdfimpose hardcover —help и выберите один способ геометрии: folds, format либо signature.
Шаг 2. Для рассчитанной матрицы можно использовать pdfimpose hardcover —signature 2×2 —group 3 —mark crop —output book-impose.pdf book.pdf.
Шаг 3. Проверьте число выходных листов, группы и позиции пустых страниц.
Шаг 4. Распечатайте одну контрольную группу, выполните резку и складывание.
Проверка. Страницы внутри тетради и сами тетради собираются в нормальный порядок. Ограничение. group описывает физическую сборку; его нельзя выбирать только ради максимального числа страниц на листе.
Однолистовый зин
Цель. Получить фронтальную раскладку восьмистраничного зина. Подготовка. Исходный PDF содержит страницы в обычном порядке чтения.
Шаг 1. Выполните pdfimpose onepagezine —output zine-impose.pdf zine.pdf.
Шаг 2. Откройте раскладку, затем распечатайте черновик и физически выполните сгибы и разрез.
Шаг 3. Проверьте последовательность всех восьми страниц на собранном экземпляре.
Ограничение. Схема формирует только лицевую сторону; постер на обороте подготавливается и печатается отдельно.
Единая раскладка из нескольких PDF
Цель. Обработать несколько подготовленных частей как одну последовательность без предварительного объединения в отдельном приложении. Подготовка. У файлов должны быть согласованы размеры страниц и порядок передачи команде.
Шаг 1. Проверьте нужную схему через help.
Шаг 2. Передайте файлы последовательно, например pdfimpose saddle —output edition-impose.pdf cover.pdf body.pdf.
Шаг 3. Откройте результат и проверьте границу между последней страницей первого файла и первой страницей следующего.
Проверка. Общая нумерация и физическая сборка не должны разрываться на границе файлов. Ограничение. pdfimpose не исправляет несовпадающие размеры или содержимое исходников; такие проблемы устраняют до раскладки.
Контроль перед сохранением и передачей
• Сохранены мастер-PDF, версия pdfimpose и точная команда либо cfg.
• Результат открывается независимым просмотрщиком; проверены размер, ориентация и число листов.
• Проверены первая и последняя пары, позиции пустых страниц и сохранённых через —last страниц.
• Crop marks не перекрывают полезную область, а параметры duplex согласованы с bind.
• После —format с полями фактический размер листа проверен отдельно.
• В задание не заложен непроверенный creep из версии 2.9.0.
• Для тиража сделан физически сложенный контрольный экземпляр.
Часто задаваемые вопросы
Можно ли редактировать текст и картинки внутри PDF?
Нет. pdfimpose перестраивает страницы для печатной раскладки; содержимое правят до этого этапа в PDF-редакторе.
Нужны ли регистрация, интернет и облако?
Локальный пакет не требует аккаунта или облачной загрузки. Интернет обычно нужен для установки/обновления из PyPI, если зависимости не подготовлены заранее. Отдельный сайт pdfimpose.it является веб-сервисом и не тождествен CLI.
Почему без явного формата иногда получается A4?
Текущая документация использует A4, когда выходной размер приходится угадывать, и прямо допускает изменение этой детали. Для повторяемой работы формат лучше указывать явно.
Можно ли подать DOCX, PNG или EPUB напрямую?
Основной путь — PDF → PDF. Другие материалы сначала экспортируют или конвертируют в PDF.
Есть ли русская графическая версия?
У основного пакета нет собственного GUI; команды, параметры и официальная документация используются на английском.
Можно ли включить —creep для толстой брошюры?
Не как доверенный производственный расчёт в 2.9.0: встроенная справка помечает опцию broken и предупреждает о возможной ошибке расстояния. Компенсацию нужно рассчитывать или проверять другим способом.
Что выбрать для обычного N-up без переплёта?
Часто достаточно диалога печати просмотрщика, Foxit Reader, Acrobat Reader или визуального N-up. pdfimpose оправдан, когда важен порядок после резки и складывания.
Поддерживаются ли PDF с паролем?
Официальные материалы обзора не дают отдельной гарантии для зашифрованных или ограниченных PDF. Такую совместимость нельзя считать заявленной; при наличии права на обработку лучше заранее получить обычный доступный PDF.
Можно ли включить pdfimpose в конвейер без временного входного файла?
Да. Если входное имя не передано, CLI умеет читать PDF из стандартного ввода, а значение «-» для output направляет результат в стандартный вывод. Это удобно для автоматизации, но в производственной цепочке всё равно стоит сохранять контрольный результат и журнал параметров.
Как проверить результат до тиража?
Откройте imposed PDF независимым просмотрщиком, проверьте размер и крайние листы, затем распечатайте минимальный контрольный набор в масштабе 100% и физически выполните сгиб/рез. Экран не проверяет реальное поведение duplex конкретного принтера.
Вывод
pdfimpose 2.9.0 подходит тем, кому нужен воспроизводимый спуск полос для карточек, книжных тетрадей, saddle stitch, однолистового зина и схем с резкой/складыванием. Его сильные стороны — семь специализированных алгоритмов, CLI, Python API, локальная обработка и свободная лицензия.
Инструмент не подходит пользователю, которому нужны визуальный редактор, OCR, прямой импорт Office/изображений или полноценный препресс-комплекс. В версии 2.9.0 особенно важны два ограничения: сломанная опция creep и риск превысить заданный —format после добавления полей.
Для простой разовой брошюры удобнее может быть Acrobat Reader, для визуального N-up — PDFsam Visual, для чтения результата — Sumatra PDF. pdfimpose выигрывает, когда раскладка повторяется и должна жить в скрипте. Надёжный процесс хранит мастер-PDF, фиксирует версию и параметры, создаёт отдельный imposed-файл и проверяет физическую сборку до тиража.