私の都市水道料金請求書は、サーバーでホストされている最新のPDFへのリンクとして毎月私に電子メールで送信されます。これにより、いつでもこのPDFを簡単にダウンロードできます。このPDFを受け取り、アカウントの残高を引き出すにはどうすればよいですか?電子メールを送信したり、テキストメッセージを送信したり、同様のものを送信してください。
答え1
コードは詳細によって異なりますが、一般的なアプローチは次のとおりです。
- ホームページにログイン(?)
wget
ファイルにリンクされているページを使用またはダウンロードしてくださいcurl
- ページからPDFリンクを入手してください
wget
ファイルの使用またはダウンロードcurl
pdftotext
poppler-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テーブルレイアウトはテキストフォームの数とは離れています)。pdftotext
amount paid