Ich suche nach einer Möglichkeit (vorzugsweise mithilfe der Befehlszeile unter Linux), einzelne PDF-Dateien von Buchkapiteln in der richtigen Reihenfolge (vielleicht basierend auf den Seitenzahlen in den PDF-Dateien oder auf bestimmten Heuristiken) zu einer einzigen PDF-Datei des Buches zusammenzuführen.
Ich möchte also in das Verzeichnis mit den einzelnen Kapiteln gehen können und einfach
joinpdf-magic-command *.pdf
und sorgen Sie dafür, dass das Ausgabe-PDF die richtige Reihenfolge aufweist.
Ich habe viele Tools zum Zusammenführen von PDFs gefunden ( pdfjoin
, pdftk
), aber alle ordnen die PDFs in der Reihenfolge an, in der sie in der Befehlszeile erscheinen.
bearbeiten:
Eine Beispielliste der Kapitel könnte sein:
1-Introduction.pdf
2-The-analog-digital-interface.pdf
3-Adaptive-digital-systems.pdf
4-Non-linear-applications.pdf
5-Spectral-analysis-and-modulation.pdf
6-Introduction-to-Kalman-filters.pdf
7-Data-compression.pdf
8-Error-correcting-codes.pdf
9-Digital-signal-processors.pdf
Appendix-1-Solutions-to-problems.pdf
Appendix-2-A-MATLAB-Simulink-primer.pdf
Glossary.pdf
Index.pdf
Preface.pdf
References.pdf
Aber für andere Bücher gibt es andere Abschnitte, deren Namen anders sein können, und sogar Abschnitte mit demselben Namen können in anderer Reihenfolge angeordnet sein. Deshalb habe ich erwähnt, dass die Verwendung der Seitenzahlen der Schlüssel sein könnte.
Antwort1
Es gibt keine Zauberei, mit der Sie die Kapitel Ihres Buches automatisch sortieren können – jedenfalls nicht, wenn die Dateibenennungskonvention dies nicht unterstützt. Dies muss ein menschlicher Akt sein.
Der einzige Weg, dies zu tunschnellerfolgt durch Einfügen der geordneten Dateinamen in eine Textdatei, ähnlich dem, was Sie in Ihrem OP zitiert haben.
Führen Sie dann einfach Folgendes aus:
pdftk $(cat mychapters.txt) cat output book.pdf
Antwort2
Persönlich würde ich nicht nach einem neuen Tool suchen, sondern Ihren Workflow in ein Skript packen, um die richtige Reihenfolge durchzusetzen.
Ich gehe davon aus, dass Sie die richtige Reihenfolge irgendwie erkennen können, sonst ist dies überhaupt nicht möglich. Idealerweise würden Sie die Dateien so benennen, dass sie automatisch in die richtige Reihenfolge kommen:
01ChapterTitleOne.pdf
02ChapterTitleTwo.pdf
etc.
und so weiter. Möglicherweise steht die Kapitelnummer jedoch am Ende (wie in Michaels Beispiel), was die Sortierung unterbricht. In diesem Fall sollten Sie Ihrem Workflow-Skript einen Schritt hinzufügen, der die Dateien umbenennt, damit sie in die richtige Reihenfolge kommen.
Solange die Dateien einheitlich benannt sind, sollte dies kein Problem darstellen. Wenn Sie uns weitere Informationen zur Benennung geben können, können wir sicher ein BASH-Skript dafür erstellen.
Sobald Sie alles richtig benannt haben, sollten Sie denselben Befehl, mit dem Sie begonnen haben, als zweiten Schritt des Workflow-Skripts verwenden können. Wenn das nicht funktioniert, benötigen Sie ein etwas komplexeres BASH-Skript, das die Dateien in der richtigen Reihenfolge durchläuft.
Dies alles gehört zum Standard bei BASH-Skripten, aber es dreht sich alles darum, eine einheitliche Benennung der Dateien sicherzustellen.