• 締切済み

PDFを読み込んで、目次(しおりとページ番号)をテキスト出力したいです

PDFを読み込んで、目次(しおりとページ番号)をテキスト出力したいです。 Java/Perl/Php/c/c++いずれでもよいのでコマンドラインで動作するものを自作しようかとおもっていますが、フリーのライブラリで適当ものはありませんでしょうか? コマンドラインツールにしたいのは、多くのPDFを一度にバッチ的に処理したいので。 http://www.toshiba-living.jp/search_category_list.php?sc2=119 上記の取説のPDFを、Perlの PDF::API2を使って読み込んでみましたが、 malformed... のエラーとなり、PDFファイルを正常に読み込めませんでした。 JavaのiTextはimportするとしおりなどの情報は失われると聞いたことがあります。 phpのfpdfはpdf作成のためのもので、既存のpdfを読み込み、目次を取得できるのかよくわかりません。 Acrobt9 standardを購入すればできるのかもしれませんが、バッチ的にコマンドラインで実行できるのか、よく理解できていません。 できればフリーソフトでできればありがたいですが、なければ有償のソフトも検討したいです。 動作環境はCENTOS5.5が望ましいですが、無理ならWindowsXPでもOKです。 PDFプログラミングに詳しい方、よろしくお願いいたしmす。

  • PHP
  • 回答数1
  • ありがとう数0

みんなの回答

  • luka3
  • ベストアンサー率74% (299/401)
回答No.1

ざっと調べただけですが(PDFのプログラミングをしたことはありません) pdftkが希望に近いようです。 ・Pdftk - The PDF Toolkit http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ 最初に検索で見つけたページ(サンプルソースあり) ・Webカタログ PDFしおり抽出/ NetColleper II http://spinnen.jp/bookmark.php 本家の例にあるように、 ≫Report on PDF Document Metadata, Bookmarks and Page Labels ≫pdftk mydoc.pdf dump_data output report.txt とすれば目次としおりが出力されます。 問題は日本語の対応ですかね。

