LinuxコマンドラインでPDFファイルを作成して結合する方法
公開: 2022-09-24PDF ファイルは、共有を促進するために設計されました。 他に何もなければ、誰もが Web ブラウザで開くことができます。 Linux では、コマンド ラインで PDF ファイルを操作、マージ、および分割できます。
ポータブル ドキュメント フォーマット
Linux での PDF ファイルの作成
qpdf コマンド
PDF ファイルの結合
PDF ファイルの分割
ページの回転
暗号化と復号化
qpdf は優れたツールです
ポータブル ドキュメント フォーマット
Portable Document Format (PDF) が問題を解決しました。 コンピューターで作成したドキュメントを他のユーザーと共有したい場合、ドキュメントを送信してもうまくいかないことがありました。
ドキュメントの作成に使用したのと同じソフトウェア パッケージを持っていたとしても、あなたのコンピューターにインストールされていたのと同じフォントがコンピューターにインストールされていない可能性があります。 ドキュメントを開くことはできますが、見た目が正しくありません。
パッケージの作成に使用したソフトウェアのコピーがなければ、まったく開くことができません。 Linux でしか利用できないソフトウェアを使用している場合、そのドキュメントを Windows しか使用していない人に送信しても意味がありません。
Adobe は 1992 年に新しいファイル形式を作成し、それをポータブル ドキュメント形式と呼びました。 その標準 (ISO 32000) に従って作成されたドキュメントには、ファイルの内容を正しく表示するために必要な画像とフォントが含まれています。 PDF ファイルは、どのプラットフォームの PDF ビューアでも開くことができます。 これは、クロスプラットフォームでシンプルかつエレガントなソリューションでした。
PDF ファイルは、ワープロ ドキュメントのように順応性があるようには設計されていません。 彼らは編集にすぐには向いていません。 PDF のコンテンツを変更する必要がある場合は、元の資料に戻って編集し、新しい PDF を生成することをお勧めします。 コンテンツを変更しようとするのとは対照的に、構造的な操作は PDF ファイルに対して比較的簡単に実行できます。
ここでは、Linux で PDF ファイルを作成する方法と、PDF ファイルに適用できる変換を実行する方法をいくつか紹介します。
Linux での PDF ファイルの作成
Linux で利用可能なアプリケーションの多くは、PDF ファイルを直接生成できます。 LibreOffice のツールバーには、現在のドキュメントの PDF を生成するボタンがあります。 これ以上簡単なことはありません。
PDF 作成をきめ細かく制御するには、Scribus デスクトップ パブリッシング アプリケーションに勝るものはありません。
科学的または数学的なコンテンツを含むドキュメントを作成する必要がある場合、おそらく学術雑誌に提出するために、Texmaker などの LaTeX を使用するアプリケーションが最適です。
おそらく Markdown を使用してプレーンテキストのワークフローを好む場合は、 pandoc
を使用して、PDF を含む非常に多くのファイル形式との間で変換を行うことができます。 pandoc
専用のガイドがありますが、簡単な例でその使いやすさをお見せします。
最初に Texmaker をインストールします。 pandoc
は、PDF 生成のためにいくつかの LaTeX ライブラリに依存しています。 Texmaker のインストールは、これらの依存関係を満たす便利な方法です。
-o
(出力) オプションは、作成されるファイルのタイプを指定するために使用されます。 「raw-notes.md」ファイルはプレーンテキストの Markdown ファイルです。
pandoc -o new.pdf raw-notes.md
「new.pdf」ファイルを PDF ビューアで開くと、正しい形式の PDF であることがわかります。
qpdf コマンド
qpdf
コマンドを使用すると、コンテンツを保持しながら、既存の PDF ファイルを操作できます。 行える変更は構造的なものです。 qpdf
を使用すると、PDF ファイルのマージ、ページの抽出、ページの回転、暗号化の設定と削除などのタスクを実行できます。
Ubuntu にqpdf
をインストールするには、次のコマンドを使用します。
sudo apt install qpdf
Fedora でのコマンドは次のとおりです。
sudo dnf install qpdf
Manjaro では、次のように入力する必要があります。
sudo pacman -S qpdf
PDF ファイルの結合
最初は、 qpdf
のコマンド ライン構文の一部がわかりにくいかもしれません。 たとえば、コマンドの多くは入力 PDF ファイルを想定しています。
コマンドに必要ない場合は、代わりに--empty
オプションを使用する必要があります。 これは、 qpdf
に入力ファイルを期待しないように指示します。 --pages
オプションを使用すると、ページを選択できます。 PDF 名のみを指定すると、すべてのページが使用されます。
2 つの PDF ファイルを結合して新しい PDF ファイルを作成するには、このコマンド形式を使用します。
qpdf --空 --pages first.pdf second.pdf --combined.pdf
このコマンドは次のもので構成されています。
- qpdf :
qpdf
コマンドを呼び出します。 - –empty :
qpdf
に入力 PDF がないことを伝えます。 「first.pdf」と「second.pdf」は入力ファイルであると主張できますが、qpdf
はそれらをコマンド ライン パラメーターと見なします。 - –pages : ページを操作することを
qpdf
に伝えます。 - first.pdf second.pdf : ページを抽出する 2 つのファイル。 ページ範囲を使用していないため、すべてのページが使用されます。
- — : コマンドオプションの終了を示します。
- combined.pdf : 作成される PDF の名前。
ls
を使用して PDF ファイルを検索すると、元の 2 つのファイル (変更されていない) と、「combined.pdf」という名前の新しい PDF が表示されます。
ls -hl first.pdf second.pdf 結合.pdf
「first.pdf」に 2 ページ、「second.pdf」に 1 ページあります。 新しい PDF ファイルは 3 ページです。
非常に多くのソース ファイルをリストする代わりに、ワイルドカードを使用できます。 このコマンドは、現在のディレクトリにあるすべての PDF ファイルを含む「all.pdf」という名前の新しいファイルを作成します。
qpdf --empty --pages *.pdf -- all.pdf
ページを抽出するファイル名の後ろにページ番号または範囲を追加することで、ページ範囲を使用できます。
これにより、「first.pdf」から 1 ページ目と 2 ページ目が抽出され、「second.pdf」から 2 ページ目が抽出されます。 「combined.pdf」が既に存在する場合、上書きされないことに注意してください。 選択したページが追加されています。
qpdf --empty --pages first.pdf 1-2 second.pdf 1 -- 結合.pdf
ページ範囲は、好きなだけ詳細にすることができます。 ここでは、大きな PDF ファイルから特定のページ セットを要求し、要約 PDF ファイルを作成しています。
qpdf --empty --pages large.pdf 1-3,7,11,18-21,55 -- summary.pdf
出力ファイル「summary.pdf」には、入力 PDF ファイルの 1 ~ 3、7、11、18 ~ 21、および 55 ページが含まれます。 これは、「summary.pdf」に 10 ページあることを意味します。
ソース PDF の 10 ページは 55 ページであることがわかります。
PDF ファイルの分割
PDF ファイルのマージの反対は、PDF ファイルの分割です。 PDF を、それぞれが 1 ページを保持する個別の PDF ファイルに分割するための構文は単純です。
分割するファイルは「summary.pdf」で、出力ファイルは「page.pdf」です。 これはベース名として使用されます。 新しいファイルごとに、ベース名に番号が追加されます。 --split-pages
オプションは、実行しているアクションのタイプをqpdf
に伝えます。
qpdf summary.pdf page.pdf --分割ページ
出力は、連続番号が付けられた一連の PDF ファイルです。
lsページ*.pdf
すべてのページを分割したくない場合は、ページ範囲を使用して必要なページを選択します。
この次のコマンドを発行すると、単一ページの PDF ファイルのコレクションが分割されます。 ページ範囲は、必要なページまたは範囲を指定するために使用されますが、各ページは 1 つの PDF に保存されます。
qpdf large.pdf section.pdf --pages large.pdf 1-5,11-14,60,70-100 -- --split-pages
抽出されたページは、「section.pdf」に連番を加えた名前になっています。
ls セクション*.pdf
ページ範囲を抽出して単一の PDF に保存する場合は、この形式のコマンドを使用します。 --split-pages
オプションが含まれていないことに注意してください。 事実上、ここで行っているのは PDF のマージですが、1 つのソース ファイルからページを「マージ」しているだけです。
qpdf --empty --pages large.pdf 8-13 -- chapter2.pdf
これにより、「chapter2.pdf」という単一の複数ページの PDF が作成されます。
ページの回転
ページを回転するには、指定されたページを回転させた入力 PDF と同じ新しい PDF を作成します。
これを行うには--rotate
オプションを使用します。 +90
は、ページを時計回りに 90 度回転することを意味します。 ページを 90 度、180 度、または 270 度回転できます。 負の数を使用して反時計回りの角度で回転を指定することもできますが、そうする必要はほとんどありません。 -90 度の回転は +270 度の回転と同じです。
ローテーションとコロン「 :
」で区切られた数字は、回転させたいページの番号です。 これはページ番号とページ範囲のリストかもしれませんが、最初のページを回転させているだけです。 すべてのページを回転するには、ページ範囲1-z
を使用します。
qpdf --rotate=+90:1 summary.pdfrotated1.pdf
最初のページは回転されています。
暗号化と復号化
PDF ドキュメントを暗号化して、開くときにパスワードが必要になるようにすることができます。 そのパスワードはユーザーパスワードと呼ばれます。 PDF のセキュリティやその他のアクセス許可の設定を変更するには、別のパスワードが必要です。 これは所有者パスワードと呼ばれます。
PDF を暗号化するには、 --encrypt
オプションを使用し、両方のパスワードを提供する必要があります。 ユーザーパスワードは、コマンドラインの最初に来ます。
使用する暗号化の強度も指定します。 非常に古い PDF ファイル ビューアーをサポートする場合は、256 ビット暗号化から 128 ビット暗号化に変更するだけで済みます。 256 ビット暗号化を使用することをお勧めします。
「summary.pdf」の暗号化バージョン「secret.pdf」を作成します。
qpdf --encrypt hen.rat.squid goose.goat.gibbon 256 -- summary.pdf secret.pdf
PDF を開こうとすると、PDF ビューアーからパスワードの入力を求められます。 ユーザーパスワードを入力すると、ビューアーはファイルを開くことができます。
qpdf
は既存の PDF を変更しないことに注意してください。 要求した変更を加えて新しいものを作成します。 そのため、暗号化された PDF を作成しても、元の暗号化されていないバージョンが保持されます。 状況によっては、元の PDF を削除するか、安全に保管する必要がある場合があります。
ファイルを復号化するには、 --decrypt
オプションを使用します。 明らかに、これが機能するには所有者のパスワードを知っている必要があります。 --password
オプションを使用してパスワードを識別する必要があります。
qpdf --decrypt --password=goose.goat.gibbon secret.pdf unlocked.pdf
「unlocked.pdf」はパスワードなしで開くことができます。
qpdf は優れたツールです
私たちはqpdf
に深く感銘を受けました。 PDF ファイルを操作するための柔軟で豊富な機能を備えたツールセットを提供します。 また、非常に高速です。
よく書かれた詳細なドキュメントをチェックして、どれだけ多くのことができるかを確認してください.