pdfposter увеличивает или уменьшает страницы PDF, рассчитывает сетку печатных листов и создаёт новый многостраничный PDF, из которого можно собрать плакат, баннер, выкройку, карту или крупную схему. Размер результата задаётся форматом плаката, точным коэффициентом масштаба либо количеством листов через геометрию BOX; отдельные параметры выбирают размер бумаги, диапазон исходных страниц, TrimBox или ArtBox, а подробный режим заранее показывает масштаб, поворот и раскладку.
Работа строится вокруг одной команды: сначала указываются параметры раскладки, затем имя исходного PDF и имя создаваемого файла. Программа не открывает окно с макетом, поэтому вся проверка выполняется по понятным числовым сообщениям, числу выходных страниц и предварительному просмотру готового PDF в любом просмотрщике. Такой подход особенно удобен для повторяемых заданий, когда один и тот же формат плаката нужно получать из десятков файлов.
Главная развилка — выбор между размером плаката -p и линейным масштабом -s. В первом случае pdfposter сам подбирает коэффициент, чтобы исходная страница максимально заполнила заданный прямоугольник с сохранением пропорций; во втором ширина и высота умножаются на указанное число, а количество листов рассчитывается по получившимся габаритам. Параметр -m независимо определяет физический формат каждого листа, который затем отправляется на принтер.
Скачать pdfposter
- Редактирование PDF
- Русский интерфейс
- Просто новичкам
- Нет графического интерфейса
- Нет нахлёста и меток реза
- Вход только в формате PDF
Как читать команду pdfposter
Минимальная команда содержит два пути: исходный и выходной. Если дополнительных настроек нет, программа берёт размер печатного листа A4, делает размер плаката равным этому же листу и фактически нормализует выбранные страницы в новый PDF. Для реальной плакатной раскладки добавляют -p или -s. Порядок параметров до имён файлов свободный, но практичнее сначала записывать размер бумаги, затем целевой размер, после чего вход и выход: так команду легче проверять глазами и копировать в сценарий.
Справка pdfposter --help делит параметры на общие, входные и выходные. Общие опции показывают версию, включают подробные сообщения и запускают расчёт без записи файла. Входные ограничивают диапазон страниц и выбирают область содержимого. Выходные задают формат бумаги, итоговый прямоугольник или коэффициент увеличения. Два позиционных аргумента всегда означают именно читаемый и создаваемый PDF; если перепутать их местами, существующий документ не используется как шаблон, а команда завершается ошибкой чтения или перезаписывает указанный выходной путь.
Ключи можно писать в коротком и длинном виде. Например, -mA3 равнозначно --media-size A3, а -pA0 — --poster-size A0. Короткая запись удобна в повторяемых командах; длинная лучше подходит для скриптов, которые будут читать другие люди. Регистр названий бумаги несущественен: A4 и a4 распознаются одинаково. Имя формата допускается сокращать до уникального префикса, но в рабочих заданиях безопаснее писать его полностью, чтобы новая запись в таблице форматов не сделала сокращение неоднозначным.
Подготовка исходного PDF
На вход подаётся PDF, а не JPEG, PNG, SVG или документ офисного редактора. Если исходник хранится в растровом формате, его сначала следует экспортировать в PDF с правильным физическим размером страницы. Важны не только пиксели, но и геометрия страницы: pdfposter масштабирует прямоугольник PDF в пунктах, поэтому одинаковая картинка, помещённая на страницу A4 и на страницу A2, даст разные результаты при одном коэффициенте -s. Для заданного размера -p программа компенсирует это вычислением масштаба, но поля вокруг изображения всё равно влияют на полезную площадь.
Перед раскладкой полезно открыть исходник и проверить ориентацию, число страниц, TrimBox, ArtBox и наличие пустых полей. Программа по умолчанию использует TrimBox. Если автор PDF не задавал его отдельно, просмотрщики обычно показывают область, совпадающую с MediaBox или CropBox, однако в файле могут оставаться объекты за границами видимой части. pdfposter добавляет отсечение по выбранной коробке, поэтому внешние служебные элементы не должны появиться на листах. При неверно заданной коробке, наоборот, часть нужного рисунка может исчезнуть.
Многостраничный документ обрабатывается последовательно. Для каждой выбранной страницы заново рассчитывается масштаб и сетка, поэтому страницы разных размеров могут дать разное число листов внутри одного выходного файла. Такой результат технически корректен, но при печати его сложнее собирать. Для каталога чертежей удобнее сначала привести страницы к единому формату либо запускать отдельную команду на каждый лист и давать выходным файлам понятные имена.
Защищённый PDF обрабатывается только после расшифровки. Сначала программа пробует пустой пароль; если он не подходит, запрашивает пароль в терминале. Файл с запретом печати, но без реального шифрования, часто читается, однако итог зависит от структуры защиты и возможностей библиотеки чтения PDF. Повреждённый файл или документ с неверным заголовком вызывает сообщение о том, что вход либо испорчен, либо не является PDF. В такой ситуации сначала сохраните копию через надёжный просмотрщик или проверьте документ утилитой валидации, а уже потом повторяйте раскладку.
Размер печатного листа: параметр -m
-m задаёт MediaBox каждой выходной страницы — то есть размер бумаги, который должен быть выбран и в диалоге печати. По умолчанию используется A4. Для настольного принтера типичны -mA4 или -mLetter; для копировального аппарата подходят A3 и Tabloid; для плоттера можно указать A2, A1, A0 либо точные сантиметры. Если физическая бумага не совпадает с -m, драйвер может дополнительно уменьшить или растянуть лист, и размеры собранного плаката перестанут соответствовать расчёту.
Список распознаваемых имён выводится командой pdfposter --help-media-names. В нём есть серии ISO A, B и часть C, американские Letter, Legal, Tabloid, Ledger, Executive и несколько конвертов, японские JB, а также единицы pt, mm, cm, inch, ft и meter. Единицы нужны для нестандартной бумаги: -m30x40cm создаёт страницы 30 × 40 см, а -m11x17inch — 11 × 17 дюймов. Внутри PDF размеры переводятся в пункты из расчёта 72 пункта на дюйм.
Указанный прямоугольник нормализуется с учётом ориентации. Запись 20x10cm не означает принудительный альбомный лист: коробка приводится к портретному представлению, а решение о повороте принимается позже, когда программа сравнивает число страниц для двух вариантов размещения. Поэтому ориентацию лучше контролировать не перестановкой чисел, а предварительным расчётом -n -vvv и просмотром готового PDF. Для принтера ориентация каждой страницы уже хранится в геометрии результата.
Непечатаемые поля драйвера не вычитаются автоматически. В расчёте шаг между плитками равен полной ширине и высоте -m; отдельного параметра безопасной рамки, нахлёста или обрезки нет. Если устройство оставляет белую кайму, полезное изображение у края может быть недоступно. Практический выход — использовать бумагу больше расчётного листа, заранее добавить поля в исходный PDF или выбрать программу с управляемым перекрытием. Масштабирование в диалоге печати по размеру области печати применять нельзя, иначе каждая плитка будет уменьшена независимо.
Размер плаката: параметр -p
-p описывает прямоугольник, в который должна вписаться исходная страница. Пропорции сохраняются: программа берёт меньший из коэффициентов по ширине и высоте, поэтому изображение целиком помещается в заданный габарит, а не растягивается по двум осям. Если пропорции исходника и целевого прямоугольника различаются, часть площади остаётся незаполненной. Это предпочтительнее искажения текста, линий и окружностей, но при точном дизайне плаката размеры следует согласовать заранее.
Стандартная команда pdfposter -mA3 -pA0 input.pdf output.pdf рассчитывает A0 и нарезает его на A3. Чистое отношение площадей A0 и A3 равно восьми, однако реальная сетка зависит от пропорций исходной страницы, округления размеров ISO и выбора ориентации. Для тестовой страницы A4 может получиться сетка 3 × 3, хотя часть крайних листов содержит только узкую полосу. Число листов нужно проверять по выводу программы, а не выводить только из названий форматов.
Запись -p3x3Letter означает прямоугольник из трёх листов Letter по ширине и трёх по высоте. Это не приказ создать ровно девять страниц: обозначение определяет физический габарит плаката, после чего программа вписывает исходник и выбирает ориентацию печатной бумаги. При совпадающих пропорциях результат обычно близок к указанной сетке; при длинном или высоком исходнике часть ячеек может не понадобиться либо появится дополнительная полоса из-за округления.
Для масштабирования вниз -p работает так же, как для увеличения. Команда pdfposter -pA3 -mA4 placard-a1.pdf poster-a3.pdf вписывает страницу A1 в A3 и раскладывает результат на A4. Если и плакат, и бумага имеют A4, крупная страница уменьшается до одного листа. Векторные линии и текст при этом остаются векторными, поскольку страница преобразуется как PDF-объект, а не растрируется целиком.
Точный коэффициент: параметр -s
-s умножает ширину и высоту выбранной области на одно число. Коэффициент 2 удваивает каждый линейный размер и увеличивает площадь в четыре раза; коэффициент 4 даёт шестнадцатикратную площадь. Это важное различие: запрос сделать в четыре раза больше может означать либо площадь ×4, для чего нужен -s2, либо ширину ×4, для чего нужен -s4. В производственных заданиях коэффициент следует формулировать в линейных размерах.
При -s итоговый прямоугольник не задаётся, поэтому число листов определяется по реальному размеру исходной коробки и -m. Например, A4 при -s4 имеет габарит, близкий к четырём A4 по каждой координате, но автоматический поворот может уменьшить общее число страниц. Программа сравнивает сетку при обычной и повернутой бумаге и выбирает вариант с меньшим произведением столбцов и строк. Если количество одинаково, учитывается ориентация, полученная при нормализации коробок.
-s нельзя использовать одновременно с -p. Эти режимы отвечают на разные вопросы: первый фиксирует коэффициент, второй фиксирует максимальный габарит. При совместной записи команда останавливается до чтения PDF и сообщает, что разрешён только один из параметров. Это полезная защита от неоднозначного задания. Минимальный коэффициент ограничен значением 0,01, а чрезмерно большой коэффициент также отвергается, чтобы случайная опечатка не создала сетку из миллионов страниц.
Точный масштаб удобен для выкроек и технических схем, где требуется 125%, 150% или 200%. Запись -s1.25 сохраняет все размеры в отношении 1:1,25, но реальная печать останется точной только при отключённой подгонке в драйвере. После создания файла измерьте контрольный отрезок в просмотрщике или распечатайте одну характерную плитку. Ошибка даже в 1–2% заметна на длинной детали, когда листы склеиваются в общий шаблон.
Синтаксис BOX без догадок
BOX применяется в -m и -p. Общая форма — необязательный множитель ширинаxвысота и затем единица или имя бумаги. A4 эквивалентно 1x1A4; 2x1A4 строит прямоугольник из двух портретных A4, соединённых длинными сторонами; 1x2A4 располагает два листа по вертикали. Для метрических размеров единица определяет шаг каждого числа: 70x100cm — 70 × 100 см, а не 70 × 100 листов.
Дробные числа допустимы. Можно задать 21.5x30.5cm или 8.5x11inch. Десятичный разделитель — точка, потому что значение разбирается как параметр командной строки; запятая не заменяет её. Пробелы внутри BOX лучше не ставить. Если оболочка воспринимает символы особым образом, заключите всё значение в кавычки, например --poster-size "2x3A4".
Сокращённые имена форматов разрешены только при однозначности. let обычно распознаётся как Letter, но com может пересекаться с несколькими именами конверта. При неоднозначности программа просит добавить символы. Неизвестная единица вызывает отдельное сообщение. Для автоматизации используйте полный ключ из списка --help-media-names, а пользовательский ввод проверяйте сухим запуском до создания файла.
Размеры ISO внутри программы заданы в целых пунктах, поэтому идеальная математическая связь между A4 и A5 нарушается на доли миллиметра. Из-за этого команда -mA5 -pA4 может породить третью почти пустую страницу: две A5 формально чуть меньше прямоугольника A4 по одной координате. Чтобы выразить намерение ровно два листа A5, задайте -mA5 -p2xA5. Этот приём устраняет проблему на уровне цели, а не маскирует её обрезкой результата.
Автоматический поворот и выбор сетки
pdfposter не требует отдельного ключа портретной или альбомной ориентации. Сначала целевые коробки приводятся к портретному виду, затем для альбомного исходника плакатный прямоугольник поворачивается, чтобы сохранить естественное соответствие сторон. После вычисления масштаба программа оценивает два варианта: обычный лист и лист, повернутый на 90 градусов. Выбирается вариант с меньшим числом страниц.
Для широкого исходника команда -mA4 -p2x2A4 может сообщить о повороте плакатной спецификации, показать новые размеры и выбрать сетку 2 × 2 из альбомных листов. Это не изменение содержимого исходного PDF: поворот применяется к масштабированной странице и к геометрии плиток. В готовом документе каждая страница получает соответствующий MediaBox, поэтому просмотрщик обычно показывает её правильно.
При равном количестве листов выбор может выглядеть неожиданно, особенно для почти квадратного исходника. Ориентироваться следует не на текст portrait или landscape в подробном выводе, а на превью готового PDF и порядок сборки. Страницы создаются по столбцам, внутри каждого столбца сверху вниз. После печати удобно разложить листы в этом порядке и подписать их карандашом, поскольку встроенной нумерации плиток нет.
Официальные тестовые изображения хорошо показывают разницу между 1x2A4 и 2x1A4. Для узкой высокой полосы первый вариант продолжает содержимое вниз, а второй вынуждает повернуть полосу и распределить её по двум соседним листам. Для широкой полосы происходит обратное. Эти примеры полезны при подготовке баннеров, где одна координата фиксирована числом листов, а вторую хочется определить автоматически.
Как рассчитывается количество страниц
После выбора области исходника программа получает её ширину и высоту в пунктах. При -p коэффициент равен минимуму отношений целевой ширины к исходной и целевой высоты к исходной. При -s коэффициент уже известен. Полученные размеры округляются, чтобы погрешность двоичной арифметики не создавала лишний лист на точной границе.
Для неповернутого варианта число столбцов равно округлению вверх отношения ширины плаката к ширине бумаги, а число строк — округлению вверх отношения высоты к высоте бумаги. Для повернутого варианта ширина бумаги меняется местами с высотой. Затем сравнивается произведение. Поэтому короткий, но очень широкий баннер может занять меньше листов при повороте каждого A4, даже если исходная страница уже альбомная.
Крайняя плитка не растягивается до полного листа. Её MediaBox имеет шаг выбранной бумаги, а TrimBox ограничивается оставшимся фрагментом содержимого. Некоторые просмотрщики показывают вокруг такой плитки дополнительную пустую область, другие ориентируются на CropBox или TrimBox. При печати важен MediaBox и режим Фактический размер. Если драйвер автоматически центрирует меньшую область, проверьте первую и последнюю плитку отдельно.
Каждая выходная страница ссылается на тот же поток содержимого масштабированной исходной страницы и отличается главным образом коробками и отсечением. После записи одинаковые объекты дополнительно объединяются и сжимаются. Поэтому файл на сотни страниц может быть лишь в несколько раз больше исходника, а не во столько раз, сколько получилось плиток. Экономия особенно заметна на насыщенных векторных схемах и PDF с встроенными шрифтами.
Сухой запуск и уровни подробности
-n выполняет все расчёты, но не записывает выходной файл. Это лучший первый шаг для крупного плаката: можно увидеть формат бумаги, размер плаката, масштаб, решение о повороте и число строк со столбцами, не создавая десятки или сотни страниц. Сухой запуск также выявляет ошибку в BOX, конфликт -p и -s, неверный диапазон и проблемы чтения исходника.
-v можно повторять. Один уровень сообщает основные решения, два показывают масштаб и итоговую сетку, более высокий уровень добавляет размеры в пунктах, сравнение повернутого и неповернутого вариантов и смещения создаваемых страниц. Для обычной работы достаточно -vv; при анализе лишней пустой страницы полезен -vvv, потому что видны рассчитанные габариты и шаги.
Сообщения направляются как журнал выполнения и не являются интерактивным мастером. Их удобно перенаправлять в файл: pdfposter -vvn -mA3 -pA0 in.pdf out.pdf > layout.txt 2>&1. В пакетной обработке журнал помогает сопоставить каждый результат с числом листов. Если требуется машинный JSON, встроенного режима нет; строки придётся разбирать внешним скриптом либо использовать функции Python напрямую.
После удовлетворительного сухого запуска удалите только -n, не меняя остальные параметры. Это снижает риск расхождения между проверкой и реальным заданием. Сразу после записи проверьте количество страниц средствами просмотрщика или утилитой анализа PDF. Если оно отличается от ожидаемого, не отправляйте весь файл на печать: сначала найдите причину в размерах BOX и округлении.
Диапазон страниц -f и -l
-f задаёт первую, а -l последнюю обрабатываемую страницу. Нумерация начинается с единицы. Значение меньше единицы для начала прижимается к первой странице, а окончание больше фактического числа страниц — к последней. Диапазон включительный: -f2 -l3 обрабатывает вторую и третью страницы.
Если задана только -f, обработка продолжается до конца документа; если только -l, начинается с первой страницы. При обратном диапазоне, где первая страница больше последней, цикл не создаёт плиток и может получиться пустой PDF либо ошибка на этапе записи в зависимости от библиотеки. Перед пакетной обработкой валидируйте числа и используйте сухой запуск.
Параметры диапазона полезны для альбома чертежей, когда крупно печатается только одна схема, а остальные страницы содержат пояснения. Для разных страниц с разными целевыми размерами запускайте отдельные команды: один набор -m, -p и -s применяется ко всему выбранному диапазону. Объединить готовые раскладки можно позже, но при печати отдельные файлы безопаснее, потому что драйвер не меняет настройки между заданиями.
Имена выходных файлов должны отражать диапазон и бумагу, например plan-p02-p03-a3.pdf. Это не функция pdfposter, а защита рабочего процесса: команда без запроса подтверждения перезаписывает существующий путь. В скрипте проверяйте наличие результата заранее или создавайте файлы в отдельном каталоге.
TrimBox и ArtBox
По умолчанию областью исходника служит TrimBox — предполагаемый размер готового печатного изделия после обрезки. Опция -A переключает расчёт на ArtBox, который описывает содержательно значимую область страницы. Если ArtBox меньше TrimBox, одинаковый размер плаката даст больший коэффициент, потому что в целевой прямоугольник вписывается более компактная область.
Выбор коробки влияет одновременно на масштаб и отсечение. Программа добавляет в поток страницы прямоугольный clip path, а затем формирует плитки. Объекты за границей выбранной области не должны печататься даже тогда, когда они физически присутствуют в PDF. Это полезно для файлов из издательских систем, где за обрезом лежат метки, фон или технологические элементы.
Не все документы содержат осмысленный ArtBox. Некоторые генераторы копируют туда MediaBox, другие задают нулевой или ошибочный прямоугольник. Перед использованием -A проверьте коробки в редакторе или анализаторе PDF. Если с опцией результат резко увеличился, стал пустым или обрезал важные элементы, вернитесь к TrimBox и исправьте геометрию исходника.
CropBox напрямую выбрать нельзя. Это сознательно отличается от обычного просмотра, где CropBox часто определяет видимую область. Если нужная рамка задана только как CropBox, сохраните исправленную копию, установив TrimBox или ArtBox равным нужному прямоугольнику. Попытка компенсировать неверную коробку размером -p не решает отсечение: масштаб изменится, но лишние поля останутся частью входной области.
Практические команды для типовых задач
A4 в плакат A0 на листах A3
pdfposter -vvn -mA3 -pA0 a4.pdf a0-on-a3.pdf сначала показывает расчёт. После проверки команда без -n создаёт PDF. Такой вариант подходит для макета с пропорциями A-серии, но из-за округления и реальных полей исходника число страниц может быть больше восьми. Печать выполняется на A3 с масштабом 100%.
Плакат из сетки 3 × 3 Letter
pdfposter -mLetter -p3x3Letter input.pdf poster.pdf задаёт и лист, и итоговый прямоугольник одной системой единиц. Это уменьшает риск пограничной страницы. Если исходник заметно вытянут, он впишется с пустой полосой внутри габарита 3 × 3, а фактическая сетка может использовать не все девять листов.
Печать на одном листе A0
pdfposter -mA0 input.pdf output-a0.pdf делает плакат равным A0, потому что при отсутствии -p и -s размер плаката наследует бумагу. Исходник масштабируется под один крупный лист. Команда удобна для подготовки файла плоттеру, но не добавляет вылеты, цветовые метки и профиль печати.
Увеличение линейных размеров в четыре раза
pdfposter -s4 input.pdf output-x4.pdf использует A4 как бумагу. Добавьте -mA3, если печатать будете на A3. Сетка зависит от размеров исходной коробки; для A4 это не обязательно ровно 4 × 4 из-за автоматического поворота и округления.
Нестандартная бумага 10 × 10 см
pdfposter -m10x10cm -pA0 input.pdf tiles-10cm.pdf создаёт много маленьких плиток. Такой режим демонстрирует экономное повторное использование потоков: сотни страниц не означают сотни копий изображения внутри файла. Перед печатью убедитесь, что принтер или драйвер действительно принимает пользовательский формат 100 × 100 мм.
Уменьшение A1 до A3 на двух A4
pdfposter -pA3 -mA4 placard-a1.pdf a3-on-a4.pdf уменьшает исходник и делит его по выбранной бумаге. Для одного A4 используйте -pA4 -mA4. Тонкие линии могут стать физически слишком тонкими, хотя останутся векторными; это ограничение масштаба и принтера, а не качества PDF.
Длинный горизонтальный баннер высотой два листа
Для широкой страницы можно задать очень большое число по ширине и фиксированное по высоте: pdfposter -p999x2A4 wide.pdf banner.pdf. Масштаб ограничится высотой двух портретных A4, а реальное число столбцов определится пропорциями. Для двух альбомных листов по высоте применяется зеркальная запись -p2x999A4. Обязательно используйте сухой запуск, поскольку значение 999 — приём для выбора ограничивающей координаты, а не желаемое число листов.
Одна страница из многостраничного документа
pdfposter -f5 -l5 -mA4 -pA1 atlas.pdf sheet-05.pdf раскладывает только пятую страницу. Одинаковые -f и -l — простой способ выбрать одну страницу без предварительного извлечения. Если документ содержит смешанные форматы, отдельная команда также делает журнал и имя результата однозначными.
Пакетная обработка каталога
В оболочке можно пройти по файлам и подставлять базовое имя: for f in *.pdf; do pdfposter -mA3 -pA0 "$f" "poster-${f%.pdf}.pdf"; done. Сначала замените создание на -n -vv и сохраните журналы. Не обрабатывайте в том же каталоге файлы с префиксом poster-, иначе повторный запуск может захватить собственные результаты.
Проверка без записи
pdfposter -vvv -n -mA4 -p2x3A4 plan.pdf ignored.pdf всё равно требует имя выходного файла, хотя не создаёт его. Используйте очевидное временное имя и не полагайтесь на отсутствие аргумента. В подробном выводе сравните рассчитанные размеры и число страниц в двух ориентациях.
Печать и сборка результата
Готовый PDF следует печатать в режиме Фактический размер, 100% или эквивалентном. Параметры Вписать, Уменьшить большие страницы и автоматическая подгонка меняют физический шаг плиток. Если принтер не поддерживает формат из -m, сначала пересоздайте раскладку под доступную бумагу, а не поручайте драйверу масштабировать чужой MediaBox.
pdfposter не создаёт перекрытие, метки реза, номера листов и схему сборки. Соседние плитки соприкасаются по математической границе. Для принтера с непечатаемыми полями это означает потерю полосы по краям. Один из рабочих способов — подготовить исходник с внутренними полями и склеивать листы встык; другой — печатать на бумаге большего размера и обрезать её до рассчитанного MediaBox. Для обязательного нахлёста лучше выбрать инструмент, где он задаётся отдельным параметром.
Перед тиражом распечатайте центральную и крайнюю плитки. На центральной проверяется масштаб контрольной линейкой, на крайней — поведение TrimBox и непечатаемых полей. Если крайний фрагмент смещён к центру листа, отключите центрирование малых страниц в драйвере или печатайте через просмотрщик, который уважает MediaBox без дополнительной компоновки.
Порядок страниц создаётся по столбцам, сверху вниз. При раскладке 3 × 3 первые три листа относятся к левому столбцу, следующие три — к среднему, последние — к правому. Это отличается от привычного постраничного порядка слева направо по строкам. До обрезки разложите листы на полу или столе и подпишите координаты. Для большого задания можно заранее создать внешнюю схему по числу столбцов и строк из журнала.
При двусторонней печати режим нужно отключить: обратная сторона не является продолжением плаката, а переворот листов нарушит последовательность. Также отключите брошюру, несколько страниц на листе и экономию бумаги. Цветовые настройки, профиль и разрешение определяются просмотрщиком и драйвером, потому что pdfposter не конвертирует цвета и не растрирует страницу в заданном DPI.
Качество PDF и сохранение содержимого
Масштабирование выполняется средствами PDF. Векторные контуры, текст и кривые сохраняют математическую природу и не получают пиксельных ступеней только из-за увеличения. Растровые изображения внутри страницы не становятся детальнее: их эффективное разрешение уменьшается пропорционально линейному масштабу. Картинка 300 dpi, увеличенная в четыре раза по ширине, будет иметь около 75 dpi в готовом размере.
Шрифты и графические ресурсы остаются частью исходной страницы. Если шрифт не встроен и просмотрщик подменяет его, проблема проявится и в плитках. Перед плакатной печатью полезно проверить встраивание шрифтов и прозрачности. pdfposter не выполняет допечатную проверку, не переводит цвета в CMYK и не добавляет вылеты.
На выходе всегда PDF. Программа не отправляет задание на принтер и не создаёт изображения отдельных плиток. Для предпросмотра можно открыть результат в просмотрщике с миниатюрами; для цифрового станка обычно достаточно передать сам PDF. Если типография просит единый лист A0, используйте -mA0, а не многостраничную сетку A4.
Содержимое каждой входной страницы масштабируется один раз, после чего плитки используют общие объекты. Такая структура уменьшает размер, но некоторые простые программы анализа могут показывать необычные MediaBox с ненулевыми координатами. Это допустимо для PDF: каждая плитка представляет окно в общей масштабированной странице. Если конкретный RIP неверно интерпретирует такие страницы, перепечатайте результат в новый PDF через надёжный драйвер или нормализуйте коробки специализированной утилитой.
Совместимость и установка
Для запуска требуется Python 3.8 или новее и библиотека pypdf версии не ниже 5.5. Пакет не привязан к одной ОС: одинаковая команда используется в Windows, GNU/Linux и macOS, если каталог со скриптами Python входит в PATH. Установка через pip выполняется командой pip install pdfposter; в изолированном окружении лучше сначала создать venv, чтобы зависимости задания не конфликтовали с системными пакетами.
В Windows при установке Python нужно включить добавление в PATH. Если команда pdfposter не находится, проверьте каталоги Python и Scripts либо запустите модуль из активированного окружения. Несколько установок Python часто приводят к ситуации, когда pip ставит пакет в один интерпретатор, а терминал ищет скрипты другого. Надёжная форма — python -m pip install pdfposter с тем же python, которым затем проверяется окружение.
В дистрибутивах GNU/Linux пакет может быть доступен через системный менеджер. Такой способ устанавливает зависимость pypdf согласованной версии и размещает команду в стандартном каталоге. Если репозиторий содержит более раннюю сборку или пакет отсутствует, используйте виртуальное окружение pip. Не смешивайте системный и пользовательский pip от имени администратора без необходимости.
Для компьютера без сети можно заранее скачать исходный пакет или универсальный wheel pdfposter и пакет pypdf, перенести их и выполнить pip install pdfposter-*.whl pypdf-*.whl либо установку из исходных пакетов. Wheel не содержит отдельной нативной программы для каждой архитектуры: это Python-код, поэтому архитектура определяется интерпретатором. После установки проверяются pdfposter --version и pdfposter --help-media-names.
Ошибки и способы устранения
Конфликт -p и -s
Сообщение о том, что разрешён только один параметр, означает одновременную фиксацию размера и масштаба. Оставьте -p, если важен конечный габарит, либо -s, если важна точная кратность. Остальные настройки можно сохранить без изменений.
Лишняя почти пустая страница
Чаще всего причина — округление стандартных размеров. Вместо -mA5 -pA4 задайте -mA5 -p2xA5. Если пустая полоса остаётся, включите -vvv и сравните вычисленный размер с кратным размером листа; также проверьте поля TrimBox.
Часть изображения обрезана
Проверьте, не включён ли -A, и сравните ArtBox с TrimBox. Если обрезка есть без -A, исходный TrimBox меньше видимого содержимого. Исправьте коробку в копии PDF. Увеличение -p не возвращает объекты, уже исключённые clip path.
Слишком много листов
Убедитесь, что числа в BOX интерпретируются в нужных единицах. 100x150mm и 100x150cm отличаются в десять раз по каждой координате и в сто раз по площади. Проверьте, не использован ли линейный -s4 вместо желаемого увеличения площади в четыре раза, которому соответствует -s2.
Команда не найдена
Пакет установлен, но каталог Scripts не входит в PATH или активировано другое окружение. Найдите путь командой менеджера Python, активируйте venv и повторите проверку. Переустановка без выяснения интерпретатора часто создаёт ещё одну копию, но не исправляет PATH.
Неизвестное имя бумаги
Запустите --help-media-names. Используйте английское имя без локализованных слов и полный уникальный ключ. Для нестандартного формата задайте числовой прямоугольник с единицей, например 215x305mm.
Неоднозначное сокращение
Допишите имя формата. Сокращения проверяются по всем ключам, поэтому несколько конвертов или близких названий могут начинаться одинаково. В скриптах сокращения не дают выигрыша и только повышают риск.
Файл повреждён или не PDF
Проверьте расширение и сигнатуру. Иногда под именем PDF сохраняется HTML-страница загрузки. Откройте файл в просмотрщике, пересохраните или восстановите таблицу объектов. pdfposter читает с ослабленной строгостью, но не может исправить любую структурную ошибку.
Пароль не принимается
Убедитесь, что вводится пароль открытия, а не только пароль владельца. Сложные политики шифрования могут требовать предварительного снятия защиты в программе, которая создала документ. Не передавайте пароль в командной строке: штатный запрос скрывает ввод.
Печать меньше рассчитанного размера
Драйвер применил подгонку. Выберите фактический размер и бумагу, равную -m. Проверьте, что просмотрщик не включает автоматический поворот с масштабированием. Контрольный квадрат в исходнике помогает измерить реальный коэффициент.
Крайние плитки смещены
Некоторые просмотрщики центрируют TrimBox внутри MediaBox. Печатайте по MediaBox без центрирования или нормализуйте результат. Сначала сравните экранное превью в двух просмотрщиках, чтобы отделить структуру PDF от поведения одного драйвера.
Выходной PDF пуст
Проверьте диапазон -f/-l и выбранную коробку. Обратный диапазон не содержит страниц, а ошибочный ArtBox может иметь нулевую площадь. Запустите без диапазона и без -A, затем возвращайте параметры по одному.
Склейка не совпадает по краям
Встроенного нахлёста нет, а принтер мог обрезать непечатаемую область. Не растягивайте отдельные страницы вручную. Создайте раскладку под больший лист, добавьте поля в исходник или используйте решение с перекрытием и метками реза.
Результат слишком большой по объёму
Проверьте исходный PDF на дублированные тяжёлые изображения и прозрачности. Общие потоки экономят место, но не исправляют неэффективный исходник. Оптимизируйте изображения один раз до раскладки; не растрируйте в чрезмерном DPI.
Русские сообщения не появляются
Тексты интерфейса зависят от локали и наличия файлов перевода. Даже при английских сообщениях синтаксис параметров не меняется. Для автоматизированного разбора лучше не полагаться на язык журнала, а проверять код завершения и наличие выходного файла.
Производительность и большие задания
Время работы определяется чтением исходной страницы, преобразованием структуры и записью списка плиток. Количество страниц влияет на число объектов страниц, но тяжёлый поток содержимого не копируется полностью для каждой плитки. На векторном плакате создание десятков страниц обычно быстрее последующей отрисовки миниатюр просмотрщиком.
Очень большой коэффициент способен создать тысячи страниц. Даже компактный PDF станет неудобен для просмотра, спулинга и печати. Оцените сетку через -n -vvv и поставьте практический лимит в скрипте. Если плакат требует сотен листов, разумнее изменить бумагу, разделить проект на секции или передать единый крупный лист плоттеру.
Память расходуется на структуру исходного PDF и выходной writer. Многостраничные документы с уникальными тяжёлыми страницами требуют больше ресурсов, чем одна страница, разрезанная на множество плиток. Для каталога запускайте отдельные процессы по страницам: так память освобождается между заданиями, а ошибка одного файла не уничтожает весь пакет.
Выходной файл записывается в конце. При прерывании процесса может остаться пустой или неполный файл. Создавайте результат во временном имени и переименовывайте после успешного завершения. На сетевом диске сначала пишите локально, затем копируйте готовый PDF, чтобы разрыв соединения не оставил повреждённый документ.
Автоматизация и воспроизводимость
Командная форма позволяет хранить параметры рядом с проектом. В текстовом сценарии фиксируются бумага, плакатный габарит, диапазон и имя результата. Через месяц раскладку можно повторить без ручного восстановления настроек диалога печати. Для юридически или технически значимых шаблонов дополнительно сохраняйте хеш исходника и журнала сухого запуска.
В скрипте проверяйте код завершения, существование и ненулевой размер выхода, затем считывайте число страниц. Одного факта создания файла недостаточно: неправильный BOX тоже даёт валидный PDF. Хорошая проверка сравнивает рассчитанное число плиток с допустимым диапазоном и отклоняет резкий рост, например с 12 до 120 страниц.
Имена параметров полезно вынести в переменные: MEDIA=A3, POSTER=A0. Пути всегда заключайте в кавычки. В Windows PowerShell и командной строке синтаксис циклов отличается от shell, но сама команда pdfposter остаётся той же. Не вставляйте пользовательское значение BOX в команду без проверки по регулярному выражению и списку единиц.
Для серверной обработки можно вызывать функции Python напрямую, но публичный интерфейс командной строки стабильнее для независимого процесса. Прямой импорт требует повторить структуру объекта опций и следить за изменениями библиотеки. Изолированный запуск команды также лучше ограничивает сбой конкретного PDF и упрощает сбор stdout и stderr.
Как выбрать между размером плаката и масштабом
Выбор режима определяется тем, какая величина должна остаться неизменной после обработки. Для афиши, карты на стену или информационного стенда обычно известен внешний габарит, поэтому задаётся -p. Для выкройки, калибровочной сетки, шаблона сверления или технического рисунка важна кратность исходных размеров, поэтому используется -s. Смешивать эти требования в одной команде нельзя: если нужен и точный коэффициент, и конкретный внешний размер, сначала проверьте, совместимы ли они с пропорциями исходной страницы.
| Задача | Основной параметр | Что сохраняется | Что рассчитывается |
|---|---|---|---|
| Вписать макет в A0 | -pA0 | Пропорции и предельный габарит | Линейный масштаб и сетка |
| Увеличить чертёж до 150% | -s1.5 | Точная кратность размеров | Габарит и число листов |
| Получить прямоугольник из 2 × 3 A4 | -p2x3A4 | Максимальная область плаката | Масштаб с сохранением пропорций |
| Уменьшить A1 до одного A4 | -pA4 -mA4 | Вписывание целой страницы | Коэффициент уменьшения |
| Сохранить выкройку 1:1 | -s1 | Физический размер исходника | Только разбиение по бумаге |
-s1 заслуживает отдельного внимания. Он не увеличивает страницу, а раскладывает её в исходном физическом размере на выбранную бумагу. Это полезно, когда PDF уже подготовлен как A0, но доступен только A4-принтер. Если не указать -s1, а задать -pA0, результат часто будет близким, однако при нестандартной исходной коробке возможна подгонка. Для точной печати существующего крупного листа используйте масштаб 1 и проверяйте контрольный размер.
При заданном габарите -p свободное пространство не распределяется как поля вокруг изображения по специальному правилу. Программа просто выбирает максимально возможный единый коэффициент. Если исходник более узкий, чем целевой прямоугольник, незаполненной остаётся часть ширины; если ниже — часть высоты. Центрирование выполняется через общую область и коробки страниц, но отдельного управления положением внутри целевого прямоугольника нет.
Для заказа в типографии формулировка плакат A0 обычно означает точный формат готового изделия, а не сетку A4. Тогда -pA0 задаёт верную цель, но нужно проверить, содержит ли исходник вылеты. pdfposter ориентируется на TrimBox или ArtBox и не создаёт BleedBox. Если типография требует фон за линией реза, подготовьте его в исходном макете, а для раскладки на офисной бумаге решите, нужна ли печать вылетов или только чистого размера.
Геометрия PDF: почему коробки важнее изображения на экране
PDF-страница содержит несколько прямоугольников. MediaBox описывает физический носитель; CropBox подсказывает просмотрщику, какую часть показывать; TrimBox задаёт предполагаемую линию обрезки; BleedBox — область вылетов; ArtBox — значимую область художественного содержимого. Один и тот же документ может выглядеть одинаково в просмотрщике, но давать разную раскладку после выбора TrimBox или ArtBox, потому что экранный просмотр часто ориентируется на CropBox.
Координаты коробок не обязаны начинаться с нуля. Например, TrimBox может быть задан как прямоугольник от 36 до 559 пунктов по горизонтали и от 36 до 806 по вертикали. pdfposter учитывает смещение, масштабирует страницу и формирует плитки с ненулевыми координатами MediaBox. Это нормальная структура, хотя некоторые упрощённые инструменты ожидают начало в точке 0,0. Ненулевое начало само по себе не означает повреждение.
При отсечении создаётся прямоугольный путь и применяется операция clipping. Она скрывает объекты за границей, но обычно не удаляет их ресурсы из файла. Поэтому конфиденциальные данные за TrimBox не следует считать уничтоженными: pdfposter не является средством редактирования или безопасного удаления содержимого. Перед передачей документа удалите лишние объекты в редакторе и проверьте результат специализированной очисткой.
Поворот страницы в PDF может храниться как свойство Rotate или как преобразование содержимого. pdfposter работает с геометрией читаемой страницы и при необходимости добавляет поворот к масштабированной странице. Если исходник сочетает Rotate, необычный CropBox и смещённый TrimBox, обязательно проверьте визуальный результат. Проблемы обычно проявляются как поворот на лишние 90 градусов, зеркальное ожидание порядка плиток или смещение крайней полосы.
Перед крупным тиражом полезно составить краткую геометрическую карточку исходника: размер MediaBox, TrimBox, ArtBox, наличие Rotate и число страниц. Эти сведения не выводятся полностью обычной справкой pdfposter, но видны в анализаторах PDF. Карточка помогает объяснить, почему два внешне похожих файла при одинаковой команде дают разные коэффициенты.
Ручная проверка расчёта на простом примере
Предположим, исходная область имеет A4: примерно 595 × 842 пункта. Нужно получить плакат A0: примерно 2384 × 3370 пунктов. Отношение по ширине равно около 4,0067, по высоте — около 4,0024. Программа берёт меньшее значение, чтобы высота не вышла за предел A0. Поэтому масштаб оказывается около 4,002, а ширина остаётся чуть меньше полного A0. Разница возникает из-за округлённых размеров серии A в пунктах.
Если бумага A3 имеет около 842 × 1191 пункта, неповернутая сетка для результата близка к трём столбцам и трём строкам: ширина немного превышает два A3, а высота немного превышает два A3. Математически площади достаточно для восьми листов, но прямоугольная сетка и округление требуют девятый. Этот пример показывает, почему площадь формата не определяет число страниц без анализа сторон.
Для коэффициента -s2 A4 превращается примерно в 1190 × 1684 пункта. На A4 без поворота это два столбца и два ряда, то есть четыре листа; при других коробках или полях число может измениться. Для -s4 размеры становятся около 2380 × 3368. Если повернуть A4, ширина листа станет 842, высота 595, и сравнение сеток может выбрать вариант 3 × 6 вместо 4 × 4. В листах его больше, но конкретный алгоритм учитывает ориентацию и округление; поэтому ориентируйтесь на фактический журнал конкретного файла.
При нестандартной бумаге расчёт выполняется тем же способом. Лист 30 × 40 см имеет около 850,39 × 1133,86 пункта. Плакат 90 × 120 см составляет ровно три листа по каждой координате в десятичной геометрии, но преобразование в пункты и округление могут дать пограничные значения. Чтобы избежать лишней страницы, задавайте плакат через ту же единицу и кратные числа, например -m30x40cm -p3x3cm было бы неверно, потому что множитель относится к сантиметру; правильнее -m30x40cm -p90x120cm и затем проверить сухой запуск.
Множитель перед именем бумаги отличается от числового прямоугольника с единицей расстояния. 3x2A4 складывает три ширины A4 и две высоты A4. 3x2cm означает всего 3 × 2 см. При чтении команды сначала найдите единицу в конце, затем интерпретируйте числа. Большинство катастрофически больших или маленьких сеток связано именно с этой ошибкой.
Нестандартная бумага и реальные ограничения принтера
Пользовательский MediaBox можно задать в миллиметрах, сантиметрах или дюймах, но это не гарантирует, что драйвер примет такой лист. Многие офисные принтеры разрешают нестандартную длину только в определённом диапазоне, требуют ручной подачи или запрещают печать близко к краю. Сначала создайте одностраничный тест с тем же -m, убедитесь, что формат появляется в свойствах устройства, и только затем формируйте большую сетку.
Рулонная бумага описывается прямоугольником, например -m610x2000mm, если драйвер поддерживает такую длину. pdfposter создаст один или несколько длинных листов, но не управляет резаком плоттера. Некоторые RIP ограничивают максимальную длину страницы PDF даже при поддержке длинного рулона. При ошибке разделите баннер на более короткие секции с согласованным размером.
Для формата без полей полный MediaBox может соответствовать печатной области. Для обычного принтера это редко так. Если устройство оставляет по 5 мм с каждой стороны, математически соседние плитки потеряют 10-миллиметровую полосу на стыке. Уменьшение всего задания в драйвере создаст белые промежутки, но не добавит перекрытие. Правильное решение должно быть заложено до pdfposter: уменьшить полезную область внутри каждой будущей плитки, использовать больший лист или выбрать раскладчик с настраиваемыми полями.
Форматы Letter и A4 близки, но не взаимозаменяемы. A4 уже и выше, Letter шире и ниже. Если создать -mA4, а печатать на Letter, драйвер почти неизбежно изменит масштаб или обрежет край. Для международного обмена храните две раскладки либо задавайте бумагу получателя. Пересылка одного tiled PDF без указания MediaBox и режима 100% часто приводит к ошибке сборки.
Плотность бумаги и механическая точность протяжки также влияют на совмещение. pdfposter задаёт идеальную геометрию, но бытовой принтер может растягивать длинную сторону на доли процента. Для выкроек и шаблонов используйте контрольные размеры в двух направлениях, а не один квадрат. Если ошибка различается по осям, программный единый коэффициент её не компенсирует.
Документы со страницами разного размера
В PDF-досье первая страница может быть A4, вторая A3, третья узким чертежом. Одна команда с -pA0 впишет каждую из них в A0 независимо. В результате физический масштаб объектов между страницами будет разным. Для презентационного плаката это допустимо; для набора технических схем, которые должны иметь одинаковый масштаб, нет.
Если требуется единая кратность, используйте -s. Тогда каждая страница умножается на одинаковый коэффициент, а число плиток меняется в зависимости от исходного размера. В выходном документе группы страниц будут иметь разную длину. Сохраняйте журнал, чтобы знать границы групп, или создавайте отдельный файл на каждую исходную страницу.
Диапазон -f/-l не позволяет перечислить несмежные страницы. Для страниц 2, 5 и 9 нужны три запуска либо предварительное извлечение. В оболочке список можно обработать циклом, подставляя одинаковые -m и -s. Отдельные результаты проще проверять и перепечатывать при браке одного листа.
При разных TrimBox одинаковый внешний MediaBox не гарантирует одинаковую область. Одна страница может иметь большие поля, другая — обрезана вплотную. В режиме -s физический размер самой выбранной области сохраняется пропорционально, но визуальный объект с полями будет выглядеть меньше. Нормализуйте коробки до запуска, если сравнимость рисунков важнее сохранения исходной верстки.
Выходной PDF не вставляет разделительные титульные страницы между исходниками. Если один исходный лист даёт 6 плиток, а следующий 9, они следуют подряд. Для ручной печати добавьте внешнюю ведомость: имя исходника, диапазон выходных страниц, сетка и ориентация. Такая ведомость особенно важна, когда принтер останавливается и нужно продолжить с конкретного места.
Проверка готового PDF до расхода бумаги
Первая проверка — число страниц. Оно должно совпасть с суммой сеток в журнале. Вторая — размеры MediaBox: все плитки одного задания должны соответствовать -m, даже если их TrimBox на краю меньше. Третья — визуальная непрерывность: линии, проходящие через границу, должны продолжаться на соседней плитке без скачка.
Просмотр миниатюр выявляет пустые и почти пустые страницы. Почти пустая пограничная плитка может быть следствием округления и не всегда является ошибкой. Измерьте ширину содержимого на ней. Если это доли миллиметра, лучше изменить -p на кратное формату бумаги; если заметная полоса, лист действительно нужен.
Увеличьте масштаб просмотра до 400–800% на границе плитки. Векторные линии должны оставаться чёткими. Если вся страница стала растром, растрирование произошло в исходнике или на промежуточном этапе, а не в pdfposter. Проверьте свойства шрифтов и изображений. Для фотографии оцените эффективное разрешение в готовом размере.
Сравните TrimBox и MediaBox крайней страницы. Некоторые программы показывают только обрезанную область и создают впечатление, что бумага имеет другой формат. Печать должна использовать MediaBox. Если просмотрщик не позволяет выбрать это поведение, протестируйте другой. Нельзя исправлять структуру, просто включая вписать, потому что тогда меняется масштаб всех плиток.
Для критического шаблона распечатайте одну строку или один столбец, склейте и измерьте полный размер. Это проверяет накопленную ошибку протяжки. После успешного теста печатайте остальные листы с неизменными настройками драйвера и тем же лотком.
Сценарии автоматизации в разных оболочках
Проверка всех PDF в каталоге без создания файлов
В POSIX-оболочке: for f in *.pdf; do pdfposter -n -vv -mA3 -pA0 "$f" "${f%.pdf}-a0.pdf" >"${f%.pdf}.log" 2>&1; done. Каждый журнал получает имя исходника. После анализа удалите -n. Цикл безопасен только если шаблон *.pdf не включает ранее созданные результаты.
Проверка результата после команды
В сценарии сначала выполняется pdfposter, затем проверяется код завершения и размер файла. Пример логики: если команда успешна и выход существует, передать его анализатору страниц; иначе записать ошибку и продолжить со следующим исходником. Не переименовывайте временный файл до успешной проверки.
PowerShell для набора файлов
В PowerShell список получают через Get-ChildItem -Filter *.pdf, а базовое имя — через свойство BaseName. Аргументы передаются отдельными элементами, что безопаснее ручной сборки строки: & pdfposter -m A3 -p A0 $_.FullName "$($_.BaseName)-a0.pdf". Пути с пробелами в таком вызове обрабатываются корректно.
Индивидуальный масштаб из таблицы
Если каждому файлу нужен свой коэффициент, храните CSV с колонками filename и scale. Скрипт читает строку, проверяет, что scale — число в допустимом диапазоне, и вызывает -s. Не разрешайте одновременно столбец poster_size. После выполнения добавляйте в отчёт число страниц и хеш результата.
Повторная печать отдельной исходной страницы
Для многостраничного файла храните соответствие между номером входа и диапазоном выхода. При браке не обязательно повторять весь документ: запустите pdfposter с одинаковыми параметрами и -fN -lN. Полученный отдельный PDF будет содержать только плитки нужной страницы, что упрощает отправку на принтер.
В автоматизации не разбирайте переводимые фразы журнала как единственный критерий. Язык может измениться с локалью. Надёжнее контролировать код завершения, число страниц и геометрию PDF, а строки использовать для диагностики человеком. Если всё же нужен парсинг, зафиксируйте локаль процесса и тестируйте шаблоны на установленной сборке.
Что pdfposter намеренно не делает
Программа не редактирует текст, не переставляет объекты и не создаёт дизайн плаката. Она работает с готовой страницей как с геометрическим целым. Ошибку в заголовке, низкое разрешение фотографии или неправильный цвет нужно исправлять в исходном документе.
Нет интерактивного предпросмотра, ручного перетаскивания границ и отключения отдельных плиток. Управление выполняется параметрами, а визуальная проверка — после создания PDF. Для нестандартной экономной раскладки, где плитки размещаются не прямоугольной сеткой, нужен другой инструмент.
Нет перекрытия, клеевых полей, меток реза, нумерации страниц, стрелок совмещения и контрольной схемы. Эти элементы особенно полезны для фотографий без линий, по которым можно совместить края. Их отсутствие не исправляется уровнем подробности или форматом BOX.
Нет выбора CropBox, BleedBox или MediaBox как входной области через отдельный ключ. Доступны TrimBox и ArtBox. Если рабочая область хранится в другой коробке, её следует перенести до запуска.
Нет прямого ввода изображений и PostScript. PDF можно получить предварительной конвертацией, но качество и физический размер будут зависеть от неё. Для растрового изображения мастер, который сразу спрашивает dpi, поля и перекрытие, может быть удобнее.
Нет встроенной отправки на принтер. Это преимущество для воспроизводимости, потому что результат можно проверить и передать, но настройки драйвера остаются отдельным этапом. Размер бумаги и 100-процентный масштаб пользователь обязан согласовать вручную.
Нет допечатной оптимизации: цветовые профили, вылеты, треппинг, прозрачности, overprint и минимальная толщина линий не анализируются. Для типографии используйте специализированный preflight после раскладки или проверяйте исходник до неё в зависимости от требований производства.
Работа с результатом в других PDF-инструментах
После раскладки иногда требуется добавить номера плиток. Делать это нужно без изменения MediaBox и масштаба содержимого. Инструмент нумерации должен ставить метки в свободной зоне бумаги или в заранее подготовленном поле. Если номера накладываются поверх края изображения, они попадут в плакат после склейки.
Объединение нескольких результатов допустимо, если все они печатаются на одной бумаге. При разных MediaBox один общий файл может заставить драйвер переключать форматы или подгонять страницы. Безопаснее сохранять отдельные задания или объединять только однородные раскладки.
Оптимизатор PDF не должен преобразовывать страницы в изображения и сбрасывать коробки. После любой оптимизации повторно проверьте число страниц, MediaBox и контрольный масштаб. Снижение размера ценой растрирования ухудшит крупный плакат сильнее, чем обычный документ.
Добавление пароля после раскладки возможно, но убедитесь, что разрешение печати не запрещено. Если получатель должен распечатать файл в типографии, защита может помешать RIP. Пароль открытия также усложняет пакетную печать.
Для воспроизводимого хранения сохраняйте исходник, точную команду, журнал и готовый PDF. Только результат не объясняет, использовался ли ArtBox, какой был коэффициент и почему появилась конкретная сетка. Полный комплект позволяет воспроизвести задание при замене принтера или бумаги.
Сравнение pdfposter с аналогами
| Программа | Лучше подходит для | Главное ограничение |
|---|---|---|
| pdfposter | Повторяемой раскладки PDF по команде с сохранением векторного содержимого | Нет нахлёста, меток реза и визуального предпросмотра |
| Plakativ | Настройки плаката в окне с превью, полями, направляющими и оптимизацией числа листов | Для PDF выбирается одна исходная страница за запуск |
| PosteRazor | Пятишагового мастера, который превращает растровое изображение в многостраничный PDF | Исходником служит растр, а не PDF-страница |
| Adobe Acrobat Reader | Немедленной печати одной страницы в режиме Poster с интерактивным превью | Нет пакетной командной обработки и отдельного рабочего сценария раскладки |
| poster | Плакатов из PostScript с перекрытием и метками для сборки | Вход и выход ограничены PostScript |
pdfposter выбирают, когда исходник уже PDF, требуется точная повторяемая команда и результат нужно сохранить отдельным PDF без растрирования. Plakativ удобнее для ручной подготовки и склейки благодаря превью, полям и направляющим. PosteRazor проще для фотографий и других растровых изображений. Acrobat Reader подходит для разовой печати прямо из диалога, а poster остаётся полезным в цепочках PostScript, где критичны перекрытие и метки.
Ответы на практические вопросы
Можно ли задать ровно определённое число листов?
Прямого параметра число страниц нет. Через -pNxMA4 задаётся физический прямоугольник из N × M листов, но после вписывания и поворота фактическая сетка может отличаться. Для жёсткого лимита используйте сухой запуск и подбирайте размер либо инструмент с оптимизацией по максимальному числу страниц.
Добавляет ли программа поля для склейки?
Нет. Геометрия шага равна размеру -m, а переменные полей в алгоритме фактически нулевые. Нахлёст и метки нужно подготовить заранее или получить в другом инструменте.
Можно ли использовать PNG напрямую?
Нет, входной аргумент читается как PDF. Поместите изображение на PDF-страницу нужного физического размера без нежелательных полей. От этого размера зависит режим -s.
Почему A4 на двух A5 иногда даёт три страницы?
Потому что целые размеры ISO в пунктах не образуют идеальную кратность. Задайте плакат как 2xA5, то есть -p2xA5, а бумагу как -mA5.
Можно ли обработать все страницы одним запуском?
Да. Без -f и -l выбирается весь документ. Каждая страница раскладывается отдельно с теми же параметрами, поэтому смешанные форматы могут дать разные сетки.
Сохраняется ли текст векторным?
Да, если он был текстом или вектором в исходнике. Программа масштабирует PDF-страницу. Растровые фрагменты сохраняют исходное число пикселей и теряют эффективное dpi при увеличении.
Можно ли печатать через любой просмотрщик?
Просмотрщик должен уважать MediaBox и уметь печатать без подгонки. Сравните превью и сделайте тестовую плитку. Программы, которые автоматически центрируют TrimBox или уменьшают большие страницы, требуют отключения этих функций.
Как получить плакат в сантиметрах?
Используйте -p70x100cm и задайте реальную бумагу через -m. Пропорции исходника сохраняются, поэтому изображение впишется в 70 × 100 см, но может не заполнить одну из сторон.
Как понять, будет ли поворот?
Запустите -n -vvv. Журнал покажет число страниц без поворота и с поворотом, затем принятое решение. Финальную ориентацию всё равно проверьте по миниатюрам результата.
Можно ли перезаписать существующий файл?
Да, отдельного подтверждения нет. В автоматизации создавайте новое имя или проверяйте наличие пути перед запуском. Хранить исходник и результат под одним именем нельзя.
Контрольный список перед печатью
- Откройте исходник и проверьте нужную страницу, ориентацию и видимые поля.
- Определите, важнее конечный габарит
-pили точный линейный масштаб-s. - Запишите в
-mименно ту бумагу, которая будет выбрана в драйвере. - Для нестандартного формата используйте единицу
mm,cmилиinch. - Запустите расчёт с
-n -vvvи проверьте строки, столбцы, масштаб и поворот. - При лишней пограничной странице выражайте плакат как кратное той же бумаге.
- Удалите
-n, создайте PDF и проверьте число страниц и крайние плитки. - Печатайте при 100% без подгонки, брошюры, нескольких страниц на листе и дуплекса.
- Измерьте контрольный отрезок на тестовой печати.
- Учтите отсутствие нахлёста, меток реза и нумерации до запуска всего тиража.
Итоговый рабочий подход
Надёжная раскладка в pdfposter начинается не с печати, а с точного описания геометрии: бумага задаётся через -m, плакат — через -p или -s, а область исходника — TrimBox либо ArtBox. Сухой запуск показывает последствия этих решений до записи файла, подробный журнал объясняет поворот и сетку, а выходной PDF сохраняет векторные ресурсы и остаётся компактным благодаря общим потокам содержимого.
Для карт, чертежей, выкроек и баннеров программа особенно полезна там, где одну команду нужно повторять без ручного мастера. Ограничения следует учитывать заранее: входом служит PDF, встроенных полей перекрытия и меток нет, а корректный физический размер зависит от печати без масштабирования. Если эти условия подходят, последовательность проверить коробки — выполнить -n -vvv — создать файл — распечатать тестовую плитку даёт предсказуемый результат даже для большой сетки.