ひまつぶし雑記帖

小ネタ:pdftotextで文字データを抽出

2024/8/28 [15:40:57] (水) 天気

元データがPDFで、圏点(傍点)やダッシュをPDFから検出する必要にせまられた。
目視確認などありえないんで、テキストデータとして取り出して検索しよう、というのが今回のエントリ…というかエントリにするまでもない内容なんだけど、たぶんそのうち忘れるんで、メモ。

PDFから文字情報だけをひっぱりだすのに定番の「pdftotext」というツールを使う。
perlだけでもできそうなんだけど(PDF::API2あたり)ちょっと時間も押してるんで、外部ツールを間に挟むことにした。

まずは肝腎のpdftotextのインストール。これがpoppler-utilsというパッケージだなんて検索しないとわからなかった(pdftotextというパッケージがあるもんだと思ってた)

以下のコマンドラインでインストール

sudo apt-get install poppler-utils

unix系のツールの例に漏れず、これもいろんなオプションが用意されてるけど、今回必要なのは文字情報だけ。レイアウトデザイン情報やなんかは不要。
rawオプションをつけて利用する。
image
たとえば「kappa.pdf」の文字情報を抜き出すのは

pdftotext -raw kappa.pdf

こうすると「kappa.txt」に文字情報を吐き出す。ただ、これだとひと文字ずつだあーっと出力されるので、ここからがテキストデータを扱わせたら最強のperlの出番。image 
pdftotextの出力には改ページがつくので、そこで改行すれば「それっぽい段落」ごとに見えるひとに優しいテキストファイルとなる。

open(P, '-|', 'pdftotext -raw kappa.pdf - ' ) || die;
binmode STDOUT => ":utf8";
open(OUT, '>' , 'kappa.txt') || die;
binmode OUT => ":utf8";
while(

){
    my $line = Encode::decode('utf8', $_);
    $line =~ s!\r?\n!!;
    $line =~ s!\x{C}!\n!;
    print OUT $line;
}
close(OUT);
close(P);


特筆すべきようなスクリプトじゃないんだけど。
perlは外部コマンドの「標準出力」をパイプで受け取って加工整形できる。

open(P, '-|', 'pdftotext -raw kappa.pdf - ' ) 

openの
・第2引数で、標準出力を受け取りますよ、という指定
・第3引数はpdftotextの結果を標準出力に出すからね、という指定
これだけでそれっぽい段落にわけたテキストファイルを作ってくれる。

そうしたら、あとは出力されたテキストファイルからダッシュや圏点(傍点)っぽいものをperlで検知するだけ。imageこれはワードで作ったPDFで「、」が圏点となっている。inDesignで作られたデータだと「0」(ゴマ)「4」(ドット)となる。

直接触ってもいいんだけど、一度テキストファイルに吐き出したほうがなにかわからないことが起こった時に便利なので、こういう仕様、段取り。

このスクリプトのおかげで抜け漏れは捕捉できるんでずいぶんラクになった。

以前、目視確認とか無駄なだけだし、んなもんツール作ってやればいいじゃん、とか言ったら、そしたら仕事がなくなる、目視確認手作業修正は必須だ、と言われて心底、呆れた。
カネをもらった上で、人間の作業=ミスが入り込む原因になる工程を入れるって、いろいろ悪質すぎる。
ITといってもピンキリで、こんなのが入り込んでるから要注意。
そもそも、その程度の仕事なんて、なくなっても問題ないし、特に困らない。

»電子書籍制作代行についてはこちら

【電子書籍発売中】

doncha.net制作・発行:KindleやiBooks、楽天kobo、BOOK☆WALKERで読む電子書籍

profile

profile

 
doncha.net
contact:
»運営者
@t2aki@tokoroten.doncha.net

ため池

[2025/02/19 17:58]
『トワイライト・ウォリアーズ』キャスト&監督の来日が決定!舞台挨拶付き上映会開催
https://news.yahoo.co.jp/articles/305ed729d998e97af0a996a67970b0adc5d3d518

えええええ!?行きたい!けど、もう間に合わないよなあああああ…orz
でも、でもでも、ユナイテッド・シネマとキネ ...

[2025/02/19 17:50]
成功体験て、麻薬みたいなもんだよなあ…

[2025/02/19 17:37]
歳くって、いろいろ転々としてきた実感でいうと、経営者というか組織のトップって、
失敗した体験をした生かすことはできても、成功体験の呪縛というのがけっこうガッチガチで、実情に沿わなくなってきても成功体験から逃げられなくて、組 ...

@t2aki@tokoroten.doncha.net

検索
<<2025/2>>
      1
2345678
9101112131415
16171819202122
232425262728

リンク

WINDOWS版サウンドノベル
おかえりください PC WINDOWS版サウンドノベル
『おかえりください』体験版