Добавьте поле в файл PDF при объединении с использованием PDFTK или аналогичного

У меня есть большая коллекция PDF-форматов размером в полстраницы, которые хранятся в папке на моем Linux-сервере. Пользователь сайта захочет создать буклет из подмножества из них. Буклет будет переплетен, поэтому для четных страниц коллекции потребуется больше полей с правой стороны, а для нечетных страниц потребуется больше полей с левой стороны. В коллекции может быть до 200 страниц из вселенной из 500 страниц, поэтому я не хочу регенерировать каждую страницу, чтобы установить ее поля. Серверу потребовалось бы слишком много времени для запуска контента через DOMPDF. Простое создание документа с помощью PDFTK выполняется быстро.

Я хотел бы объединить документ с PDFTK из центрированного файла PDF и добавить соответствующее поле для нечетной или четной страницы.

Если не PDFTK, то есть ли другой инструмент, который мог бы выполнить эту работу?


person Bob Brunius    schedule 22.04.2013    source источник
comment
Я предполагаю, что отсутствие ответа означает, что нет никакого способа сделать это?   -  person Bob Brunius    schedule 24.04.2013


Ответы (3)


Если вы используете Ubuntu, вы можете установить pdfcrop:

sudo apt-get install -y pdfcrop

Несмотря на свое название, pdfcrop имеет возможность добавлять поля:

pdfcrop --margin '29 0 29 0' input.pdf output.pdf

(Примечание: единицей измерения является bp. 72 bp = 1 дюйм. 29 bp — это примерно 1 см.)

Затем используйте pdfjam, чтобы проделать трюк со смещением для правой и левой страниц.

pdfjam --twoside --offset '1cm 0cm' file.pdf

Примечание. У pdfcrop есть проблемы с некоторыми файлами PDF. (!!! Ошибка: Ghostscript завершился с кодом ошибки 139!).

person Hieu    schedule 23.07.2015
comment
В Ubuntu 14.04: не удалось найти пакет pdfcrop - person EelkeSpaak; 30.09.2015
comment
@EelkeSpaak Я, вероятно, опаздываю на эту вечеринку, но pdfcrop, pdfjoin и т. д. находятся в пакете pdfjam, который на самом деле требует установки pdflatex вместе с латексным пакетом pdfpages. Достаточно установить пакет pdfjam ubuntu (с зависимостями). - person Andras Deak; 16.05.2016
comment
В Ubuntu 16.04 LTS pdfcrop находится в texlive-extra-utils. - person wizclown; 29.11.2019

Если вы все еще заинтересованы в этом, вам следует взглянуть на pdfjam, который позволяет вам смещать и обрезать pdf-файлы. Что касается вашего конкретного вопроса, вы можете сделать что-то вроде

pdfjam --twoside --offset '2cm 0cm' file.pdf

При этом четные страницы сдвигаются на 2 см вправо, а нечетные — влево.
pdfjam – это внешний интерфейс пакета pdfpages из pdflatex.

person Jakob    schedule 28.11.2013
comment
Если вы столкнулись с: pdfjam ОШИБКА: пакет LaTeX pdfpages.sty не установлен — используйте sudo apt-get install texlive-extra-utils вместе с apt-get install texlive-latex-recommended. - person Zon; 23.09.2016

Хоть и поздновато, но может кому поможет. В ответ на комментарий @ElkeSpaak это пакет texlive-extra-utils:

dpkg-query -S /usr/bin/pdfcrop 
texlive-extra-utils: /usr/bin/pdfcrop
person user1635544    schedule 05.04.2016