質問
SWFTools と XPDF の助けを借りて、PDF を画像/SWF とテキストに抽出しています。これらを PDF スクリプトで実行しています。
しかし今、さらに一歩進んで PDF から目次を取得しようとしていますが、この情報を抽出することは可能でしょうか?
解決
ちょっと検索してみたらこれを見つけました。それはかなり有望に見えます。
PDFマイナー: http://www.unixuser.org/~euske/python/pdfminer/index.html
注記:このツールは Python ベースですが、シェル アクセス経由でツールを使用できるはずです。あるいは、プロジェクトはオープンソースであるため、ソース コード自体から有用な情報を収集できる場合もあります。
サイトから:
ダンプpdf.py
dumppdf.py は、PDF ファイルの内部コンテンツを疑似 XML 形式でダンプします。このプログラムは主にデバッグを目的としていますが、意味のあるコンテンツ (画像など) を抽出することもできます。
例:
$ dumppdf.py -a foo.pdf (dump all the headers and contents, except stream objects) $ dumppdf.py -T foo.pdf (dump the table of contents) $ dumppdf.py -r -i6 foo.pdf > pic.jpeg (extract a JPEG image)
他のヒント
私はdump.pdf -T
を試してみましたが、それは一部のPDFファイルでは動作しませんでした。
私はちょうど見つけMuPDFという名前mutool
、から別のツールがあります。これはdump.pdfよりも良いですが、PDFファイルdump.pdfに取り組んでエラーをスローした場合、私は知りません。
ここでmutoolとTOCを抽出する方法です。
mutool show {your-pdf-file} outline
また、あなたにはC.書かかなり軽量でありながら、完全なPDFの実装である MuPDF に使用することができますapps/
サブディレクトリには、あなたは、表示ダンプやPDFファイルから情報を抽出することができますいくつかのツールがあります。それは積極的に維持され、より良いPDFをサポートしていているので、私はxpdfの上MuPDFを好むだろう。
それ以外の場合は、常にありますにPoppler の実際のxpdfに基づいています。開発者はC ++にそのコードを移植しました。したがって、それは、その前任者よりも悪い行います。 MuPDFに比べて、にPopplerは少しより多くの機能を持っているようだが、見返りにコードがはるかに複雑である。
あなたの目的のためにMuPDFはしかし十分なはずです。あなたは、外部のアプリケーションに頼ることなく、必要なすべての情報を抽出しapps/
で提供されるサンプルコードから簡単なアプリケーションを一緒にハック可能性があります。
私はを見てPHPのPDFlibののは非常に良い場所だと思います開始。あなたは下にスクロールする場合は、テキストにHTMLやPDFにPDFを変換するためのユーザ投稿のソリューションの多くが表示されます。変換後は、比較的単純なmatch関数は、タグ付けされたTOCの項目を抽出でき、あなたが、あなたのように操作することができます例えば、配列、にそれらを投げてくださいます。
このStackOverflowのポストにもいくつかのより多くのソリューションを提供しています。
この情報がお役に立てば幸いです。