Konvertieren einer PDF-Datei in eine PDF-Datei mit mehreren Seiten pro Blatt über die Befehlszeile

11

Angenommen, ich möchte slides.pdf4 Folien pro Seite enthalten.

Ich kann ein slides.pdfDokument unter evince öffnen (der Standard-Ubuntu-Dokument-Viewer).

evince slides.pdf-> Print -> Page Setup -> Pages per Side -> 4 (oder eine andere Nummer)

Dann kann ich angeben, dass ich in eine Datei drucken und drucken möchte. Das Ergebnis ist eine output.pdfDatei mit der gewünschten Anzahl von Folien pro Blatt.

Ich möchte dieselbe Funktionalität über die Befehlszeile erreichen (da ich diese in ein Skript integrieren muss). Alles, was ich bisher gefunden habe, sind Lösungen, die auf externen Tools basieren. Ich habe zum Beispiel versucht, pdfjamPakete zu installieren (für die ich Pakete texlive-latex-baseim Wert von 88,1 MB installieren musste , um eine Funktionalität zu erreichen, die ich bereits habe!). Das Ergebnis war nur ein Fehler mit pdfjam ERROR: LaTeX package pdfpages.sty is not installed.

Ich würde lieber externe Pakete vermeiden.

Wie erreiche ich das über die Kommandozeile?

user84207
quelle

Antworten:

2

Um eine IMPOSITION durchzuführen , ist nichts besser als Multivalent.jar (neueste kostenlose Version mit Tools im Inneren, neueste Multivalent-Version, die derzeit auf sourceforge gehostet wird - 2009 - hat keine PDF-Tools mehr)

Sie können den Build Multivalent.jar mit folgenden Tools herunterladen:

Online-Mann - http://multivalent.sourceforge.net/Tools/pdf/Impose.html

verwenden:

java -cp path...to/Multivalent.jar tool.pdf.Impose -dim (rowsxcols) -paper (paper sizes where pages will be imposed) file.pdf
Dingo
quelle
Vielen Dank! Ich habe Ihre Lösung verwendet. Es ist einfach, nicht aufgebläht, in sich geschlossen, plattformübergreifend. Perfekt.
user84207
Bei Source Forge wurden die PDF-Tools aus urheberrechtlichen
Loren
20

Sie können auch pdfnup verwenden:

pdfnup --nup 2x2 --no-landscape file.pdf

Dabei bezieht sich 2x2 auf 2 Zeilen mal 2 Spalten (oder umgekehrt - ich bin mir nicht sicher). Weitere Optionen finden Sie unter man pdfnup.

Paul Robert
quelle
3
pdfnupfunktioniert gut. Ein Hinweis für Personen, die dieselbe einseitige PDF-Datei viermal auf einer Seite pdfnup --no-landscape --a4paper --nup 2x2 input.pdf input.pdf input.pdf input.pdf
ablegen möchten
1
Eine Ergänzung zu der obigen Antwort + Kommentar: pdfnup --nup 2x2 --frame true --noautoscale false --delta "0.2cm 0.3cm" --scale 0.90 your.pdfDruckt 4 Folien auf einer Seite einer PDF-Datei mit dem Namen "your-nup.pdf", wobei der Inhalt von "your.pdf" als Eingabeseiten verwendet wird. --frame trueDruckt einen Rahmen um jede Folie, --delta...gibt einen Rand zwischen den Rahmen an und --scale ...stellt sicher, dass ein Blattrand eingeführt wird, damit Ihr Drucker den Auftrag gut erledigt, ohne den Inhalt abzuschneiden. Alle Optionen unter www2.warwick.ac.uk/fac/sci/statistics/staff/academic-research/… .
Cbhihe
Paul Robert: Ich weiß, dass Ihre Antwort alt ist, aber Sie können meinen Kommentar gerne in Ihre Antwort aufnehmen. Ich kann nicht für @guettli sprechen. Für Ubuntu funktioniert mindestens bis 16.04 alles gut. (Ich habe es nicht auf einer fortlaufenden Distribution mit den neuesten Kernel-Images und -Paketen getestet.) Prost.
Cbhihe
Übrigens verwendet pdfnup intern das Paket pdfpages.sty, das die Operation nicht verwenden wollte. Ich habe das gegenteilige Gefühl: Ich werde das Paket pdfpages.sty in TexStudio verwenden, um die Arbeit zu erledigen.
Dominic108