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

9720
user84207

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

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

evince slides.pdf-> Print -> Page Setup -> Pages per Side -> 4 (или какой-либо другой номер)

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

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

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

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

9

2 ответа на вопрос

17
Paul Robert

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

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

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

`pdfnup` работает отлично. Примечание для людей, которые хотят поместить один и тот же PDF-файл одной страницы четыре раза на одну страницу: вам нужно четыре раза перечислить входной pdf-файл: `pdfnup --no-landscape --a4paper --nup 2x2 input.pdf input.pdf input.pdf input.pdf` guettli 9 лет назад 1
Дополнение к ответу выше + комментарий: `pdfnup --nup 2x2 --frame true --noautoscale false --delta" 0.2cm 0.3cm "--scale 0.90 your.pdf` напечатает 4 слайда на одной странице файла pdf с именем "your-nup.pdf", используя содержимое "your.pdf" в качестве входных страниц. `--frame true` печатает рамку вокруг каждого слайда,` --delta ... `задает поле между кадрами, а` --scale ... `обеспечивает введение поля листа, чтобы ваш принтер хорошо справлялся с заданием без срезания контента. Все варианты доступны по адресу http://www2.warwick.ac.uk/fac/sci/statistics/staff/academic-research/firth/software/pdfjam/#using. Cbhihe 7 лет назад 0
Пол Роберт: Я знаю, что ваш ответ старый, но не стесняйтесь включать мой комментарий в ваш ответ. Я не могу говорить за @guettli. Все хорошо работает для Ubuntu, по крайней мере, до 16.04. (Я не тестировал его в текущем выпуске с последними образами и пакетами ядра.) Приветствия. Cbhihe 7 лет назад 0
2
Dingo

to perform an IMPOSITION, nothing is better than Multivalent.jar (latest free version with tools inside, latest Multivalent build currently hosted on sourceforge - 2009 - has no more pdf tools)

you can download the Multivalent.jar build with tools from:

online man - http://multivalent.sourceforge.net/Tools/pdf/Impose.html

use:

java -cp path...to/Multivalent.jar tool.pdf.Impose -dim (rowsxcols) -paper (paper sizes where pages will be imposed) file.pdf 
Спасибо! Я использовал ваше решение. Это просто, не раздутый, автономный, кроссплатформенный. Отлично. user84207 10 лет назад 0

Похожие вопросы