GNU/Linux >> Linux の 問題 >  >> Debian

LinuxでPDFをテキストに変換する方法(GUIおよびコマンドライン)

この記事では、グラフィカル ツール (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 を示します 続いて macdos または 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 (無料版) をダウンロード


Debian
  1. LinuxでBASHコマンドライン履歴をクリアする方法

  2. Linuxでコマンドラインを使用してPDFをJPGに変換するには?

  3. コマンドラインツールのみを使用して Linux で DjVu ドキュメントを PDF に変換するにはどうすればよいですか?

  1. UbuntuLinuxで複数の画像をPDFに変換する方法

  2. Linuxコマンドを使用して画像にテキストを書き込む方法

  3. コマンドラインを使用してLinuxをシャットダウンまたは再起動する方法

  1. コマンドラインでLinuxのカーネルバージョンを確認する方法

  2. LinuxコマンドラインテキストエディタであるNanoの使用方法

  3. コマンドラインを使用してLinuxを再起動する方法