この記事では、グラフィカル ツール (caliber) とコマンド ライン ツール (pdftotext) を使用して Linux で PDF ドキュメントを編集可能なテキストに変換する 2 つのツールを紹介します。
PDF ファイルからテキストを抽出するためにこの記事で説明した 2 つのツールは、PDF が画像で構成されている場合 (例:スキャンされた本のページ/画像)、テキストを抽出できないことに注意してください。
Calibre (GUI) で PDF をテキストに変換
caliber は、無料でオープン ソースの電子書籍ソフトウェア スイートです。電子書籍の整理、表示、編集、変換をサポートし、さまざまな形式をサポートしています。アプリケーションは、Linux、macOS、および Microsoft Windows で実行されます。
Calibre は、Linux ディストリビューションのリポジトリで利用できる必要があり、システムにある任意のソフトウェア ストアを使用してインストールできるはずです。たとえば、Debian、Ubuntu、Linux Mint、Fedora、openSUSE、または Arch Linux にインストールするには:
- Debian、Ubuntu、または Linux Mint:
sudo apt install calibre
- Fedora:
sudo dnf install calibre
- openSUSE:
sudo zypper install calibre
- Arch Linux:
sudo pacman -S calibre
Calibre は、Flathub パッケージを使用して Linux にインストールすることもできます (一部の Linux ディストリビューションでは、Flathub / Flatpak のセットアップが必要です)。
Linux に caliber をインストールする別の方法があります。これについては、アプリケーションのダウンロード ページで説明されています。このページでは、macOS および Windows のバイナリも見つけることができます。
関連:GIMP または pdftoppm コマンド ライン ツールを使用して PDF を画像 (PNG、JPEG) に変換する方法
Calibre をシステムにインストールしたら、それを起動して Add books
をクリックします。 テキストに変換したい PDF (または複数の PDF - Calibre は、複数の PDF ファイルからテキストへのバッチ変換をサポートしています) を追加します。
書籍のリストから、テキストに変換する PDF (.txt に一括変換する場合は複数の PDF) を選択し、Convert books
をクリックします。 ボタン。変換ウィンドウの右上隅で、TXT As Output format
を選択します。 :
この変換ダイアログで微調整できる多くのオプションがあります。たとえば、段落間のスペースを自動的に削除したり、段落間に空白行を挿入したりできます (Look & Feel -> Layout
)。また、文字エンコーディングと行末スタイル (システム、Unix、Windows、old_mac) を設定し、Markdown にフォーマットすることもできます。
設定が完了したら、OK
をクリックします。 PDF ファイルのテキストへの変換を開始するボタン。変換された .txt ファイルは、口径ライブラリの場所を指定したディレクトリにあります (その後 AuthorName/BookName
サブフォルダー;著者または本の名前を特定できない場合、サブフォルダーは「Unknown」と呼ばれます)。
この場合に欠けているのは、ページまたはページの範囲だけを変換する方法です。現在、PDF ファイル全体をテキストに変換することしかできません。
PDF 関連:LibreOffice Writer を使用して入力可能な PDF フォームを作成する方法
pdftotext で PDF をテキストに変換 (コマンドライン)
pdftotext は、PDF ファイルをプレーン テキストに変換するコマンド ライン ユーティリティです。変換するページの範囲を指定する機能、テキストの元の物理的なレイアウトを可能な限り維持する機能、行末を設定する機能 (Unix、DOS または Mac)、さらにはパスワードで保護された PDF ファイルを操作する機能など、多くのオプションを提供します。
pdftotext は poppler / poppler-utils / poppler-tools パッケージの一部です (使用する Linux ディストリビューションによって異なります)。このパッケージを次のようにインストールします:
- Debian、Ubuntu、Linux Mint、およびその他の Debian / Ubuntu ベースの Linux ディストリビューション:
sudo apt install poppler-utils
- Fedora:
sudo dnf install poppler-utils
- openSUSE:
sudo zypper install poppler-tools
- Arch Linux:
sudo pacman -S poppler
他の Linux ディストリビューションでは、パッケージ マネージャーを使用して poppler / poppler-utils パッケージをインストールしてください。
パッケージがインストールされたので、PDF ファイルをプレーン テキストに変換し、そのレイアウトを同じに保つことができます (この -layout
を使用することをお勧めします 元の物理レイアウトを維持するオプションですが、なしで試すこともできます):
pdftotext -layout input.pdf output.txt
input.pdf
を置き換える必要があります PDF ファイルの名前と output.txt
生成された TXT ファイルを呼び出す名前を付けます。必要に応じて、ファイル名の前にパスを追加します (例:~/Documents/mypdf.pdf
)。出力テキスト ファイルが指定されていない場合、pdftotext は元の PDF ファイルと同じファイル名でファイル名を指定します。
レイアウト オプションは、複数列の PDF の場合でも、テキストに変換するときに PDF レイアウトを保持します。
PDF 全体ではなく、PDF のページの範囲のみをテキストに変換したい場合はどうしますか? -f
を使用 (変換する最初のページ) および -l
(変換する最後のページ) の後に、次のようにページ番号が続きます:
pdftotext -layout -f M -l N input.pdf
M
に置き換えます そして N
抽出する最初と最後のページ番号と input.pdf
Mac、DOS、または Unix で行末文字を使用しますか? これも使えます。 -eol
を示します 続いて mac
、 dos
または unix
.例えば。 Unix の行末:
pdftotext -layout -eol unix input.pdf
ページ間に改ページを挿入したくない場合は、-nopgbrk
を追加します :
pdftotext -layout nopgbrk input.pdf
フォルダ内のすべての PDF ファイルをテキスト ファイルにバッチ変換しますか? pdftotext はバッチ PDF からテキストへの変換をサポートしていません (および pdftotext *.pdf
は機能しません)、Bash の FOR ループを使用して、フォルダー内のすべての PDF ファイルをテキスト ファイルに変換できます:
for file in *.pdf; do pdftotext -layout "$file"; done
その他のオプションについては、man pdftotext
を実行してください と pdftotext --help
.
おすすめ:Master PDF Editor 4 for Linux (無料版) をダウンロード