web-dev-qa-db-ja.com

PDFを正しい順序でマージする

私は(できればLinuxのコマンドラインを使用して)本の章の別々のPDFを正しい順序で(おそらくページ番号に基づいて)本の単一のPDF)にマージする方法を探していますPDF内、または一部のヒューリスティック)。

だから私はすべての個々の章を含むディレクトリに行き、ただすることができるようにしたいと思います

joinpdf-magic-command *.pdf

そして、出力PDFを正しい順序にします。

PDFをマージするためのツール(pdfjoinpdftk)はたくさんありますが、それらはすべて、コマンドラインに表示される順序でPDFを配置します。

編集:

章のリストの例は次のとおりです。

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

しかし、他の本の場合、他のセクションがあり、それらの名前が異なる場合があり、同じ名前のセクションでさえ、異なる順序で進むことを意図している場合があります。そのため、ページ番号を使用することが重要かもしれないと述べました。

2
dshepherd

書籍の章を自動的に並べ替えるために使用できる魔法はありません。ファイルの命名規則でサポートされていない場合はそうではありません。これは人間が成し遂げなければならない行為です。

それを行う唯一の方法fastは、OPで引用したものと同様に、順序付けられたファイル名をテキストファイルに入れることです。

次に、単に実行します。

pdftk $(cat mychapters.txt) cat output book.pdf
3
Kurt Pfeifle

個人的には、新しいツールを探すのではなく、ワークフローをスクリプトでラップして正しい順序を適用します。

正しい順序を特定する方法があると思います。そうしないと、これはまったく不可能になります。理想的には、ファイルが自動的に正しい順序になるように名前を付けます。

01ChapterTitleOne.pdf
02ChapterTitleTwo.pdf
etc.

等々。 (マイケルの例のように)最後に章番号があるかもしれませんが、これはソートを壊します。その場合、ワークフロースクリプトにステップを追加して、ファイルの名前を正しい順序に変更する必要があります。

ファイルに一貫した名前が付けられている限り、これは問題にはなりません。ネーミングに関する詳細情報を共有できれば、これを行うためのBASHスクリプトを考え出すことができると確信しています。

すべてに正しい名前を付けると、ワークフロースクリプトの2番目のステップとして開始したのと同じコマンドを使用できるようになります。それが機能しない場合は、ファイルを正しい順序でループする、もう少し複雑なBASHスクリプトが必要になります。

これらはすべてBASHスクリプトの標準的なものですが、ファイルに一貫した名前を付けることを中心に展開しています。

2
Julian Knight