pdfbook2: подготовка PDF к двусторонней печати брошюрой

pdfbook2 — узкоспециализированный консольный инструмент для преобразования готового PDF в новый PDF с раскладкой страниц под печать брошюрой. Он не заменяет просмотрщик, редактор или OCR-программу: его задача начинается после того, как документ уже свёрстан. Утилита определяет полезную область страниц, при необходимости обрезает поля, добавляет внутренние и внешние отступы, затем передаёт подготовленный файл в pdfjam для брошюрной раскладки. На сентябрь 2026 года актуальной опубликованной версией остаётся 1.4 от января 2020 года; пакет по-прежнему присутствует в CTAN, TeX Live и MiKTeX, хотя новых релизов исходного проекта несколько лет не было.

Параметрpdfbook2
ТипКонсольная утилита для PDF-импозиции и подготовки брошюр
Разработчик и сопровождающийJohannes Neumann
Актуальная версия1.4
ЛицензияGNU GPL v3 или более поздняя версия
ВходPDF-файлы
РезультатНовый PDF с суффиксом -book.pdf
Основные зависимостиPython 3.6+, pdfjam, pdfcrop и их зависимости; для части операций задействуется TeX-инфраструктура и Ghostscript
ИнтерфейсКомандная строка, без графического предварительного просмотра
ОбработкаЛокальная, без аккаунта и без собственного облачного сервиса
РаспространениеCTAN; пакет в TeX Live и MiKTeX; исходный код в публичном репозитории

Скачать pdfbook2

Бесплатно
В реестре российского ПО
Чистая установка

Новейшая версия для Виндовс, macOS и Линукс. Удобный редактор PDF под российские реалии.

⬇ Скачать PDF Commander бесплатно

⬇ Скачать pdfbook2

Самый безопасный путь получения pdfbook2 — через экосистему TeX, а не со случайного каталога программ. CTAN публикует пакет pdfbook2 версии 1.4 и одновременно указывает, что он входит в TeX Live и MiKTeX. Для пользователя это важнее отдельного «установщика»: вместе с пакетом проще получить совместимые версии pdfjam, pdfcrop, LaTeX-компонентов и остальных зависимостей, без которых один файл скрипта мало полезен.

У проекта есть публичный исходный код, а сам исполняемый файл представляет собой Python-скрипт. Официальный README допускает ручную установку: скрипт можно скопировать в каталог из переменной PATH и на Unix-подобной системе сделать исполняемым. Такой способ разумен, когда TeX-окружение уже настроено и нужен именно свежий файл из официального репозитория или CTAN. Для обычной рабочей станции предпочтительнее штатный пакетный менеджер TeX-дистрибутива, потому что он лучше контролирует зависимости.

Что такое pdfbook2

pdfbook2 появился как переписанный на Python вариант более старой утилиты pdfbook. Первая версия была опубликована в 2015 году. В отличие от обычного PDF-просмотрщика программа не предназначена для чтения, поиска, аннотирования или редактирования текста. Её область — предпечатная перестановка страниц: из последовательного документа получить файл, который после двусторонней печати, сгиба и сборки образует брошюру с правильным порядком страниц.

Текущая версия 1.4 датирована 20 января 2020 года. В ней проект перешёл на Python 3, исправил обработку одностраничного входного файла и работу параметра signature. Предыдущая версия 1.3 устраняла ожидание после запуска дочернего процесса, которое могло приводить к блокировке на очень больших документах. Эти изменения хорошо показывают архитектуру pdfbook2: сама программа управляет последовательностью внешних утилит, а не содержит собственный полноценный PDF-движок.

Основные функции pdfbook2

Автоматическое определение полезной области

По умолчанию pdfbook2 запускает pdfcrop в режиме, который получает границы содержимого страниц. Скрипт отдельно анализирует нечётные и чётные страницы, вычисляет общую высоту и согласованную ширину, после чего создаёт временный обрезанный PDF. Такой подход полезен для документов с широкими исходными полями: при брошюрной раскладке полезная область занимает лист рациональнее, а разворот получается крупнее.

