Преобразование PDF в один с несколькими страницами на листе через командную строку

Скажем я хочу slides.pdf содержать 4 слайда на страницу.

Я могу открыть slides.pdf документ под evince (просмотрщик документов по умолчанию в Ubuntu)

выказывать slides.pdf-> Печать -> Параметры страницы -> Страницы на стороне -> 4 (или другой номер)

Затем я могу указать, что хочу напечатать в файл, и распечатать. Результатом является output.pdf файл с нужным количеством слайдов на листе.

Я хочу достичь той же функциональности через командную строку (как мне нужно включить это в сценарий). Все, что я нашел далеко, это решения, основанные на внешних инструментах. Например, я попытался установить pdfjam (что потребовало от меня установки пакетов из 88.1 МБ от texlive-latex-base для того, чтобы добиться функциональности, которая у меня уже есть!), результатом был только сбой с pdfjam ERROR: LaTeX package pdfpages.sty is not installed,

Я бы предпочел избегать внешних пакетов.

Как мне добиться этого через командную строку?

4 ответа

Решение

Для выполнения IMPOSITION нет ничего лучше, чем Multivalent.jar (последняя бесплатная версия с инструментами внутри, последняя сборка Multivalent, в настоящее время размещенная на sourceforge - 2009 - больше не имеет инструментов pdf)

Вы можете скачать сборку Multivalent.jar с инструментами из:

онлайн человек- http://multivalent.sourceforge.net/Tools/pdf/Impose.html

использовать:

java -cp path...to/Multivalent.jar tool.pdf.Impose -dim (rowsxcols) -paper (paper sizes where pages will be imposed) file.pdf

Вы также можете использовать pdfnup:

pdfnup --nup 2x2 --no-landscape file.pdf

где 2х2 относится к 2 строкам по 2 столбца (или наоборот - я не уверен). Смотрите man pdfnup для большего количества опций.

Для меняpdfnupне было в наличии, и хотяpdfxupне работает,pdfjamделал:

      pdfjam --nup 2x2 <infile>

Чтобы указать имя выходного файла (вместо автоматически сгенерированного), используйте опцию--outfile

      pdfjam --nup 2x2 <infile> --outfile <outfile>

Единственный инструмент, который я нашел, который может это сделать и поддерживается, - это PyPDF2 https://pythonhosted.org/PyPDF2/index.html .

Вы можете увидеть пример кода по адресу: /questions/938052/kak-preobrazovat-1-stranichnyij-pdf-fajl-v-dvuhstranichnyij-pdf-fajl/1114467#1114467

Другие вопросы по тегам