Обзор pdfposter: как масштабировать PDF и раскладывать плакат на несколько страниц
pdfposter — узкоспециализированная консольная утилита для ситуации, когда готовую страницу PDF нужно увеличить или уменьшить и разложить на несколько листов печатного формата. Она не редактирует текст, не распознаёт сканы и не заменяет просмотрщик: её задача — рассчитать масштаб, количество листов и сформировать новый PDF, в котором фрагменты исходной страницы уже подготовлены для печати мозаикой. Актуальная стабильная версия — 0.9.1; пакет распространяется как свободное ПО, работает локально и устанавливается в среду Python.
| Параметр | Значение |
|---|---|
| Продукт | pdfposter |
| Разработчик | Hartmut Goebel |
| Назначение | масштабирование и разбиение страниц PDF на несколько печатных листов |
| Актуальная стабильная версия | 0.9.1 от 3 августа 2025 года |
| Тип интерфейса | командная строка |
| Вход и выход | PDF → PDF |
| Среда | Python 3.8–3.13 перечислены в документации и классификаторах; пакет помечен как OS Independent |
| Зависимость | pypdf 5.5 или новее; документация версии 0.9.1 указывает тестирование с pypdf 5.8.0 |
| Лицензия | GNU GPL v3 или более поздняя |
| Учётная запись и облако | не требуются для обработки; входной и выходной файлы находятся локально |
Скачать pdfposter
Новейшая версия для Виндовс, macOS и Линукс. Удобный редактор PDF под российские реалии.
Для новой установки следует выбирать пакет с точным именем pdfposter. На PyPI актуальной стабильной публикацией остаётся 0.9.1. Старое имя pdftools.pdfposter относится к прежней схеме пакетов автора: в 2025 году проект вернул короткое имя pdfposter, а переходный пакет pdftools.pdfposter прямо помечен как не получающий дальнейших обновлений. Это важно, потому что поиск по старым инструкциям всё ещё приводит к командам установки прежнего пакета.
Для универсальной Python-установки ориентируйтесь на PyPI, а в Linux сначала проверьте штатный репозиторий: Debian sid, например, содержит pdfposter 0.9.1-2. Если системного пакета нет, удобен pipx — он изолирует зависимости консольной программы и публикует команду в PATH.
Не следует устанавливать версии 0.9 и 0.9.post1 из старых ссылок: обе публикации на PyPI отозваны, поскольку основной запуск был сломан. Версия 0.9.post2 исправила масштабирование, а 0.9.1 добавила отсутствовавшие файлы локализации и доработала упаковку. Если требуется воспроизводимая конфигурация, разумно фиксировать именно 0.9.1 и отдельно контролировать версию зависимости pypdf.
Что такое pdfposter
pdfposter — свободная утилита Хартмута Гёбеля из семейства Python-инструментов для PDF; актуальный репозиторий находится на GitLab. Программа берёт PDF, рассчитывает увеличение или уменьшение и создаёт новый PDF из листов, которые после печати собираются в плакат.
Это не обычный PDF-редактор: здесь нет режима чтения, OCR, аннотаций, подписи или конвертации в Word. Работа строится вокруг размера печатного носителя и размера плаката либо линейного масштаба; по ним вычисляется число выходных страниц.
Продукт также не следует путать с одноимёнными шаблонами научных постеров, веб-сервисами для дизайна и пакетами, которые лишь содержат слово poster в названии. Идентифицирующие признаки именно этой программы — автор Hartmut Goebel, домашняя документация pdfposter, консольная команда pdfposter, вход и выход в PDF и лицензия GPL-3.0-or-later.
Статус проекта действующий. PyPI классифицирует его как Production/Stable, версия 0.9.1 опубликована в августе 2025 года, а ветка разработки обозначает 0.10 как ещё не выпущенную. Поэтому любые функции, замеченные только в экспериментальных ветках, нельзя автоматически считать частью стабильной программы.
Основные функции pdfposter
Разбиение страницы на несколько листов
Главная операция — тайлинг: одна исходная страница после масштабирования распределяется по нескольким страницам выходного PDF. Например, документация показывает преобразование страницы A4 в плакат A0, рассчитанный на восемь листов A3. Можно задавать плакат и в количестве листов определённого формата: запись вида 3x3Let означает сетку из листов Letter.
Документация описывает общий поток данных масштабированной страницы, используемый новыми страницами. С версии 0.7 содержимое не копируется независимо в каждую плитку и дополнительно сжимается, поэтому выход обычно компактнее наивного многократного дублирования. Фиксированного коэффициента роста нет: он зависит от структуры PDF.
Масштаб по размеру плаката или коэффициенту
У pdfposter два основных режима расчёта. Если задан желаемый размер плаката параметром -p, программа определяет необходимое число листов и подбирает масштаб, чтобы оптимально заполнить сетку. Если вместо этого задан линейный коэффициент -s, размер плаката выводится из размеров исходной страницы, а количество печатных страниц определяется автоматически. Одновременно задавать -p и -s не нужно.
Линейный коэффициент относится сразу к ширине и высоте. Поэтому значение 2 означает удвоение каждого измерения и, как следствие, четырёхкратную площадь. Это полезно при технических задачах, где важен именно масштаб, а не заранее выбранный конечный формат.
Размер печатного листа и система BOX
Параметр -m задаёт размер носителя, на котором планируется печать. В стандартной конфигурации по умолчанию используется A4. Формат BOX понимает именованные размеры бумаги и физические единицы, в том числе сантиметры, дюймы и футы. Поддерживаются записи вроде A0, A4, Letter, 10x20cm, а также множители перед именованным форматом.
Здесь есть нюанс синтаксиса. BOX определён как необязательный множитель вида число×число плюс одна единица или имя носителя. Поэтому стандартные конструкции вроде 2x1a4 корректны, а попытка совместить множитель листов с произвольной двумерной величиной вроде 2×23.5x31cm упирается в неоднозначность синтаксиса. В трекере проекта этот случай отдельно обсуждался как ограничение работы с нестандартным размером бумаги.
Выбор диапазона и области страницы
Параметры -f и -l ограничивают обработку первой и последней страницами диапазона. По умолчанию программа проходит от первой до последней страницы входного документа. Для определения полезной области по умолчанию используется TrimBox; параметр -A переключает обработку на ArtBox. Начиная с версии 0.6 содержимое также обрезается по выбранной области, чтобы объекты за её пределами не попадали в печать.
Эта возможность делает pdfposter пригодным не только для одностраничных афиш. Можно обработать несколько страниц одного файла, но выход при этом быстро становится большим по количеству листов. Для многостраничного документа особенно полезно сначала ограничить диапазон, а уже затем делать раскладку.
Предварительный расчёт и диагностический вывод
Параметр -n выполняет dry run: программа показывает, что собиралась бы сделать, но не создаёт выходной файл. Это наиболее безопасный способ проверить сетку перед массовой генерацией. Параметр -v включает подробный вывод о масштабировании, повороте и количестве страниц; его можно указывать более одного раза для повышения подробности.
Отдельные справочные команды выводят перечень имён носителей и правила BOX. Для консольной утилиты это существенно: вместо угадывания сокращений можно запросить допустимые названия непосредственно у установленной версии.
Интерфейс и удобство использования
Интерфейс pdfposter — командная строка. Стабильная 0.9.1 не содержит графического окна, предпросмотра раскладки, перетаскивания листов и визуальных полей. В репозитории существует открытая задача на создание GUI, но она остаётся пожеланием, а не характеристикой текущего релиза. Поэтому удобство напрямую зависит от того, насколько пользователь готов работать с параметрами и проверять результат во внешнем просмотрщике.
Базовая логика при этом компактна: команда состоит из параметров, входного PDF и имени выходного PDF. После освоения различий между -m, -p и -s большинство операций выражается одной строкой. Для автоматизации это преимущество: одинаковую раскладку можно воспроизводить в пакетных сценариях, shell-скриптах и заданиях сборки без ручного открытия диалогов.
Порог освоения выше, чем у настольных редакторов: легко ошибиться в размерах ISO, ориентации и сетке. Физический формат плаката и точное количество листов не всегда эквивалентны из-за округления стандартов, поэтому разумный порядок — dry run, пробный PDF, затем печать.
Русский интерфейс официально не заявлен. В журнале версии 0.9 перечислены немецкая, французская, испанская и шведская локализации, а базовый язык проекта — английский; 0.9.1 обновляет переводы, но не объявляет русский отдельным поддерживаемым языком. Команды и параметры в любом случае остаются англоязычными.
Поддерживаемые форматы и совместимость
Форматный профиль pdfposter предельно узок: вход — PDF, выход — PDF. Программа не принимает напрямую DOCX, ODT, изображения, DjVu или EPUB и не экспортирует в растровые форматы. Если исходник существует только как изображение или офисный документ, его нужно сначала корректно превратить в PDF другим инструментом.
С точки зрения платформ пакет заявлен как OS Independent и написан на Python. Документация содержит отдельные инструкции для Windows, GNU/Linux и «других операционных систем». Практическое условие переносимости — наличие совместимой версии Python и зависимостей. Официально для 0.9.1 перечислены Python 3.8–3.13; более новые версии не входят в опубликованный проверенный диапазон, даже если метаданные не устанавливают верхний предел.
Поддерживаются именованные размеры бумаги и физические единицы; программа может выбрать поворот для лучшего вписывания. Но стабильная 0.9.1 не имеет параметра перекрытия соседних листов и не добавляет метки реза: overlap остался вне стабильной ветки, а задача на crop marks открыта. Для склейки плаката это существенное ограничение.
Сформированный PDF можно просматривать в обычном ридере. На Windows для быстрой проверки результата подходит Sumatra PDF: он открывает PDF и другие документные форматы, но сам не выполняет функцию pdfposter по созданию плиточной раскладки. Если нужен универсальный просмотр после генерации, на сайте есть отдельные обзоры Foxit Reader и Adobe Acrobat Reader.
Производительность и стабильность
pdfposter читает и формирует структуру PDF через pypdf. С версии 0.7 поток содержимого не копируется независимо для каждой плитки, а выходной контент сжимается. Документация показывает пример 192-страничной раскладки, выросшей примерно в 15 раз относительно очень разреженного исходника, но это частный пример, не норматив.
Память и время зависят от структуры PDF, числа страниц, изображений и количества плиток. Официальных лимитов по RAM и размеру файла нет. Для тяжёлого документа лучше сначала обработать небольшой диапазон с подробным выводом и только затем запускать полный файл.
История релизов показывает, что критические ошибки масштабирования действительно встречались. Версия 0.8 содержала серьёзную ошибку box-scaling, исправленную в 0.8.1. Релиз 0.9 был отозван, а 0.9.post2 исправлял полностью сломанное масштабирование, приводившее к пустым страницам. Поэтому обновление до 0.9.1 здесь не косметика, а базовая мера стабильности.
Из известных геометрических особенностей наиболее заметна проблема «лишней пустой страницы» при наивном сочетании ISO-форматов. Она возникает из-за реальных округлённых размеров листов: например, A5 не является ровно половиной A4 по всем численным значениям. Документация рекомендует задавать цель как число листов того же носителя, например 2xA5, когда нужен именно двухлистовый результат. Это предсказуемое ограничение расчёта, а не признак повреждённого PDF.
Лицензирование и версии
pdfposter распространяется по GNU General Public License v3 или более поздней версии. Это бесплатное ПО с открытым исходным кодом; отдельной коммерческой редакции, подписки, пробного периода или ограничения по числу обрабатываемых файлов у проекта не заявлено. Регистрация и аккаунт для запуска не нужны. Автор принимает добровольные пожертвования, но они не открывают дополнительные функции.
До 2025 года пакет публиковался как pdftools.pdfposter. С 0.9 модуль и пакет называются pdfposter, а старое имя оставлено только переходным и не обновляется. Для Python-кода требуется заменить пространство имён, для обычной установки — использовать новое имя пакета.
На PyPI версия 0.9.1 — текущая стабильная. В журнале разработки присутствует 0.10 с пометкой unreleased и без заявленных изменений. Следовательно, описывать 0.10 как доступную редакцию нельзя. Так же нельзя считать 0.9 или 0.9.post1 рабочими актуальными релизами: они отозваны.
Системные требования
Python и библиотека pypdf
Для pdfposter 0.9.1 официально указаны Python 3.8–3.13 и pypdf 5.5 или новее; в описании релиза отмечено тестирование с pypdf 5.8.0. Верхняя граница pypdf в метаданных не заявлена, но документация не обещает проверку каждой будущей версии зависимости. Если стабильность важнее новизны, стоит фиксировать рабочее сочетание версий и обновлять зависимости после контрольной генерации.
Windows
Официальная инструкция для Windows предполагает установленный Python и доступность его каталога Scripts через PATH. В руководстве в качестве конкретного примера используется Python 3.13. После установки пакет должен предоставлять команду pdfposter; проверка выполняется запуском pdfposter —help. Отдельного EXE-инсталлятора pdfposter в стабильной документации нет.
GNU/Linux и другие системы
В GNU/Linux предпочтителен актуальный пакет дистрибутива; Debian sid содержит pdfposter 0.9.1-2. При установке из PyPI лучше применять venv или pipx, не меняя системно управляемую Python-среду. На macOS и других системах необходим совместимый Python и возможность установить зависимость.
Официальных требований к процессору, объёму оперативной памяти, видеокарте и свободному месту разработчик не задаёт. Это консольная утилита без аппаратного ускорения интерфейса; реальные ресурсы следует оценивать по размеру и сложности конкретных PDF.
Карта критических зависимостей
| Зависимость | Нужна когда | Что произойдёт без неё | Как снизить риск |
|---|---|---|---|
| Python | всегда | команда pdfposter не запустится | использовать заявленный диапазон 3.8–3.13 |
| pypdf | всегда | невозможно прочитать и сформировать PDF | не опускаться ниже 5.5 и фиксировать проверенное окружение |
| PATH | для запуска команды по имени | оболочка не найдёт pdfposter | проверить Scripts/bin или использовать pipx |
| Интернет | при онлайн-установке и обновлении | pip не скачает пакет и зависимости | заранее скачать архивы; сама обработка может выполняться офлайн |
| PDF-просмотрщик | для визуального контроля | файл создастся, но проверять раскладку будет неудобно | открыть результат в Sumatra PDF или другом совместимом ридере |
| Принтер/драйвер | только на этапе печати | PDF останется корректным файлом, но плакат не будет физически выведен | печатать в масштабе 100% и проверять настройки драйвера |
Аккаунт, сервер pdfposter и облачное хранилище в эту карту не входят: обработка выполняется локально. Внешняя сеть нужна только для получения пакета, зависимостей или документации, если они ещё не сохранены на компьютере. Это делает программу удобной в изолированных средах, но переносит ответственность за резервные копии и контроль входных файлов на пользователя.
Преимущества и недостатки pdfposter
Плюсы и минусы
Плюсы ✔️
- точно решает одну задачу: масштабирует PDF и раскладывает страницу на несколько печатных листов;
- работает локально, без регистрации и обязательного облачного сервиса;
- свободная лицензия GPL-3.0-or-later и открытый исходный код;
- поддерживает именованные форматы бумаги и физические единицы;
- умеет выбирать диапазон страниц и использовать TrimBox либо ArtBox;
- есть dry run и подробный диагностический вывод;
- подходит для сценариев автоматизации и повторяемой пакетной обработки;
- эффективнее простого дублирования содержимого на каждую выходную страницу.
Минусы ❌
- нет графического интерфейса и визуального предпросмотра сетки;
- стабильная версия не предлагает overlap между плитками и не добавляет метки реза;
- работает только с PDF на входе и выходе;
- синтаксис нестандартных размеров сложнее, чем выбор бумаги в графическом диалоге;
- русская локализация официально не заявлена;
- результат нужно проверять внешним просмотрщиком;
- геометрия ISO-форматов может дать лишнюю узкую или почти пустую страницу, если цель задана физическим форматом вместо точного числа листов.
Сравнение с аналогами
Прямых аналогов немного: часть программ лишь показывает PDF, часть выполняет тайлинг только в диалоге печати. Поэтому сравнение ниже учитывает не только наличие «постера», но и то, нужен ли новый многолистовой файл, GUI или только просмотр.
| Инструмент | Основная роль | Тайлинг плаката | GUI | Создаёт новый PDF с плитками | Платформы |
|---|---|---|---|---|---|
| pdfposter | подготовка печатной раскладки | да | нет | да | Python-среды, OS Independent |
| Sumatra PDF | лёгкий просмотр документов | не является задачей программы | да | нет | Windows |
| MuPDF mutool poster | консольная обработка PDF | да, разбиение по горизонтальному и вертикальному факторам | нет | да | зависит от сборки MuPDF |
| Adobe Acrobat | просмотр и печать PDF | да, режим Poster в печати | да | обычно задача решается при печати | Windows, macOS |
| PDFsam Basic | разделение, объединение и перестановка страниц | не его основная функция | да | да для операций со страницами, но не как poster-тайлер | Windows, macOS, Linux |
Sumatra PDF находится на другом этапе рабочего процесса: это просмотрщик, а pdfposter — генератор нового файла. Разумная связка выглядит так: pdfposter формирует плитки, после чего Sumatra PDF быстро открывает результат для проверки страниц. Если требуется редактирование самого содержания PDF, нужны другие классы программ, например PDF-XChange Editor.
MuPDF mutool poster ближе всего по концепции командной строки. Его poster-команда делит страницу на заданное число горизонтальных и вертикальных частей и поддерживает margin как перекрытие в пунктах или процентах. Если перекрытие критично, это важное преимущество над стабильным pdfposter. В pdfposter, напротив, сильнее выражена работа с желаемым размером плаката, именами носителей и автоматическим вычислением масштаба.
Adobe Acrobat удобнее там, где нужен визуальный диалог печати. Режим Poster предлагает Tile Scale, Overlap, метки реза и подписи плиток, а число листов рассчитывается перед печатью. Такой маршрут проще для разовой ручной работы, но хуже подходит для воспроизводимого безоконного сценария, где требуется заранее сохранить отдельный многолистовой PDF. Подробнее о просмотрщике Adobe есть во внутреннем обзоре по ссылке выше.
PDFsam Basic решает другой набор задач: объединяет, делит, поворачивает, перемешивает и извлекает страницы. Он полезен до или после pdfposter, например для подготовки нужной страницы или удаления лишних листов, но не заменяет плакатный тайлинг. Для детального знакомства доступен обзор PDFsam Basic. Если нужен более широкий бесплатный набор PDF-инструментов на Windows, можно также посмотреть PDF24 Creator.
Инструкция по установке
Windows: изолированная установка через pipx
- Установите поддерживаемый Python. Для версии 0.9.1 подтверждён диапазон 3.8–3.13; официальный пример ориентирован на Python 3.13.
- Проверьте, что команда Python доступна из терминала. Для установки самостоятельных консольных приложений безопаснее использовать pipx, чтобы не смешивать зависимости pdfposter с другими Python-проектами.
- Установите pipx средствами вашей Python-среды и выполните его настройку PATH.
- Установите приложение командой pipx install pdfposter==0.9.1.
- Закройте и заново откройте терминал, если PATH был изменён.
- Проверьте pdfposter —version и pdfposter —help. Версия должна быть 0.9.1.
Если pipx не используется, официальная документация допускает обычный pip, в том числе пользовательскую установку. Для новой конфигурации отдельное окружение всё же удобнее: его проще обновить, удалить и воспроизвести без влияния на системный Python.
GNU/Linux
- Сначала найдите pdfposter в репозитории дистрибутива. В Debian-подобной системе при наличии актуального пакета используется обычная установка через менеджер пакетов.
- Если пакет отсутствует или слишком старый, применяйте pipx либо venv вместо принудительного изменения системной Python-среды.
- Для pipx установите pdfposter 0.9.1 и убедитесь, что каталог исполняемых файлов добавлен в PATH.
- Запустите pdfposter —version, затем pdfposter —help-media-names. Вторая команда одновременно подтверждает запуск и показывает доступные имена бумаги.
Совет из старой официальной инструкции sudo pip install pdfposter не стоит переносить механически на современные дистрибутивы: Python Packaging предусматривает режим externally managed, при котором глобальный pip должен уступить системному менеджеру пакетов или изолированному окружению.
Первый запуск и безопасное удаление
Для первого запуска не нужен аккаунт и мастер настройки. Возьмите копию небольшого PDF и сначала выполните dry run, например с выбранным размером носителя и плаката. Если расчёт выглядит логично, повторите команду без -n и откройте созданный файл в просмотрщике.
При установке через pipx удаление выполняется командой pipx uninstall pdfposter. В виртуальном окружении достаточно деактивировать и удалить само окружение, если оно было создано только для этой программы. Пакет дистрибутива удаляется штатным менеджером пакетов. Выходные PDF не являются частью установки и не удаляются автоматически.
Практические кейсы
Плакат A0 из исходной страницы A4 на листах A3
Цель. Получить многолистовой PDF для сборки плаката A0, используя бумагу A3. Подготовка. Сохраните исходник как отдельный PDF и убедитесь, что нужная страница имеет корректную область TrimBox. Шаги. Сначала выполните pdfposter -n -mA3 -pA0 input.pdf poster.pdf. Если число листов соответствует ожиданию, повторите без -n. Официальный пример для такой комбинации даёт восемь страниц A3. Проверка. Откройте poster.pdf, просмотрите все листы и убедитесь, что крайние элементы не исчезли. Ограничение. pdfposter не добавит метки реза и отдельный нахлёст.
Фиксированное увеличение в четыре раза
Цель. Увеличить каждое линейное измерение в четыре раза и позволить программе самой определить число листов. Подготовка. Проверьте формат исходной страницы и выберите бумагу, если A4 по умолчанию не подходит. Шаги. Используйте pdfposter -s4 input.pdf out.pdf, при необходимости добавив -m с нужным носителем. Проверка. Включите -v и сопоставьте сообщённый масштаб и количество страниц с ожидаемой геометрией. Ограничение. Коэффициент 4 относится к ширине и высоте, поэтому площадь растёт в шестнадцать раз.
Уменьшение большого листа до нескольких A4
Цель. Подготовить исходный A1 к печати как плакат A3 на двух листах A4. Подготовка. Убедитесь, что исходный PDF действительно содержит нужную страницу большого формата. Шаги. Официальный пример использует pdfposter -p a3 -m a4 placard-a1.pdf poster-on-two-a4.pdf. Проверка. В просмотрщике должно быть две страницы A4 с согласованными фрагментами. Ограничение. При других пропорциях исходника число страниц может отличаться, поэтому не переносите результат механически на любой файл.
Только часть многостраничного PDF
Цель. Разложить не весь документ, а конкретный диапазон. Подготовка. Определите номера первой и последней нужной страницы. Шаги. Добавьте -f и -l к обычной команде, сначала вместе с -n. Проверка. Сопоставьте число групп плиток с числом обработанных исходных страниц. Ограничение. pdfposter не предоставляет визуальный выбор миниатюр, поэтому номера нужно определить заранее в просмотрщике.
Использование ArtBox вместо TrimBox
Цель. Ориентировать расчёт на область ArtBox, если она корректно задана в исходном PDF. Подготовка. Проверьте наличие и смысл ArtBox в другом PDF-инструменте. Шаги. Добавьте -A к команде и выполните dry run, затем сформируйте файл. Проверка. Сравните края результата с ожидаемой художественной областью. Ограничение. параметр не создаёт ArtBox и не исправляет неверно заданные коробки исходного документа.
Контроль перед сохранением и передачей
- проверьте версию pdfposter и не используйте отозванные 0.9 или 0.9.post1;
- зафиксируйте входной файл отдельно и не рассчитывайте на обратную сборку плиток;
- сначала запустите -n, затем при необходимости -v;
- проверьте количество выходных страниц и выбранный размер носителя;
- просмотрите первую, последнюю и несколько соседних плиток в местах стыка;
- убедитесь, что печатный драйвер не применяет дополнительное «вписать в страницу»;
- если нужна склейка с нахлёстом, заранее предусмотрите её другим инструментом или технологией печати;
- перед отправкой в типографию уточните, принимает ли она многолистовую раскладку или предпочитает исходный крупноформатный PDF.
Навигатор по сбоям
Команда не найдена. Сначала проверьте, установлена ли именно pdfposter 0.9.1, затем путь к каталогу исполняемых скриптов. При pipx выполните его ensurepath и перезапустите оболочку. Контроль — успешный вывод pdfposter —version.
Получилась пустая или почти пустая дополнительная страница. Сравните способ задания цели: физический формат вроде A4 и точное число листов вроде 2xA5 могут давать разные результаты из-за округления ISO-размеров. Если нужен фиксированный листовой расклад, задайте её через множитель именованного носителя и повторите dry run.
Нестандартный размер не принимается вместе с множителем. Проверьте грамматику BOX: один множитель предшествует одной единице либо имени формата. Комбинация «сеточная размерность × произвольная ширина × высота» не описана стабильным синтаксисом. Выход — задать физический размер плаката отдельно или перейти к стандартному именованному носителю.
Нужны поля перекрытия или метки реза. Это не ошибка установки: в стабильной 0.9.1 соответствующих функций нет. Для ручной печати можно использовать Poster в Adobe Acrobat, где предусмотрены overlap и cut marks, либо mutool poster, где есть margin. Контроль — печатный предпросмотр или новый PDF, созданный выбранным альтернативным инструментом.
После обновления Python программа перестала запускаться. Проверьте, что активна та же изолированная среда и зависимость pypdf удовлетворяет требованиям. Если окружение было создано отдельно, проще воспроизвести его заново с фиксированной pdfposter 0.9.1, чем чинить системный Python.
Паспорт обратимости операций
| Операция | Что сохраняется | Что меняется | Как вернуться назад |
|---|---|---|---|
| тайлинг страницы | исходный PDF, если указано другое имя выхода | создаётся новый PDF с иным количеством и геометрией страниц | использовать исходный файл |
| масштабирование | содержимое используется для нового документа | размер и размещение меняются в выходе | повторить операцию из оригинала с другими параметрами |
| TrimBox/ArtBox | оригинальные коробки остаются в исходнике | выбранная область определяет печатаемое содержимое результата | создать новый результат из исходника без -A или с ним |
| выбор диапазона | невыбранные страницы остаются в оригинале | в выход попадает только заданный диапазон | повторить с другим -f/-l |
Главный принцип обратимости прост: pdfposter должен писать в новый файл, а исходник следует сохранять неизменным. У программы нет многоуровневой команды Undo и нет проекта, который запоминал бы параметры последней раскладки. Если понадобится другая сетка, безопасный путь — заново выполнить команду от исходного PDF.
Обратная «склейка» многолистового результата не относится к функциям pdfposter. Выходной файл нельзя считать архивной заменой оригинала: меняются структура страниц, области вывода и геометрия. Для хранения оставляйте исходный PDF и текст команды либо сценарий, которым создана раскладка.
Часто задаваемые вопросы
Можно ли пользоваться pdfposter без интернета?
Да, после установки обработка локальных PDF не требует облачного сервиса или аккаунта. Документация отдельно описывает установку из заранее скачанных архивов для системы без сетевого доступа. Интернет нужен только для получения пакета, зависимостей и обновлений, если они не подготовлены заранее.
Есть ли у pdfposter графическая версия?
Нет в стабильной 0.9.1. В трекере проекта давно существует задача на GUI с предпросмотром, но она не реализована как часть текущего релиза. Для визуального сценария удобнее использовать Acrobat Poster или другой инструмент с печатным предпросмотром.
Может ли pdfposter добавить нахлёст между листами?
Стабильная версия 0.9.1 не документирует параметр overlap. Отдельная ветка и обсуждение этой функции существовали, но это не основание считать её доступной пользователю стабильного пакета. Если нахлёст обязателен, выбирайте инструмент, где он официально поддерживается.
Добавляются ли метки реза?
Нет. В репозитории есть открытая задача на crop marks, что подтверждает отсутствие этой возможности в текущем продукте. Метки придётся добавлять другим ПО либо использовать печатный режим, который умеет генерировать их сам.
Можно ли распечатать только одну страницу из длинного PDF?
Да. Параметры -f и -l задают первую и последнюю обрабатываемые страницы. Для одной страницы можно установить одинаковое начало и конец диапазона. Перед генерацией удобно применить -n и убедиться, что выбран ожидаемый фрагмент.
Почему при A4 и A5 иногда появляется лишний лист?
Причина — округлённые реальные размеры форматов ISO. Две стороны A5 не всегда арифметически совпадают с соответствующей стороной A4 в миллиметрах. Если важна точная сетка, документация советует задавать количество листов напрямую, например 2xA5, а не только физический размер A4.
Работает ли программа с JPG, PNG или DOCX?
Не напрямую. Входной формат программы — PDF. Изображение или офисный документ нужно сначала преобразовать в PDF и проверить размер страницы. После этого pdfposter сможет выполнять масштабирование и тайлинг.
Нужна ли платная лицензия для коммерческой организации?
Программа распространяется по GPL v3 или более поздней и не имеет платной редакции. Использование в организации само по себе не превращает продукт в подписку. Если вы собираетесь распространять изменённую программу или включать её в собственное решение, требования GPL следует оценивать применительно к способу распространения.
Можно ли считать версию 0.10 актуальной?
Нет. В ветке разработки 0.10 обозначена как unreleased. Для обычной установки текущей стабильной версией остаётся 0.9.1. Также не стоит выбирать отозванные 0.9 и 0.9.post1.
Чем pdfposter отличается от PDFsam Basic?
pdfposter меняет масштаб и превращает одну страницу в сетку печатных плиток. PDFsam Basic в основном объединяет, разделяет, поворачивает, перемешивает и извлекает страницы. Эти программы могут дополнять друг друга, но не являются прямыми заменами.
Вывод
pdfposter подходит тем, кому нужен воспроизводимый локальный способ превратить готовый PDF в многолистовую плакатную раскладку. Сильные стороны — свободная лицензия, точная командная модель, выбор носителя и плаката, диапазоны страниц и dry run. Для автоматизации и повторяемых шаблонов это естественнее тяжёлого PDF-редактора.
Он хуже подходит тем, кому нужны визуальный предпросмотр, нахлёст, метки реза, OCR или редактирование. Тогда практичнее Acrobat для ручной постерной печати, mutool poster для другого CLI-тайлинга либо PDF-редактор. Sumatra PDF удобен как лёгкий просмотрщик результата на Windows, но не заменяет подготовку раскладки.
При выборе pdfposter важнее всего установить именно 0.9.1, не путать её со старым pdftools.pdfposter и отозванными релизами 0.9, сохранить исходный PDF и сначала проверять геометрию через dry run. При таком рабочем процессе программа остаётся точным инструментом для своей узкой задачи без лишней инфраструктуры и облачной зависимости.