Обрезка не является необратимым изменением исходника: pdfbook2 формирует новый файл и не переписывает исходный PDF. Если автоматическая обрезка нежелательна, параметр —no-crop копирует исходник во временный файл без этапа определения границ. Это важный режим для документов, где белые поля являются частью композиции, нужны для заметок или содержат элементы, которые нельзя оценивать только по видимой краске.

Настройка полей под сгиб и обрез

Утилита предоставляет четыре параметра полей: —outer-margin, —inner-margin, —top-margin и —bottom-margin. В справке версии 1.4 указаны значения по умолчанию 40, 150, 30 и 30 соответственно. Внутренний отступ особенно важен для сгиба или скрепления: его увеличение оставляет больше свободного пространства около корешка.

Однако параметр нижнего поля требует осторожности. В опубликованном коде версии 1.4 при формировании рамок обрезки для нижней границы используется значение outerMargin, а не bottomMargin; в списке открытых проблем проекта также есть отдельное сообщение о том, что bottom margin игнорируется. Поэтому для тиражной работы нельзя считать —bottom-margin гарантированно работающим только потому, что он присутствует в справке: результат нужно проверять по фактическому PDF.

Booklet-раскладка и сигнатуры

После подготовки страниц pdfbook2 вызывает pdfjam в альбомной ориентации. Если параметр сигнатуры не задан, используется режим booklet. Если задан —signature, его значение передаётся в pdfjam; справка требует число, кратное четырём. Это позволяет разделять большой документ на печатные тетради, которые удобнее сгибать и собирать, чем одну толстую стопку.

Параметр —paper передаёт формат бумаги как LaTeX-ключ. В официальных примерах используются a4paper, letterpaper и упоминается legalpaper. Если формат не указан, выбор по умолчанию остаётся на стороне pdfjam и локальной конфигурации TeX. Для воспроизводимого рабочего процесса лучше задавать бумагу явно, особенно если один и тот же сценарий запускается на машинах с разными региональными настройками.

Режим короткой стороны и двусторонняя печать

Ключ —short-edge предназначен для подготовки варианта под переворот по короткой стороне. В реализации версии 1.4 при его использовании скрипт проверяет наличие пакета everyshi.sty через kpsewhich и добавляет в pdfjam специальную LaTeX-преамбулу, разворачивающую часть страниц на 180 градусов. Если everyshi.sty не найден, программа завершает работу с сообщением об ошибке.

На этом параметре есть важное современное ограничение: в 2024 году в репозитории проекта была открыта проблема о неожиданном направлении переворота, а в 2025 году аналогичное поведение зарегистрировали в Debian для texlive-extra-utils. Поскольку сам pdfbook2 при этом не менялся, вероятной зоной несовместимости остаётся его взаимодействие с обновлёнными зависимостями. Перед большим тиражом нужно распечатать один тестовый лист или хотя бы проверить ориентацию страниц в результирующем PDF.

Пакетная обработка нескольких файлов

В одной команде можно передать несколько входных PDF. Скрипт обрабатывает их последовательно и для каждого создаёт собственный файл вида имя-book.pdf. Это удобно для набора отдельных методичек или глав, когда параметры бумаги, полей и сигнатуры одинаковы. Объединения входов в один документ нет: каждый аргумент проходит функцию обработки отдельно.

Важная деталь: если целевой файл уже существует, документация предупреждает о перезаписи. Диалога подтверждения нет. Поэтому при автоматизации стоит сначала отделять исходники от каталога результатов или использовать резервную копию готовых imposed-файлов, если их параметры могут отличаться от нового запуска.

Интерфейс и удобство использования

Графического интерфейса у pdfbook2 нет. Рабочая зона — терминал, а «навигация» сводится к имени команды, параметрам и путям к входным файлам. Запуск без аргументов выводит версию и справку, —help показывает группы General, Margins и Advanced. Во время обработки программа печатает стадии вроде получения границ, обрезки и создания брошюрного PDF. Для администратора или пользователя, привыкшего к shell, это прозрачная модель; для человека, ожидающего миниатюры страниц и drag-and-drop, порог входа заметно выше.

Поддерживаемые форматы и совместимость

