PDFをダウンロードしてテキストを出力するには?

PDFをダウンロードしてテキストを出力するには?

私の都市水道料金請求書は、サーバーでホストされている最新のPDFへのリンクとして毎月私に電子メールで送信されます。これにより、いつでもこのPDFを簡単にダウンロードできます。このPDFを受け取り、アカウントの残高を引き出すにはどうすればよいですか?電子メールを送信したり、テキストメッセージを送信したり、同様のものを送信してください。

答え1

コードは詳細によって異なりますが、一般的なアプローチは次のとおりです。

  • ホームページにログイン(?)
  • wgetファイルにリンクされているページを使用またはダウンロードしてくださいcurl
  • ページからPDFリンクを入手してください
  • wgetファイルの使用またはダウンロードcurl
  • pdftotextpoppler-utilsなどのツールを使用してPDFからテキストを抽出する
  • または so を使用して、grepテキスト結果から目的のデータを取得します。

最も複雑な部分は、必要に応じてログインプロセスです。


コメントを残すときにログインする必要はなく、固定URLがあるため確実に単純化されます。 PDFをダウンロードし、テキストコンテンツを直接使用してデータを抽出できます。以下は、サンプルPDFファイルから行を抽出する例です。この行には単語ghostviewとバージョン番号が含まれており、サンプル値として使用できます。

$ u='http://www.wave.org.au/jupgrade/images/sample.pdf'
$ curl -s "$u" | pdftotext - - | grep 'ghostscript '
• ghostscript ≥ 5.10 (for example from Red Hat Contrib) and ghostview

次のステップは、単純な数値を抽出することです。

答え2

たぶんあなたは利用可能ですpdftotext:

$ pdftotext -layout transaction.pdf - | grep -C1 amount
                 19876.0
amount paid

このプログラムはソフトウェアパッケージの一部であり、poppler-utils次のコマンドを使用してインストールできます。

sudo apt-get install poppler-utils

このオプションは、PDFレイアウトにできるだけ近づく-layoutために使用されます(そうでなければ、私のPDFテーブルレイアウトはテキストフォームの数とは離れています)。pdftotextamount paid

関連情報