私はSWFToolsとXPDFの助けを借りてpdfを画像/swfとテキストに抽出しています。私はこれらをPDFスクリプトで実行しています。
しかし今、私はさらに一歩進んで、PDFから目次を取得しようとしています。この情報を抽出することは可能ですか?
少し検索してこれを見つけました。それはかなり有望に見えます。
PDFMiner: http: //www.unixuser.org/~euske/python/pdfminer/index.html
注:ツールはPythonベースですが、シェルアクセスを介してツールを使用できるはずです。または、プロジェクトはオープンソースであるため、ソースコード自体からいくつかの有用な情報を収集できる場合があります。
サイトから:
dumppdf.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ファイルから情報を表示、ダンプ、および抽出できるツールがいくつかあります。MuPDFは積極的に保守されており、PDFのサポートが優れているため、xpdfよりもMuPDFの方が好きです。
それ以外の場合は、実際にはxpdfに基づくPopplerが常に存在します。開発者はそのコードをC++に移植しました。したがって、前任者よりもパフォーマンスが低下します。MuPDFと比較すると、Popplerはわずかに多くの機能を備えているようですが、その見返りとして、コードははるかに複雑です。
ただし、目的にはMuPDFで十分です。で提供されているサンプルコードから、apps/
外部アプリケーションに依存せずに必要なすべての情報を抽出する単純なアプリケーションを一緒にハックすることができます。
PHPのPDFLibを見るのは、始めるのにとても良い場所だと思います。下にスクロールすると、PDFをHTMLに、またはPDFをテキストに変換するためのユーザー投稿ソリューションがたくさん表示されます。変換後、比較的単純な一致関数で、タグ付けされたTOCアイテムを抽出し、それらを配列にスローすることができます。これにより、自由に操作できます。
このStackOverflowの投稿には、さらにいくつかの解決策があります。
お役に立てれば。