Несмотря на то что нижележащий pdfjam умеет принимать не только PDF, сам pdfbook2 документирован и реализован как инструмент для PDF. Он проверяет существование переданного файла, строит выходное имя из исходного и ожидает типичный PDF-сценарий с pdfcrop. Практически это означает: использовать его следует с файлами .pdf, а изображения, офисные документы и электронные книги сначала нужно преобразовать в PDF подходящим инструментом.

Экспорт тоже один: новый PDF, пригодный для последующей печати. Нет экспорта в DOCX, изображения, PostScript или EPUB. Программа не выступает контейнером для конвертации; её ценность в перестановке и геометрической подготовке страниц. Если исходный PDF содержит сложные интерактивные элементы, формы или мультимедиа, pdfbook2 не предлагает специальных режимов их сохранения — основной сценарий рассчитан на печатное содержимое.

По платформам пакет не привязан к одной настольной ОС, но зависит от TeX-инфраструктуры. CTAN отмечает включение в TeX Live и MiKTeX. В Debian 2026 года pdfbook2 поставляется внутри texlive-extra-utils; на macOS его можно получить через TeX Live/MacTeX; на Windows пакет доступен в MiKTeX и также может использоваться в TeX Live. Мобильного приложения и веб-версии нет.

Интеграции у pdfbook2 процессные, а не сетевые. Скрипт вызывает pdfcrop, pdfjam и kpsewhich, работает с локальными файлами и не содержит механизма загрузки документа на сервер. Это удобно для конфиденциальных материалов: сам pdfbook2 не требует учётной записи и не отправляет PDF в облако. При этом безопасность обработки всё равно зависит от локальных компонентов, прежде всего TeX и Ghostscript, поэтому их стоит обновлять через доверенный дистрибутив.

Производительность и стабильность

Официальных сравнительных бенчмарков у проекта нет, поэтому оценивать скорость в страницах в секунду было бы недостоверно. Архитектура позволяет понять, где расходуется время: при включённой обрезке pdfbook2 сначала запускает pdfcrop для получения bounding boxes, затем ещё раз для фактической обрезки, после чего запускает pdfjam для импозиции. На большом PDF это больше работы, чем простая перестановка страниц без crop.

Файлы в одном вызове обрабатываются последовательно. Более того, текущий код использует фиксированное временное имя .crop-tmp.pdf в рабочем каталоге. Поэтому параллельный запуск нескольких экземпляров pdfbook2 из одного каталога потенциально конфликтует за один и тот же временный файл. В репозитории есть открытый запрос на возможность параллельной работы; до его решения безопаснее давать параллельным заданиям разные рабочие каталоги.

Стабильность также зависит от версий pdfjam, pdfcrop и TeX-пакетов. Открытая проблема с направлением short-edge после обновления texlive-extra-utils показывает, что неизменный скрипт может вести себя иначе на новом стеке. Для производственного использования это аргумент в пользу фиксации версии TeX-окружения, хранения тестового PDF и повторной проверки после обновлений.

Лицензирование и версии

pdfbook2 — свободное ПО. Код версии 1.4 распространяется по GNU General Public License версии 3 или, по тексту лицензии в программе, любой более поздней версии. Платной редакции, подписки, рекламного тарифа, ограничения по числу файлов, водяного знака или пробного периода у самого pdfbook2 нет. Регистрация также не нужна.

У продукта нет параллельной линейки «Basic/Pro/Enterprise». Актуальный пакет — один и тот же CLI-инструмент. Различия, которые пользователь видит между Linux, macOS и Windows, связаны прежде всего с тем, каким TeX-дистрибутивом и пакетным менеджером он установлен. Стоимость владения здесь измеряется не лицензией, а сложностью окружения: ради одной маленькой утилиты может потребоваться крупный набор TeX-компонентов.

Системные требования

README версии 1.4 прямо указывает три требования: Python 3.6, pdfjam, pdfcrop и их зависимости. Строка запуска использует python3. На практике pdfcrop задействует Ghostscript для определения границ, а pdfjam опирается на LaTeX/pdfpages, поэтому рабочее окружение существенно шире одного Python-интерпретатора. Для режима short-edge дополнительно проверяется наличие everyshi.sty.

