- ベストアンサー
pdfファイルについて
こんばんは。 pdfファイルについて教えてください。 A4サイズのpdfファイルの中にある決まった位置に記載されている 文字を判別する方法はありますでしょうか。 何をしたいかといいますと 認識した文字でファイル名を登録したいです 何かヒントでもいただけると助かります。 よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
技術者カテゴリーでの質問ですので、技術者向けの回答を。 pdfは書式文字列とデータからなるテキストファイル(データ部分にバイナリを含むこともある)ですので、書式さえ理解していれば、そこから情報を抜き出すことは可能です。 http://www.pdf-tools.trustss.co.jp/Syntax/fileStructOvv.html https://techracho.bpsinc.jp/west/2018_12_07/65062 とはいえ、実際に書式定義に従ってPDFを人力で解析するのはとても大変です。そこで、多くは解析・操作を手助けしてくれるライブラリを使います。 有名どころでitextを挙げておきます。 https://itextpdf.com/en javaプログラマなら、そのまま使えます。 もしwindowsプログラマなら、dotnetに対応したitextsharp https://www.nuget.org/packages/itext7/ をC#などから利用すればいいと思います。
その他の回答 (3)
- ballville
- ベストアンサー率47% (233/487)
3で回答しましたが、その後ドンピシャのQ&Aをstackoverfowで見つけたので、自分自身の備忘も兼ねて、参考URLに記しておきます。 Qを和訳すれば「座標指定によるPDFのテキスト抽出」あたりでしょうか。 先の回答ではライブラリとしてitextを紹介しましたが、このQ&AではapacheのPDFBox を使っています。 apacheのサイト https://svn.apache.org/repos/asf/pdfbox/site/publish/userguide/dot_net.html?p=1197837 ビルドして配布しているサイト http://www.squarepdf.net/pdfbox-in-net
お礼
ご回答ありがとうございます。
- chachaboxx
- ベストアンサー率23% (412/1777)
絶対に出来ない内容でもないですが、非常に高いプログラミングスキルを必要とします。 まず大前提として、ある決まった位置 の情報がテキストデータとして読めることが必要です。 たとえば、pdfページ内の写真に写ってる文字を読み取るとなると画像認識からの取り組みになりますが、テキストデータを読み取るのなら、ファイルの先頭から何バイト目とかの指定が可能になります。 うまく文字を読み取れたなら、バッチ処理等でそのファイル名を抽出した文字を使ってリネームします。リネームが失敗するなら、新しい文字列のファイル名にコピー処理します。 pdfはバイナリーデータなので、その辺の気遣いも必要です。
お礼
ご回答ありがとうございます。
- TIGANS
- ベストアンサー率35% (245/681)
Acrobatもってないので推測ですが Acrobat DC SDK で領域をトリミングして切り出して領域PDFを作り それをpdf2ascなどでテキスト化して流せば切り出せるのでは。 (領域をうまく設定しないとフォントが図形化されたりゴミが入るかも) https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_Dev_PDFCreation%2FCropping_and_rotating_pages.htm&rhsearch=trim&rhhlterm=trim&rhsyns=%20
お礼
ご回答ありがとうございます。
お礼
ご回答ありがとうございます。