狠狠撸
Submit Search
笔测迟丑辞苍で辫诲蹿をいじってみる
?
Download as PPTX, PDF
?
6 likes
?
21,273 views
株式会社 システムヨシイ
Follow
第21回 冈山笔测迟丑辞苍勉强会のスライド
Read less
Read more
1 of 23
Download now
More Related Content
笔测迟丑辞苍で辫诲蹿をいじってみる
1.
PythonでPDFをいじってみる 2015/11/02 岡山Python勉強会 @k5_yamayama
2.
山手 恵悟(やまやま) @k5_yamayama 岡山の某DBメーカー勤務 ユーザーCE→社内SE→企画開発→ →サーバー管理→営業に至る。 (これってフルスタック…?) 自己紹介
3.
Okayama Engineers Community(通称:OITEC) 運営スタッフやってます。 岡山Python勉強会(通称:おっPy) 立ち上げスタッフ 主催者のはずの“#た”が福山に戻っちゃった で現在は、ほぼ主催者状態。 コミュニティ
4.
はじめに 今回は、Pythonを使ってPDFを操作してみよう と思います。
5.
注意事項 本セッションは、やまやま個人が調査?検証した 結果を発表するもので、間違いやこれにより損害 が生じても一切責任を負いませんのでご了承くだ さい。
6.
ちなみに PDFの中身を取り出したいと思っ たことがある人?
7.
ちなみに 結構、中身の内容を操作したいと 思うことがあったので今回のネタ にしました。
8.
今日の目的とゴール ? 目的 ?PythonでPDFのデータを操作する方法 を理解する。 ? ゴール ?実際に触ってみてどういった動きにな るかやってみる。
9.
PDFデータを操作するために必要なもの ?Python(今回は2.7で…) ?Pdfminer
10.
PDF操作用Pythonモジュール ? PDF内にある情報を抽出するためのモジュール ? ライセンス形態は、MITライセンス ?
日本語の対応もやっている Pdfminer(http://urx2.nu/oXgp)
11.
インストール ?必要なモジュール ?pdfminer
12.
インストール 以下のURLよりzipファイルをダウンロード https://github.com/euske/pdfminer/ $ python setup.py
install インストール確認は、pip freezeで…
13.
動作確認 Quick Startから $ python
~/pdf2txt.py ~/sample/simple1.pdf Hello World Hello World H e l l o W o r l d H e l l o W o r l d Scriptsファルダ内にある のでパスを指定
14.
ただし… ? このままだと日本語がまともに表示されません ? 日本語に対応させるためには、CJKの登録をしな いと文字化けを起こすのでまずはセットアップす る ?
ハマりどころはどこに何を置くかが最初わからず 困ったとこ
15.
日本語の対応 ? ~/lib/site-packages/pdfminer直下にcmap フォルダを作成する cd ~/lib/site-packages/pdfminer mkdir
cmap
16.
日本環境の設定 以下のコマンドを実行 cd ~site-package python .pdfminerpdfminer-mastertoolsconv_cmap.py
-c B5=cp950 -c UniCNS-UTF8=utf-8 .pdfminercmap Adobe-CNS1 .pdfminerpdfminer-mastercmaprsrccid2code_Adobe_CNS1.txt python .pdfminerpdfminer-mastertoolsconv_cmap.py -c GBK-EUC=cp936 -c UniGB- UTF8=utf-8 .pdfminercmap Adobe-GB1 .pdfminerpdfminer- mastercmaprsrccid2code_Adobe_GB1.txt python .pdfminerpdfminer-mastertoolsconv_cmap.py -c RKSJ=cp932 -c EUC=euc-jp -c UniJIS-UTF8=utf-8 .pdfminercmap Adobe-Japan1 .pdfminerpdfminer- mastercmaprsrccid2code_Adobe_Japan1.txt python .pdfminerpdfminer-mastertoolsconv_cmap.py -c KSC-EUC=euc-kr -c KSC- Johab=johab -c KSCms-UHC=cp949 -c UniKS-UTF8=utf-8 .pdfminercmap Adobe-Korea1 .pdfminerpdfminer-mastercmaprsrccid2code_Adobe_Korea1.txt cd pdfminerpdfminer-master python setup.py install
17.
ポイント ? MACは、 ? Windowsは、絶対パスで指定する必要がありこの 部分でかなり悩んだ ?
ちなみに最後にあった項目は、韓国語の対応用な ので今回はなくてもいいかも make cmap python setup.py install
18.
実際に出力してみる ? 動作確認の為に以下のコマンドを実行し、日本語が出力 されるかを確認 python ~pdf2txt.py
-o c:workoutput.txt ~japaneseSample.pdf
19.
主な出力オプション ? コマンドラインで出力する際に使用できるオプションが 様々ある。 -o:出力ファイル名指定 -p:PAGENO [,pageno,...]
抽出ページ番号のカンマ区切のリ スト (ページ番号は1から始まります。) -c:出力コーデックを指定します。 -t:タイプ(txt/html/xml/tag)※デフォルトはtxt -V:縦書きの検出を行う
20.
その他の機能 ? その他のデバッグ機能としてdumppdf.pyコマンドがあ ります。 $python ~/dumppdf.py
-a ~/japanesesample2.pdf デバッグ用の擬似xmlを出力したり中に埋め込まれた画像 を抽出したりできます。
21.
まとめ ? コマンドライン的には2つのみのシンプルな構成 ? PDF内にあるテキストを抽出するには便利 ?
日本語の対応は、CMAPの設定が必要。設定時にパス の指定に注意する必要がある(windows版は注意) ? デバッグ用のコマンドラインは、画像の抽出が可能 なのでうまく使えば部分的な処理が可能 ? ある程度細かいことをしようとするとPDFの構造を 理解する必要があるかも…
22.
参考URL pdfminer http://www.unixuser.org/~euske/python/pdfminer/ Quiita 徹底攻略PDFオープンデータ。PDFMinerで始めるPDFテキスト分析 http://qiita.com/nezuq/items/75e8366d68c66e56ff53
23.
ご清聴ありがとうございました。
Download now