Об'єднайте кілька файлів PDF в один (розміщений в матриці)


11

Маючи набір PDF - файлів, дозволяє сказати: in-01.pdf, in-02.pdf, in-03.pdf, ... Я хотів би об'єднати їх усі в одну, утворюючи M x Nматрицю.

Команда montageдозволяє це робити ( Mі Nмає бути цілими числами):

montage -mode concatenate -tile NxM in-*.pdf out.pdf

Проблема полягає в тому, що розмір отриманого PDF величезний, тоді як я б очікував, що він (можливо, просто) трохи більший, ніж сума всіх розмірів вхідного PDF. Я думаю montage, що спочатку перетворять вхідні PDF-файли у зображення, а потім створюють вихідний PDF-код із цих зображень (так, наприклад, текст у оригінальних PDF-файлах відображається не як текст у вихідному PDF-файлі, а як зображення нижчої якості та більше розмір).

Напевно, має бути спосіб це зробити (наприклад, LATEX дозволяє вставити PDF-зображення в інший PDF без необхідності спочатку конвертувати його у зображення).

Я шукаю альтернативу командного рядка з використанням безкоштовних програмних засобів у системах GNU / Linux.

ПРИМІТКА . Ми можемо вважати, що ці PDF-файли мають однаковий точний розмір (ширина і висота). Вони автоматично генерують PDF-зображення, які зазвичай складаються з графіку / графіка (простих фігурних ліній та прямокутників) та декількох текстів (заголовок, мітки ...).


1
Ви правильні щодо того, що montageробить :).
Michał Górny

Відповіді:


9

Ви можете скористатися утилітою pdfnupз пакету pdfjam .

pdfnup in.pdf --nup 3x3

повинен вивести файл in-nup.pdf зі сторінками in.pdf, розташованими у серії сторінок із матрицею 3x3 з вихідного pdf.

Ви повинні об'єднати всі ваші PDF-файли в один, також потрібно вказати розмір паперу для вихідного файлу, дивіться документи pdfjam для отримання деталей.


1
Якщо у вас є префікс у всіх вхідних файлах (тобто in-), ви можете скористатися, pdfnup in-*.pdf --nup 3x3 --outfile out.pdfщоб уникнути наявності вихідного файлу з тим самим префіксом. Також зауважте, як вам насправді не потрібно об’єднувати всі вхідні файли в один (ви можете просто використовувати *підстановку). Ви можете додати це до своєї відповіді.
Пеке

Спасибі! це працює. Економив мені стільки часу.
parisa
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.