Pdftotext(poppler-utilsの一部)を使用して、PDFドキュメントをテキストに変換しています。大部分は動作しますが、私がしたいことの1つは、別々の段落をつなぎ合わせるのではなく、空白の行を挿入することでした。
これを行うためにpdftotextを取得する方法はありますか?そうでない場合、これを行うことができる別のpdf to textユーティリティがありますか?
pdftotext を使用している場合、-layout
フラグを使用して、入力pdfファイルのページ上のテキストのレイアウトを保持できます。
pdftotext -layout input.pdf output.txt
オープンソース(および自動化)のファンとして、私はこれを言いたくありませんが、(非常に大きく複雑なPDFで)得られた最良の結果は、それをAdobe Readerで開き、ファイル|テキストとして保存を選択することでした。
(読者としてではなく、テキスト分析実験の前処理をしていますが、最初と2番目の選択は同じだと思います。)
出力を並べて比較しています。私の2番目の選択肢は、ebook-convertです。
Adobe:改ページの場合はFFのまま、ページ番号の場合は残り、見出し/段落は単一行に変換されませんが、ハイフンは修正されています。 PDFに隠されたジャンクは出力されませんでした。セクションの開始時に、大資本を正しく獲得しました。 「T」ではなく、「T」でもありません。
ebook-convert:ページ番号に残っており、ヘッダー/フッターに隠されたジャンクがあります(FFはありません)。ほとんどの段落を単一行に変換します。それが逃したものはダブルスペースです!箇条書きは常にテキストと一致するとは限りません。チャプターの冒頭で正しく「The」を取得しました。
pdftotext(--layoutなし):悪くはありませんが、箇条書きは並んでいますが、ヘッダー/フッターのノイズです。 FFがそこにあります。ハイフンが削除されました。チャプタービッグレターの開始が最悪: "T\n\nhe"。
pdftotext(with --layout):同様ですが、インデントが増えます。章の開始のための「T he」。
pdftohtml >> pdfreflow >> htmltotext:ページ番号を削除しましたが、ヘッダー/フッターにジャンクが残っています。章の開始のための「T he」。ハイフンが削除されました。 (段落ごとに複数行を使用しますが、他のバージョンと同じ改行ではありません!)
Googleアカウントをお持ちの場合は、Googleドキュメントを使用してPDFをアップロードし、編集可能なテキストに変換できます。
また、pypdfを試し、2つのドキュメントのpdftotextと比較しました。それはより多くの改行を持ち、いくつかのセクション名を分割しました(参照はR E F E R E N C E Sでした)。
pdf2txtは完全なガベージを出力しました。
Pdftotextが出力を台無しにする場合は、pdfBox(Java)をよく使用します。試してみてください。