Wenn ich beispielsweise über einen Satz von PDF-Dateien verfüge, beispielsweise: in-01.pdf
, in-02.pdf
, in-03.pdf
, ..., würde ich sie alle gern zu einer einzigen Datei kombinieren und so eine M x N
Matrix bilden.
Der Befehl montage
ermöglicht dies ( M
und N
sollte Ganzzahlen enthalten):
montage -mode concatenate -tile NxM in-*.pdf out.pdf
Das Problem ist, dass die Größe des resultierenden PDF riesig ist, obwohl ich erwarten würde, dass es (vielleicht nur) ein wenig größer ist als die Summe aller Eingabe-PDF-Größen. Ich denke, montage
es werden zuerst die Eingabe-PDFs in Bilder umgewandelt und dann aus diesen Bildern das Ausgabe-PDF erstellt (so wird beispielsweise der Text in den Original-PDFs nicht als Text im Ausgabe-PDF angezeigt, sondern als Bild mit geringerer Qualität und größerer Größe).
Ich denke, es müsste eine Möglichkeit geben, dies zu tun (LATEX ermöglicht es beispielsweise, ein PDF-Bild in ein anderes PDF einzufügen, ohne es zuerst in ein Bild konvertieren zu müssen).
Ich suche nach einer Befehlszeilenalternative mit kostenlosen Softwaretools unter GNU/Linux-Systemen.
NOTIZ: Wir können davon ausgehen, dass diese PDF-Dateien alle genau die gleiche Größe (Breite und Höhe) haben. Es handelt sich um automatisch generierte PDF-Bilder, die normalerweise aus einem Diagramm/einer Grafik (einfache Formen, Linien und Rechtecke) und etwas Text (Titel, Beschriftungen usw.) bestehen.
Antwort1
Sie können das Dienstprogramm pdfnup
aus dempdfjamSuite.
pdfnup in.pdf --nup 3x3
sollte die Datei ausgebenin-nup.pdfmit den Seiten vonin.pdfangeordnet in einer Seitenreihe mit einer 3x3-Matrix aus dem Original-PDF.
Sie sollten alle Ihre PDF-Dateien in einer einzigen zusammenführen. Außerdem müssen Sie eine Papiergröße für die Ausgabedatei angeben. Weitere Informationen finden Sie in den PDFJAM-Dokumenten.
Antwort2
Das Layout, das Sie hier emulieren möchten, heißtN-oben. Es gibt mehrere Möglichkeiten, dies zu tun. Wie in xaes Kommentar, können Sie dies mit pdfjam tun. Siehe meinen Kommentar dort. Zum Beispiel:
pdfjam --suffix nup --nup 2x2 input.pdf
erzeugt eine 4-fach-Matrix, 2x2. Alternativ können Sie die --landscape
Option angeben, die Matrix im Querformat statt im Hochformat anzuzeigen.
Sie können dies auch über Postscript tun.
pdf2ps input.pdf input.ps
psnup -4 input.ps output.ps
ps2pdf output.ps output.pdf
wobei -4
4-up (2x2) bedeutet
Und wenn Sie versuchen, diese PDF-Datei direkt unter Linux auszudrucken, denke ich, dass der CUPS-Client eine Version des Berkley LPR-Druckspoolers ( lpr
) mit einer N-up-Option enthält. Sie können die Option mit verwenden
lpr -o number-up=4 input.pdf
oder als Standard festlegen
lpoptions -p QueueName -o number-up=4