関連するQ&A

  • PDFファイルページの見出し(しおり)作成方法

    当方Acrobat持っていません。 PDFアドビ・リーダで開いたとき、左側に目次のように並んだページの見出し(しおり)が作成できたらいいなと思っています。 ファイルの構成が一目でわかるように、クリックすると該当ページが瞬時にあらわれるようにしたいと考えています。 フリーソフトでPDFの各ページの見出しを集めた「しおり」の作成につてどなたかご存知の方がおられましたら教えていただければ大変ありがたいのですが、よろしくお願いいたします。

  • tomcatでのPDF出力について

    現在、tomcat 7.0+struts 2.2.3 + java 1.6 にてPDFの印刷を行うプログラムを作成しています。 AcrobatReaderをコマンドラインで呼び出して印刷したかったのですが、 eclipse上では正常に動作するのですが、いざtomcatにwarでアップロードし、実行すると エラーもはかれず処理が終了してしまいます。 下記が、処理されなかった部分です。 String cmd = "cmd /c START AcroRd32.exe /t " + "ファイル名"; System.out.println(cmd); ←ここの出力結果を「cmd /c 」を除いてコマンドプロンプトでたたくと正常に印刷されます。 Process p1 = Runtime.getRuntime().exec(cmd); p1.waitFor(); 原因がわかる方いらっしゃいましたらご教授お願い致します。

    • ベストアンサー
    • Java
  • PDFの結合に関して

    こんにちは、ひとつお聞きしたいことがあります。 PDFファイルを一つに結合させるフリーソフトは多数ありますが、 現在、困っているのは、複数あるPDFファイルを一つに結合するのではなく、 元のPDFファイルはそのままあり、目次のPDFファイルが一つ新規で出来上がり、その目次PDFの「しおり」をクリックすると元のPDFが開く感じのソフトはありますでしょうか。

  • スキャナで作成したPDFからテキスト抽出

    会社で過去の書類を大量にスキャナでPDFにしてあります。(数千ファイル程度) これらに中身がわかるようなファイル名を付けるために、PDFの中身を見てファイル名を付けるという作業をやることになりました・・・ それでどなたかご存知であればお教え願いたいのですが、下記要件を満たすソフトウェアはありませか? ・スキャナで作成したPDF(つまり画像ですね)からOCR的にテキストを抽出できる。 ・コマンドラインで動作する。(数が多いのでプログラムを書いて自動化したいのです) ・価格は5万円以内(できたら2万円以内です。購入は自腹になると思いますので、これ以上は厳しいです)

  • プログラミングの役立て方?使い道?

    こんばんは。 私は趣味でプログラミングを勉強している者で、Perl、PHP、JavaScriptをWebで役立てられるぐらいまでには習得できました。 現在Javaを勉強しているのですが、ここで質問です。 PerlやPHPはホームページ制作を実現する事が出来ますが、CやJavaなどのプログラミングは習得した後、どう役立てればいいのでしょうか? 私はCやJavaはWindowsアプリケーションを制作するためのものだと思っていたのですが、どうも違うようですし・・・(winアプリはVBが良い?) 入門書を読んでもコマンドプロンプトでforやらifやらプログラムの仕様を学ぶだけで、その後どういう風に役立てるのかが分かりませんでした。 ファイルの書き換えならPerlやPHPでも十分出来ると思いますし・・・。 CやJava等のWeb系じゃないプログラムの特徴や使い道?(何に向いているかとか)を教えていただけないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Java
  • PDFファイルの制御

    PDFファイルの配布サイトを作っています。 PDFファイルをWebからPDFを表示して、ローカルに保存されたくないという ありがちな仕様なのですが、 製品版のでPDF系のサーバアプリケーションでは DL禁止機能やコピー保存禁止機能などを見かけます。 あれはどうやって実現しているんでしょうか? 私なりに調べたら、 1.JavaScriptでAcrobatReaderからSaveAsをDisableにしている 2.JavaScriptで指定URLから開いていない場合は警告後、閉じる とあったので、 1.を実験でapp.hideMenuItem('SaveAs')としてみましたが、 セキュリティエラーが出て挫折しました。 2.はAcrobat5でJavaScriptを埋め込んで成功しました。 ただし一度設定するとローカルから触れなくなってしまいます。 後は、これをサーバ側で配布時に既存のPDFに JavaScriptを書き込まなければいけないのですが、 PDFLib,FDF,FPDFライブラリなどで、 実現できないでしょうか? もしJavaのiTextライブラリ等でできるなら、 最悪Javaに乗り換えようと思っていますが・・・ ご存知の方はできる、できない、または具体的な方法を ご教授できないでしょうか? PDF作成はAcrobat 5 Apache1.3+PHP4.38(FreeBSD)

    • 締切済み
    • PHP
  • PHPをバッチスクリプトのように実行する方法

    PHPをちょっと勉強してみようと思っています。 言語仕様をさらっと勉強したいだけなので Webサーバーを立ち上げるまではしたくないと思っています。 で、PHPをバッチスクリプトのように実行したいと思っています。 PerlやWSH(JScript, VBS)、シェル、Winコマンドバッチ等のように。 しかし、少し調べた限りではPHPをバッチのように起動する方法は分かりませんでした。 PHPをバッチスクリプトのように実行する方法はありますでしょうか? 存在しないのでしょうか?もしあるのならその方法を教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpのshell_exec関数の動作に関する質問です。

    phpのshell_exec関数の動作に関する質問です。 環境はFreeBSD7.1 php5.2.13です。 もともとperlスクリプトtest.cgiがあって、 /path/test.cgi filea fileb (以後これをコマンドラインという) というコマンドラインが正常に実行されることが確認済みです。 このコマンドラインが実行されるとfilebの内容が変化します。 次にphpスクリプトからコマンドラインを実行するために test.phpスクリプトの途中に、 shell_exec("/path/test.cgi $filea $fileb"); と書きました。 (test.cgiではperlライブラリを読み込んでいます。 phpには同等のライブラリがないためにやむを得ずこうしています。) ところがtest.phpを(ブラウザから)実行しても コマンドライン実行後に期待される$filebの変化がありません。 つまりコマンドラインが実行された形跡がないのです。 test.phpスクリプトの$filea, $filebが正しく変数展開されていることは確認済みです。 FireFoxブラウザから見るとtest.phpスクリプトは特にエラーもなく正常に実行されているように見えます。 質問 1 正常に実行できるコマンドラインをphpのshell_exec関数で実行できない理由としてどのようなことが考えられるでしょうか。

    • ベストアンサー
    • PHP
  • コマンドライン実行からのDB接続不具合

    こんにちは。 現在、PHP5、Apache2、Oracle9iで開発を行っておりまして コマンドラインからのバッチ処理を作成しております。 Webブラウザから実行すると正常に動作するのですが コマンドラインから実行すると oci_connect関数をコールしている部分以降の処理が 実行されずに困っております。 いろいろ調べてみましたが原因がわからなかったので どなたかアドバイスを御願いします。

    • ベストアンサー
    • PHP
  • コマンドラインが使えません。

    WinXP apache1.3.19 perl5.8.7 コマンドラインにてperl -vでバージョン表示あります。 #which perlでは、 「'#which' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」と表示されます。 また、他のコマンドでは、'#’も認識されません。 perlのpathは、マイコンピュ-ターの環境変数で設定しました。 #which perlで表示させるためにはどうすればよいのでしょうか? ご存知の方よろしくお願いいたします。

専門家に質問してみよう