2

У меня есть несколько небольших фрагментов в виде файла PDF, в зависимости от ввода пользователя эти фрагменты должны быть объединены на одной странице.

pdfjam и / или pdfnup делают это, и работает. Однако макет по умолчанию соответствует документу pdfpages.

Вставленные логические страницы центрируются на листе бумаги по умолчанию.

Мне нужно было бы объединить отдельные PDF-файлы на одной странице, начиная сверху без пробела / поля между ними.

Моя текущая команда выглядит так:

pdfnup 1.pdf 1a.pdf 2.pdf 2a.pdf --nup 1x4 --no-landscape --outfile test.pdf 

Другие решения, кроме pdfjam, будут в порядке.

2 ответа2

1

ImageMagick - ужасная идея для PDF из-за растеризации, которая произойдет (без обид на другой ответ, который просто пытался быть полезным)

Гораздо лучший ответ можно найти на Как объединить несколько файлов PDF на одной странице с pdftk? а тл; др это:

pdfjam Page1.pdf Page2.pdf --nup 2x1 --landscape --outfile Page1+2.pdf
1

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

  • -compress jpeg: преобразовать фрагменты PDF в формат JPEG, прежде чем помещать их в новый документ. Я думаю, что вы также можете пропустить эту опцию, которая оставит PDF как PDF внутри нового документа (не проверено).
  • -extent: сделать страницы формата A4 с разрешением 150 точек на дюйм. Проверьте размеры, необходимые для размера и разрешения бумаги. А4 при разрешении 150 точек на дюйм дает 1240x1753 пикселей.
  • -resize: изменить размер изображений /pdf, чтобы они соответствовали границам формата A4 при 150 dpi. Вы можете оставить это, если вы не хотите, чтобы исходный PDF-файл был изменен. Используйте ту же геометрию, что и с -extent.
  • -Gravity: с говорит вам, где на странице размещено ваше изображение. Северо-запад - верхний левый угол.
  • -units и -density: установить провал (в данном случае я выбрал 150 dpi)

Обратите внимание, что порядок операций является релевантным (выполняется в порядке). Таким образом, -гравитация должна быть размещена до расширения. Или, как сказано в руководстве:

Если параметр -gravity возникает перед другим параметром или параметром, имеющим аргумент геометрии, который задает смещение, смещение обычно применяется к точке в пределах изображения, предложенной аргументом -gravity.

Таким образом, вся моя команда была: convert *.pdf -compress jpeg -resize 1240x1753 -gravity NorthWest -extent 1240x1753 -units PixelsPerInch -density 150x150 output.pdf

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .