P-29
フリーソフトを用いた納品書画像の処理
長谷川 浩史大阪公立大学 杉本キャンパス 納品検収センター

１．はじめに筆者は、納品検収センターで検収業務を担当しながら事務のペーパーレス化を図っている。ペーパーレス化（システム）は 5 年前に提案し、昨年は、AcrobatReader の注釈機能を用いて、納品書（画像）の高速検索と集計を行わせる機能を追加した。この機能は高度であるが、納品書へのテキストの付加に少し負担が存在している。この負担を軽減するために、納品書の自動読取りシステムの構築に取り組んでいる１）。本報告では、検討しているフリーソフトを用いた画像からのテキストの抽出、テキストの検索、検索されたテキストが画像化されている納品書の指定、画像からの罫線の抽出等について述べる。
２．ペーパーレス化
ペーパーレス化とは、紙媒体の利用に代わり電子メディアの利用を図ることである。本センターでは、主として納品書の電子メディアへの複写を行っている。複写は、複合機（FUJI Xerox ApeosPort-ⅦC3373）のスキャナー機能を用いて行い、TIFF ファイルとして複合機内に保存する（親展ボックス）。そして、センター内のパソコンに取込み、課の共有メモリに格納する。検収は、大抵、センター内で行っているが、容量や重量の大きなものは、出向いて行う場合がある。その場合は、デジタルカメラで納品書等を撮像（JPEG）し、利用している。
３．ファイル変換、高速検索と集計
TIFF と JPEG のファイルは、これまでの互換性を考慮して PDF に変換する（XnConvert を利用）
。JPEGのカラー画像は、グレースケールに変換する（JTrim の一括変換を利用）。それから A4 サイズに調整し（Pixllion の無償版を利用）、PDF に変換する。PDF ファイルは、圧縮（Reduce PDF Size を利用）し、結合する（CubePdfPage を利用）
。そして、納品書にはほとんど使われていないと思われる記号、ここでは、†（短剣符）と納品先、業者名等を AcrobatReader の注釈機能を用いてファイルに付加する。これをメニュー「編集」の「高度な検索」を用いて検索する。検索語句を†とすると検索数が集計になる。
４．テキストの抽出と検索及び画像ファイルの指定
４.１ バッチファイルを用いた Tesseract によるテキストの抽出
納品書の自動読取りシステムの構築には、参考文献[1]で述べた特徴を考慮する必要があるが、まず、OCR のフリーソフト、OneNote 、QuicOCR、VBOCR、Tesseract、PDFelement 等のテキストの抽出能力と操作性の検討を行った１）。その結果と、オープンソースのプログラムであり、機能の追加や他のプログラムとの結合等が可能と思われることから Tesseract の利用を検討する。Tesseract の実行形式は、Tesseract imagename outputbase [-l lan][--oem ocrenginemode][--pcm pagesegmode][configfiles]
で、imagename は、JPEG、PNG や TIFF 等の画像ファイル名（拡張子.jpg、.png、.tif）を、outputbase は、認識した文字の出力ファイル名を、その形式は、テキスト、PDF、TSV（拡張子.txt、.pdf、.tsv）等で、[-l lan]は、認識する言語を、[--oem ocrenginemode]は、OCR エンジンを指定する。出力ファイル形式にPDF を指定すると、画像は PDF に変換され、認識した文字は、画像の上に透明なテキストとして追加される。この形式は、acrobatreader の表示と検索機能が利用でき、検索したテキストとそれを含む画像の同時表示が可能である。テキストの可視化は、透明テキストをコピーし、テキストエディタに張り付けるか、PDF での可視化には、acrobat の有償版を利用する。テキスト形式は、認識した文字がメモ帳等で容易に確認できるので、本報告では、この形式の利用も検討する。2 で述べた複合機は、原稿送り装置に複数枚の納品書をセットし、連続してスキャンさせると、マルチページの TIFF 画像ファイルを生成する。それで、ページ毎のファイルに分割し（Xnconvert を利用）、1 ファイル=1 画像としている。親展
ボックス毎の画像のファイル名は、日時、親展ボックス名、連番を付けた名前に、リネームする(Nameryを利用)。そして、次のコマンドからなるバッチファイル（拡張子.bat）を実行すると、

47

for %fname in (*.tif) do (tesseract.exe %fname %~nfname -l jpn txt)
リネームされた tif 画像は、順次、変数 fname にファイル名（拡張子付き）が読み込まれ、tesseract で処理され、認識された文字は、テキスト形式で、画像と同じ名前のファイルに出力される。%~n は、拡張子無しを、*は、0 文字以上で任意の文字列を表すワイルドカード文字を示す。
４.２ Tresgrep を用いたテキスト検索と画像ファイルの指定
4.1 で生成されたテキストファイルから納品先等の文字列を検索する。検索のために、TresGrep を利用する。理由は、フリーソフトであること、ワイルドカード、and や or 検索等が利用できることによる。
検索の実行は、検索する文字列を「ファイル名絞込」欄の下に入力し、「検索実行」ボタンをクリックすると「マッチした箇所」欄にファイル名、行、列、文字列等のリストが表示され、下面のプレビュー画面で、検索した内容が確認できる。画面中央部の「外部ビューア起動ボタン」をクリックすると、メニューが現れ（図 1）、「エクスプローラで選択」をクリックすると、検索されたテキストファイルが指定されてくる（図 2）。このフォルダーには、拡張子が異なる同じ名前の画像ファイルが存在し、エクスプ
ローラを名前昇順か降順にセットしておくと、画像ファイルは、テキストファイルの近傍（この例では一つ上）に表示されてくる。これにより画像ファイルは、TresGrep により検索され、指定されたとほぼ見なすことができる。又、画像ファイルを結合して一つのファイルにした場合、テキストファイルの連番号は、画像ファイルのページ番号に対応することになる。
５．OpenCV（Open Source Computer Vision Library）を用いた納品書画像の処理
Tesseract は、高度な文字認識の能力を備えたプログラムであるが、認識精度を高めるためには、処理する画像への制約も検討する必要がある。制約として、まず、納品書画像は、文字だけで構成されているとする。又、文字等の重なりはないものとする。前者を実現するために、画像から罫線や下線等を抽出し消去する必要がある。重なりは、印影により発生することが多くなるために、印影を抽出する必要がある。これらの処理には、画像処理技術が必要であり、本報告では、フリーソフトの OpenCV の利用を検討している。OpenCV は、Intel 社で開発された画像処理ライブラリである。コンパイラ等の統合開発環境(IDE)には、フリーソフトの Visual Studio Community を用いる。現在、罫線の抽出を行っている。
６．おわりにペーパーレス化とフリーソフトを用いた画像の処理について述べた。自動読取りでは、更に多くの認識実験を行う必要がある。又、Tesseract と OpenCV の結合を検討する必要がある。
参考文献
[1]

長谷川浩史：”ペーパーレス化と高速検索と自動読取り”、令和 3 年度機器・分析技術研究会 in 山口宇部オンラ
イン発表予稿集、pp48-49、2021

図 1 外部ビューア起動ボタン

図 2 TresGrep による画像の指定

48