Объединение нескольких фрагментов PDF на одной странице - выравнивание по верху без полей

833
Rufinus

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

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

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

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

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

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

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

2
Должны ли фрагменты накладываться друг на друга или иметь возможность последовательно перемещаться по странице? Если применять последовательно, возможно ли, фрагменты будут перенесены на следующую страницу? roaima 9 лет назад 0
последовательно один за другим, без разрыва между ними. это может быть возможно, но я должен знать, сколько элементов может уместиться на странице. - так что это не обязательно иметь. Rufinus 9 лет назад 0

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

1
agtoever

You can use ImageMagick for this. It has an overwhelming amount of options, but if you dive into it you'll see that it's easy to pick up. Check an overview of all commandline options here. For your question, I used the following options:

  • -compress jpeg: to convert the pdf fragments to jpeg before putting them in the new document. I think you can also leave this option out, which will leave the pdf's as pdf inside the new document (not tested).
  • -extent: to make the pages A4 size at 150 dpi. Check the dimensions you need for your paper size and resolution. A4 at 150 dpi results in 1240x1753 pixels.
  • -resize: to resize the images/pdf's to fit the bounds of A4 size at 150 dpi. You can leave this out if you don't want the original pdf's resized. Use the same geometry as with -extent.
  • -gravity: with tells you where on the page your image is placed. NorthWest is the top-left corner.
  • -units and -density: to set the dip (in this case I chose 150 dpi)

Note that the order of operations is relevant (executed in order). So the -gravity needs to be placed before the extend. Or, as said in the manual:

If a -gravity setting occurs before another option or setting having a geometry argument that specifies an offset, the offset is usually applied to the point within the image suggested by the -gravity argument.

So my entire command was: convert *.pdf -compress jpeg -resize 1240x1753 -gravity NorthWest -extent 1240x1753 -units PixelsPerInch -density 150x150 output.pdf

Это допустимая опция, но содержимое должно быть текстом, а не изображением. Rufinus 9 лет назад 0
Добавление требований * после * Я потратил некоторое время на ответ на ваш вопрос, что не очень мотивирует меня. Возможно [PDF Meld] (http://www.fytek.com/products.php?pg=pdfmeld) обладает необходимыми функциями. Вы [можете ответить на свой вопрос] (http://superuser.com/help/self-answer), если это соответствует вашим целям. Кстати, вы не упоминаете ОС, на которой ваше решение должно работать ... agtoever 9 лет назад 0
1
user3583414

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

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

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

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