Linux

В Debian testing в 2026 году pdfbook2 включён в texlive-extra-utils. Системный пакет подтягивает Python 3 и базовые TeX-зависимости; Ghostscript указан среди рекомендуемых компонентов, а latex-recommended — среди рекомендаций набора. На других дистрибутивах состав пакетов отличается, поэтому надёжнее проверять наличие команд pdfbook2, pdfjam, pdfcrop и kpsewhich, а не переносить имя Debian-пакета буквально.

macOS

Для macOS практический путь — TeX Live через MacTeX. Актуальный MacTeX 2026 содержит полный TeX Live и требует macOS 11 Big Sur или новее; это требование именно текущего MacTeX, а не отдельная декларация pdfbook2. Если используется уменьшенная установка TeX, отсутствующий пакет можно поставить через tlmgr вместе с зависимостями.

Windows

MiKTeX продолжает публиковать пакет pdfbook2 в своём каталоге. После установки MiKTeX пакетами управляет MiKTeX Console, умеющая автоматически ставить отсутствующие зависимости. Альтернативой остаётся TeX Live для Windows. Отдельного собственного Windows-инсталлятора pdfbook2 нет, поэтому состояние PATH и TeX-окружения важнее версии Windows как таковой.

Преимущества и недостатки pdfbook2

Плюсы и минусы

Плюсы ✔️
  • Решает конкретную задачу брошюрной импозиции одной короткой командой и создаёт отдельный печатный PDF.
  • По умолчанию умеет подрезать лишние поля с отдельным анализом нечётных и чётных страниц.
  • Позволяет задавать формат бумаги, внутренние и внешние отступы, верхнее поле, сигнатуру и режим короткой стороны.
  • Работает локально, не требует регистрации, подписки или загрузки документов на сервер.
  • Свободная лицензия GPL и наличие в CTAN, TeX Live, MiKTeX и Linux-дистрибутивах упрощают проверяемую установку.
  • Подходит для сценариев автоматизации, потому что вся конфигурация выражается параметрами командной строки.
Минусы ❌
  • Нет графического интерфейса, миниатюр страниц и визуального предпросмотра листов до экспорта.
  • Последний релиз исходного проекта 1.4 вышел в 2020 году; открытые проблемы продолжают накапливаться.
  • Есть подтверждённая проблема с фактическим применением параметра bottom margin в коде версии 1.4.
  • Поведение short-edge чувствительно к изменениям зависимостей; в 2024–2025 годах зарегистрированы соответствующие проблемы.
  • Фиксированное временное имя ограничивает безопасный параллельный запуск в одном рабочем каталоге.
  • Нет параметра для произвольного выходного пути, а существующий файл -book.pdf может быть перезаписан.
  • Ради небольшой утилиты требуется Python и заметная TeX/PDF-инфраструктура.

Сравнение с аналогами

У pdfbook2 необычная ниша, поэтому прямых аналогов мало. Правильнее сравнивать не «кто лучше работает с PDF вообще», а кто удобнее доводит готовый документ до брошюрной печати.

ИнструментОсновная рольБрошюра/импозицияИнтерфейсКогда предпочтительнее
pdfbook2Подготовка отдельного PDF-буклетаДа, основной сценарий; crop, margins, signatureCLIАвтоматизация и повторяемая предпечатная обработка
pdfjamОбщий интерфейс к pdfpages для перестановки и N-upДа, более низкоуровневоCLIКогда нужен более широкий контроль над компоновкой, чем даёт оболочка pdfbook2
Adobe Acrobat ReaderПросмотр и печать PDFДа, режим Booklet непосредственно в диалоге печатиGUIРазовая печать без создания специального imposed-файла и без TeX-окружения
PDFsam BasicРазделение, объединение, mix, rotate, extractСпециализированного режима брошюры в Basic нетGUIКогда нужно вручную организовать страницы, объединить или разделить PDF
Sumatra PDFБыстрый просмотр и печать документов в WindowsВ актуальной документации есть duplex и параметры печати, но отдельная брошюрная импозиция не заявленаGUI и CLI печатиЧтение, проверка и печать готового результата на Windows

pdfjam — ближайший технический родственник: именно его pdfbook2 вызывает для финальной раскладки. В 2026 году pdfjam развивается заметно активнее и имеет версию 4.3.1. Если оболочка pdfbook2 мешает ограничениями — например, нужен нестандартный выходной маршрут или более сложная n-up-схема — работа напрямую с pdfjam часто логичнее, хотя команда становится сложнее.

Для человека, которому важнее визуальная печать, чем воспроизводимый скрипт, проще Adobe Acrobat Reader: официальный диалог печати поддерживает Booklet и раскладывает многостраничный документ по два листовых поля на сторону. Такой путь удобен для единичной работы, но pdfbook2 выигрывает, когда нужно сохранить отдельный imposed-PDF и повторить процесс одинаково для множества файлов.

PDFsam Basic бесплатен, открыт и работает локально на Windows, macOS и Linux, но его основная бесплатная функциональность — merge, split, mix, rotate, extract и insert. Для визуальной организации и N-up ближе платная PDFsam Visual.

Относительно Sumatra PDF продукты скорее дополняют друг друга. Sumatra PDF — просмотрщик для Windows с быстрым открытием документов и развитой печатью, включая duplex-параметры; pdfbook2 — препроцессор, который создаёт новый PDF до печати. Практический маршрут может быть таким: подготовить брошюру в pdfbook2, затем открыть -book.pdf в Sumatra PDF и визуально проверить порядок, ориентацию и размер перед отправкой на принтер.

Инструкция по установке

TeX Live на Linux и других поддерживаемых системах

  1. Установите актуальный TeX Live штатным способом вашей системы или используйте уже установленный native TeX Live.
  2. Для native TeX Live выполните tlmgr install pdfbook2. tlmgr по умолчанию ставит зависимости пакета.
  3. Проверьте pdfbook2 —version. Ожидаемая версия пакета — 1.4.
  4. Проверьте доступность pdfjam, pdfcrop и kpsewhich. Если планируется short-edge, убедитесь, что TeX находит everyshi.sty.
  5. Запустите на копии небольшого PDF команду pdfbook2 input.pdf и убедитесь, что рядом появился input-book.pdf.

Если TeX Live установлен средствами Linux-дистрибутива, не смешивайте без необходимости системный пакетный менеджер и tlmgr для системного дерева. В Debian и Ubuntu pdfbook2 обычно приходит в составе texlive-extra-utils; установка этого набора через apt лучше согласуется с остальными системными пакетами.

macOS через MacTeX

  1. Установите текущий MacTeX с официального сайта TeX Users Group. Полная редакция MacTeX 2026 включает TeX Live.
  2. Если в выбранной установке pdfbook2 отсутствует, используйте sudo tlmgr install pdfbook2, как рекомендует документация tlmgr для MacTeX, установленного от root.
  3. Откройте Terminal и выполните pdfbook2 —help.
  4. Сделайте пробный запуск на коротком документе и откройте итоговый PDF в любом просмотрщике до физической печати.

Windows через MiKTeX

  1. Установите актуальный MiKTeX и запустите MiKTeX Console.
  2. В разделе Packages найдите пакет pdfbook2 и установите его. При необходимости разрешите установку отсутствующих TeX-пакетов по запросу.
  3. Откройте новый PowerShell или Command Prompt, чтобы PATH был перечитан, и выполните pdfbook2 —version.
  4. Запустите pdfbook2 input.pdf из каталога с тестовым PDF и проверьте создание input-book.pdf.
  5. Если short-edge завершается сообщением об everyshi.sty, установите недостающий TeX-пакет через MiKTeX Console и повторите проверку.

Ручная установка скрипта на Unix-подобной системе

  1. Получите файл pdfbook2 из CTAN или официального репозитория проекта.
  2. Скопируйте его в каталог, который входит в PATH и предназначен для локальных исполняемых файлов.
  3. Назначьте право исполнения командой chmod +x pdfbook2.
  4. Отдельно обеспечьте Python 3.6 или новее, pdfjam и pdfcrop со всеми их зависимостями.
  5. Проверьте версию и один тестовый файл перед использованием на рабочих документах.

