Ich habe ein doppelseitig gedrucktes mehrseitiges Dokument zum Scannen mit einem linearen Massenscanner. Als Ergebnis erhalte ich 2 PDF-Dateien: eine mit allen ungeraden Seiten und die zweite mit allen geraden Seiten. Ich muss sie auf natürliche Weise zusammenführen:
1. <- 1.1. (odd.pdf page 1 to result.pdf page 1)
2. <- 2.1. (even.pdf page 1 to result.pdf page 2)
3. <- 1.2. (odd.pdf page 2 to result.pdf page 3)
4. <- 2.2. (even.pdf page 2 to result.pdf page 4)
etc.
CAM::PDF
. Ich werde Ihnen später ein Skript geben. Haben die beiden PDFs die gleiche Seitenzahl?Antworten:
Siehe die
pdfseparate
undpdfunite
Befehle vonpoppler-utils
. Die erste, um die Seiten von jedem Dokument in einzelne Dateien zu trennen, und die zweite, um sie in der gewünschten Reihenfolge in einem neuen Dokument zusammenzuführen.Da Scanner Ihnen ohnehin Rasterbilder liefern (von denen einige wie Ihre zu PDF-Dateien verketten können), können Sie sie möglicherweise so konfigurieren, dass stattdessen Bilder (png, tiff ...) ausgegeben werden, und die Verkettung selbst mit einem PDF durchführen ImageMagick.
quelle
pdftk hat einen Shuffle-Befehl, der Seiten sortiert:
quelle
Nur ein
bash
kurzer Schuss mitpdfjam
:Erstellen Sie ein Array von Eingabeargumenten:
Dies sollte es Ihnen ermöglichen, es als Eingabeliste zu verwenden für
pdfjoin
:quelle
pdfjoin
es sich um ein Wrapper-Skript handelt, umpdfjam
das sich selbst ein Wrapper-Skript um daspdfpages
LaTeX-Paket (und pdflatex) handelt. Dies bedeutet, dass LaTeX als Abhängigkeit verwendet wird.Sie können das Mix-Modul in PDFsam Basic (kostenlos und Open Source) verwenden oder es online mit der Alternate & Mix- Funktion in Sejda ausführen
quelle
Ich wollte im Grunde das Gleiche tun, und Stéphane Chazelas 'Antwort war sehr hilfreich. Ich mache das oft genug, dass ich ein einfaches Python-Skript geschrieben habe, um Dinge mit den von ihm vorgeschlagenen Befehlen zu automatisieren. Standardmäßig wird die Reihenfolge der geraden Seiten umgekehrt, dies kann jedoch mit einem Befehlszeilenflag unterdrückt werden.
Die Frage ist ziemlich alt, daher gehe ich davon aus, dass die Bedürfnisse des ursprünglichen Fragestellers bereits erfüllt wurden. Es ist jedoch möglich, dass das Skript für Personen nützlich ist, die in Zukunft hier ankommen. Deshalb habe ich es unten platziert.
quelle
Ich bin dabei auf dieses Bash-Skript gestoßen. Es setzt voraus, dass Sie die geraden Seiten in umgekehrter Reihenfolge gescannt haben. Sie können dies jedoch ändern, indem Sie das
-r
in der Zeile stehende Sprichwort entfernenevenpages=($(ls "$evenbase-$key-"* | sort -r))
(dies ist Zeile 46).Quelle
quelle