Połącz wiele plików PDF w jeden (ułożony w matrycy)

11

Mając zestaw plików PDF, powiedzmy: in-01.pdf, in-02.pdf, in-03.pdf, ... Chciałbym połączyć je wszystkie w jeden, tworząc M x Nmatrycę.

Komenda montagepozwala na to ( Mi Npowinny być liczbami całkowitymi):

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

Problem polega na tym, że rozmiar wynikowego pliku PDF jest ogromny, podczas gdy spodziewałbym się, że będzie on (może po prostu) nieco większy niż suma wszystkich wejściowych rozmiarów pliku PDF. Myślę, że montagenajpierw konwertuje wejściowe pliki PDF na obrazy, a następnie tworzy wyjściowy plik PDF z tych obrazów (na przykład tekst w oryginalnych plikach PDF nie jest wyświetlany jako tekst w wyjściowym pliku PDF, ale jako obraz o niższej jakości i większym rozmiar).

Myślę, że powinien istnieć sposób, aby to zrobić (na przykład LATEX pozwala na wstawienie obrazu PDF do innego pliku PDF bez konieczności wcześniejszej konwersji na obraz).

Szukam alternatywy dla wiersza poleceń przy użyciu bezpłatnych narzędzi programowych w systemach GNU / Linux.

UWAGA : możemy założyć, że te pliki PDF mają dokładnie taki sam wymiar (szerokość i wysokość). Są to automatycznie generowane obrazy PDF, zwykle składające się z wykresu / wykresu (proste linie, linie i prostokąty) i kilku tekstów (tytuł, etykiety ...).

Peque
źródło
1
Masz rację co do tego, co montagerobi :).
Michał Górny,

Odpowiedzi:

9

Możesz użyć programu narzędziowego pdfnupz pakietu pdfjam .

pdfnup in.pdf --nup 3x3

powinien wypisać plik in-nup.pdf ze stronami in.pdf ułożonymi w szereg stron z matrycą 3x3 z pliku źródłowego pdf.

Powinieneś połączyć wszystkie swoje pliki pdf w jeden, a także musisz określić rozmiar papieru dla pliku wyjściowego, zobacz dokumentację pdfjam fot. Szczegóły.

xae
źródło
1
Jeśli masz prefiks we wszystkich plikach wejściowych (tj. in-), Możesz użyć tego, pdfnup in-*.pdf --nup 3x3 --outfile out.pdfaby uniknąć posiadania pliku wyjściowego z tym samym prefiksem. Zauważ też, że tak naprawdę nie musisz scalać wszystkich plików wejściowych w jeden (możesz po prostu użyć *symbolu wieloznacznego). Możesz dodać to do swojej odpowiedzi.
Peque
Dzięki! to działa. Zaoszczędził mi tyle czasu.
parisa,