Для удаления ручной установки достаточно убрать сам скрипт из выбранного каталога; TeX и Ghostscript при этом останутся. Если pdfbook2 поставлен пакетным менеджером, удалять лучше тем же менеджером. В случае системного texlive-extra-utils сначала проверьте, не нужны ли вам другие программы из этого пакета.

Практические кейсы

Базовая брошюра A4 из обычного PDF

Цель. Получить печатный файл для сгибаемой брошюры на листах A4. Подготовка. Исходник должен быть окончательно свёрстан, а номера страниц — легко проверяться. Шаги. Выполните pdfbook2 —paper=a4paper document.pdf. После завершения откройте document-book.pdf и просмотрите несколько первых и последних листов. Проверка. Убедитесь, что на каждой стороне листа размещены две страницы и порядок рассчитан под последующий сгиб. Ограничение. Перед тиражом обязательно сделайте физический пробный лист, потому что настройка переворота зависит также от драйвера принтера.

Сохранение исходных полей без автоматической обрезки

Цель. Не трогать белые поля документа, например у нот, учебных материалов или страниц с намеренно большим пространством для пометок. Подготовка. Проверьте, что исходный размер страниц уже подходит выбранной бумаге. Шаги. Запустите pdfbook2 —no-crop —paper=a4paper document.pdf. Проверка. Сравните границы страницы в исходном и итоговом PDF: содержимое не должно быть подрезано на этапе pdfcrop. Ограничение. pdfjam всё равно выполняет импозицию и масштабирование в соответствии со своей схемой; —no-crop отключает именно автоматическую обрезку содержимого.

Увеличение пространства у корешка

Цель. Оставить больше места на сгибе, чтобы текст не уходил слишком близко к корешку. Подготовка. Начните со значения по умолчанию inner margin 150 и сохраните тестовый результат. Шаги. Создайте второй вариант, например pdfbook2 —inner-margin=200 document.pdf. Проверка. Сопоставьте развороты двух файлов и выберите вариант, где полезная область не выглядит чрезмерно сжатой. Ограничение. Единицы параметров соответствуют геометрии, которую использует скрипт и pdfcrop; ориентироваться лучше на сравнение реальных результатов, а не на перевод значения в миллиметры без учёта дальнейшего масштабирования.

Разбиение толстой брошюры на сигнатуры

Цель. Печатать книгу не одной общей тетрадью, а несколькими более тонкими блоками. Подготовка. Выберите размер сигнатуры, кратный четырём, и заранее решите, как блоки будут собираться. Шаги. Выполните команду с —signature=16 или другим подходящим кратным четырём значением. Проверка. Просмотрите границы блоков и убедитесь, что количество листов удобно для сгиба. Ограничение. pdfbook2 только формирует раскладку; физическая последовательность печати, фальцовки и скрепления остаётся частью производственного процесса.

Навигатор по сбоям

СимптомЧто проверитьБезопасное действиеКонтроль результата
Команда pdfbook2 не найденаPATH и факт установки пакетаОткройте новый терминал; проверьте установку через tlmgr, MiKTeX Console или системный менеджерpdfbook2 —version выводит 1.4
Ошибка на этапе Getting bounds или croppingНаличие pdfcrop, Ghostscript и корректность входного PDFЗапустите pdfcrop отдельно либо временно проверьте —no-cropИтоговый PDF открывается, а нужный контент не обрезан
Short-edge работает наоборотВерсию TeX/pdfjam и драйвер принтераСделайте тест с режимом short-edge и без него, не печатая весь тиражФизический двусторонний лист читается без переворота вверх ногами
Параметр bottom margin не даёт ожидаемого эффектаИзвестное ограничение версии 1.4Не строить макет вокруг этого параметра; корректировать исходник, outer margin или другой этап пайплайнаИзмерить и визуально проверить нижний край итогового PDF
Второй параллельный запуск ломает временный файлОдинаковый текущий каталогРазнести задания по отдельным рабочим каталогамКаждый процесс создаёт только свой -book.pdf

