Expertus metuit
Sergey Stolyarov | 2020-09-12 в 13:39

Брошюра — это маленькая книжка. Если вы распечатаете PDF-файл, то получите просто набор страниц, и даже если распечатать по две страницы на лист, то получится всё равно набор страниц. Однако можно документ напечатать в виде брошюры, когда страницы располагаются на листе так, что вы можете каждый сложить пополам, вложить их друг в друга и прошить/скрепить по линии сгиба. На выходе получится полноценная маленькая книжка.

В линуксе есть очень удобная программа pdfbook, которая конвертирует обычный PDF в брошюру, которую вы можете распечатать как обычный документ на обычном принтере и потом скрепить вместе по линии сгиба. Запускается она просто:

[user@shell]% pdfbook --a4paper input.pdf

На выходе получается файл input-book.pdf, который можно отправлять на печать.

pdfbook входит в состав пакета texlive-extra-utils (в debian/ubuntu ставится стандартной командой sudo apt install texlive-extra-utils), также вы можете поставить в макоси через brew, но для этого требуется установленный mactex.

Sergey Stolyarov | 2017-04-13 в 20:14

Индекс (оглавление) очень помогает в навигации по PDF-документу. Однако в некоторых PDF-файлах его нет. Добавить его можно через командлайновую программу pdftk (она есть для всех операционных систем).

Схема простая:

  1. экспорт метаданных в файл;
  2. добавление в файл метаданных оглавления;
  3. обновление метаданных в исходном документе.
Sergey Stolyarov | 2013-01-21 в 16:33

Иногда нужно внедрить шрифты в уже существующий PDF-файл, но ссылки на шрифты в котором относительные, например, команда pdffonts показывает такое:

% pdffonts build.pdf
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
Helvetica                            Type 1            no  no  no       2  0
Helvetica-Bold                       Type 1            no  no  no       3  0
ZapfDingbats                         Type 1            no  no  no     249  0
Courier                              Type 1            no  no  no     252  0
Symbol                               Type 1            no  no  no     253  0
Helvetica-Oblique                    Type 1            no  no  no     261  0
Helvetica-BoldOblique                Type 1            no  no  no     430  0

Видно, что все шрифты не внедрённые (колонка emb). Спасает gs:

gs -q -dNOPAUSE -dBATCH -dPDFSETTINGS=/prepress -sDEVICE=pdfwrite -sOutputFile=output.pdf build.pdf

После её выполнения всё в порядке:

% pdffonts output.pdf 
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
BOTQQP+Helvetica                     Type 1C           yes yes no     619  0
BHJYCF+Helvetica-Bold                Type 1C           yes yes no     617  0
AUENQH+ZapfDingbats                  Type 1C           yes yes yes    865  0
KTOSAE+Symbol                        Type 1C           yes yes no     874  0
UMOKIT+Courier                       Type 1C           yes yes no     872  0
LJPUJQ+Helvetica-Oblique             Type 1C           yes yes no     901  0
YQLVGH+Helvetica-BoldOblique         Type 1C           yes yes no    1408  0

P.S. На названия конкретных шрифтов не обращайте внимания, по сути там будут те шрифты, в которые преобразуются алиасы типа Helvetica на вашей машине.

Sergey Stolyarov | 2011-08-03 в 15:50

Задача: есть PDF, в котором очень широкие поля, плюс куча мусора на них типа «Украдено в Хилтоне», поэтому нужно поля по максимум отрезать. Можно, конечно, рыть интернеты в поисках подходящей программы, но за короткий срок этого сделать не удалось.

Всё решилось совершенно неожиданным путём: ставим пакет python-pypdf, пишем простейший питоновский скрипт и получаем ровно что нужно.

←новые старые→
© 2006—2023 Sergey Stolyarov | Работает на pyrengine