Контроль перед сохранением и передачей в печать

  • Откройте именно новый файл с суффиксом -book.pdf, а не исходник.
  • Проверьте первые, средние и последние листы, чтобы убедиться в правильном порядке страниц.
  • Сравните ориентацию лицевой и оборотной стороны в выбранном режиме duplex.
  • Убедитесь, что crop не срезал номера страниц, колонтитулы, метки или иллюстрации.
  • Проверьте внутренний отступ у предполагаемого корешка и внешний край после масштабирования.
  • Если использовалась signature, проверьте стыки тетрадей и число страниц в каждом блоке.
  • Храните исходный PDF отдельно: pdfbook2 создаёт производный файл, который удобен для печати, но не заменяет мастер-документ.

Карта критических зависимостей

ЗависимостьРольЧто происходит при отсутствииПрактический вывод
Python 3Запускает сам скрипт pdfbook2Утилита не стартуетПроверять команду python3 и shebang окружения
pdfcropПолучает границы и создаёт обрезанный временный PDFОбычный режим с crop завершается ошибкойДля диагностики можно сравнить с —no-crop
GhostscriptИспользуется цепочкой pdfcrop для анализа PDFОпределение границ может не работатьДержать версию из доверенного TeX/OS-репозитория обновлённой
pdfjam и pdfpages/LaTeXФормируют финальную брошюрную импозициюНе создаётся -book.pdfОбновление pdfjam может менять взаимодействие, поэтому нужен регрессионный тест
kpsewhich и everyshi.styПроверка и поддержка short-edge в реализации 1.4Режим short-edge может аварийно завершитьсяПроверять пакет до печати тиража
Локальная файловая системаИсходник, временный файл и результатНет собственного облачного обходного путиНужны права записи в рабочий каталог и резервирование результатов

Аккаунт, интернет-соединение и сервер производителя не являются рабочими зависимостями pdfbook2. Интернет нужен только для первоначальной установки или обновления пакетов, если они берутся из сетевого репозитория. Это делает инструмент устойчивым к прекращению веб-сервиса, но одновременно переносит ответственность за совместимость на локальный стек Python, TeX и Ghostscript.

Паспорт обратимости операций

Главная операция pdfbook2 обратима организационно: исходный PDF остаётся отдельным файлом, а imposed-версия сохраняется рядом под другим именем. Поэтому откат — это не «Undo» внутри программы, а отказ от производного файла и возврат к исходнику. Такой подход безопасен, пока пользователь не перезаписывает уже существующий -book.pdf, который хотел сохранить.

ОперацияЧто меняетсяМожно ли откатитьЧто сохранить
Автоматический cropГеометрия страниц в производном PDFДа, повторным запуском с —no-crop из исходникаИсходный PDF
Изменение marginsСвободное пространство вокруг содержимогоДа, повторной генерацией с другими параметрамиКоманду или сценарий с использованными значениями
Booklet/signatureПорядок и размещение страниц в выходном PDFДа, но только через повторную генерацию из мастер-файлаМастер-PDF и параметры сигнатуры
Перезапись старого -book.pdfТеряется предыдущая производная версияНет встроенного восстановленияКопию предыдущего результата, если он важен

Хронология развития и поддержки

Дата/версияСобытиеЗначение сегодня
27 мая 2015, 1.0Первый релиз pdfbook2 как Python-переписывания pdfbookСформировалась базовая идея crop плюс брошюрная раскладка
1 июня 2015, 1.1Добавлены resolution, signature, no-crop, короткие ключи и ускорение расчёта границБольшая часть актуальных параметров появилась уже здесь
3 июня 2015, 1.2Добавлена man-страницаУтилита лучше интегрировалась в Unix/TeX-дистрибутивы
12 августа 2019, 1.3Изменена работа с дочерним процессом для очень больших документовСнижён риск deadlock, отмеченный разработчиком
20 января 2020, 1.4Переход на Python 3, исправление одностраничного файла и signatureЭто всё ещё актуальная опубликованная версия
2020–2024В репозитории появляются открытые сообщения о margins, short-edge, MiKTeX и других ограниченияхПри новых TeX-окружениях нужен собственный регрессионный тест
2025–2026Пакет остаётся в Debian/TeX Live и MiKTeX; Debian фиксирует проблему поведения short-edgeДистрибуция жива, но исходный код проекта остаётся старым

Поэтому корректнее говорить не «проект закрыт», а «релизная активность исходного проекта длительное время отсутствует, при этом пакет продолжает распространяться». Формального объявления о прекращении поддержки на CTAN или в репозитории нет. Для пользователей это промежуточный статус: инструмент доступен и применим, но рассчитывать на быстрое исправление несовместимости без проверки истории проекта не стоит.

Часто задаваемые вопросы

pdfbook2 — это PDF-просмотрщик?

Нет. Он не предназначен для чтения и навигации по документу. Это преобразователь раскладки, который получает PDF и создаёт другой PDF для брошюрной печати. Для просмотра результата нужен отдельный PDF-reader.

Нужен ли интернет для обработки документов?

Нет. Скрипт работает с локальными файлами и запускает локальные pdfcrop/pdfjam. Интернет может понадобиться пакетному менеджеру для установки или обновления зависимостей, но сама операция booklet не требует облачного сервиса.

Можно ли установить pdfbook2 на Windows?

Да. CTAN отмечает пакет в MiKTeX, а TeX Live также поддерживает Windows. Самостоятельного Windows-инсталлятора pdfbook2 нет: программа приходит как часть TeX-экосистемы и использует её зависимости.

Куда сохраняется результат?

Для входного name.pdf создаётся name-book.pdf. Текущая версия не документирует отдельный ключ выбора выходного каталога; в репозитории проекта есть открытый запрос на такую возможность. Если файл уже существует, он может быть перезаписан.

Как полностью отключить обрезку полей?

Используйте —no-crop. Тогда исходный PDF копируется во временный файл без вычисления и применения content bounding box, после чего выполняется брошюрная раскладка.

Почему short-edge нужно проверять на пробном листе?

Потому что вокруг этого режима есть актуальные сообщения о несовпадении ожидаемого направления после обновлений TeX-стека. Кроме того, итоговое физическое поведение зависит от настройки duplex в драйвере принтера. Тест одного листа дешевле перепечатки всей брошюры.

Можно ли запускать несколько экземпляров pdfbook2 параллельно?

В одном рабочем каталоге это рискованно: версия 1.4 использует фиксированное временное имя .crop-tmp.pdf. Если параллельность обязательна, изолируйте каждый процесс отдельным каталогом и проверяйте итоговые файлы.

Поддерживает ли pdfbook2 редактирование текста, OCR или подпись PDF?

Нет, такие функции не входят в назначение программы. Для OCR, правки содержимого или работы с формами нужен отдельный редактор или специализированный инструмент; pdfbook2 имеет смысл подключать уже после подготовки финального печатного PDF.

Вывод

pdfbook2 подходит тем, кому нужен воспроизводимый локальный способ превратить готовый PDF в печатную брошюру без ручной перестановки страниц. Его сильные стороны — простая CLI-модель, автоматический crop, настраиваемые поля и сигнатуры, свободная лицензия и доступность в основных TeX-дистрибутивах. Особенно логично использовать его в скриптах, издательских заготовках и повторяющихся учебных материалах, где одна и та же схема печати применяется много раз.

Не подходит он пользователям, которым нужен визуальный редактор, предварительная раскладка миниатюр, OCR, правка текста или «одна кнопка» без TeX-зависимостей. Длительное отсутствие новых релизов исходного проекта и известные проблемы с bottom margin и short-edge означают, что перед тиражной печатью обязательны контроль итогового PDF и тестовый лист. Для единичной GUI-печати проще Acrobat Reader; для общей работы со страницами удобнее PDFsam; для сложной автоматизации импозиции разумно перейти напрямую к pdfjam. Sumatra PDF уместен рядом с pdfbook2 как быстрый Windows-просмотрщик и средство финальной проверки уже созданного -book.pdf, а не как замена этапа брошюрной импозиции.


Ваш адрес email не будет опубликован. Обязательные поля помечены *