概要

PDFファイルに対してOCRを行うOmeka Sのモジュール「Extract Ocr」を紹介します。

インストール

以下のページを参考にします。

https://omeka.org/s/modules/ExtractOcr/

本モジュールは、pdftohtmlというコマンドラインツールが必要です。

以下、omeka-sの部分は、適宜変更してください。

AWS Lightsailを用いた環境では、以下によってインストールできました。

sudoaptinstallpoppler-utils

さらに、omeka-s/config/local.config.phpを編集する必要があります。base_uriの部分は、導入した環境に応じて変更してください。例:https://omekas.aws.ldas.jp/sandbox/files

'f]i,le_']sl,toocra''elbb''aass==ee>>__pu[[artih''==>>'nhutltlp,s:/eOxramtphlee.fourlgl/fpialtehs'o,ntheserverifneeded.

上記の設定後、モジュールをダウンロード、インストールします。

cgditomcelkoan-es/hmtotdpusl:e/s/github.com/symac/Omeka-S-module-ExtractOcr.gitExtractOcr

AWS Lightsailの場合、インストール時に以下のエラーが発生しました。

以下のコマンドにより、omeka-s/filestempファイルを作成しました。

cssduuddooomemckkhado-iwsrn/ftdiealmeepmson:daemontemp

上記の設定後、無事にインストールできました。

ファイルのアップロード

アイテムの新規登録を行い、メディアとしてPDFファイルをアップロードします。

アイテムの登録後、「Extracting OCR in background.」という文字列が表示され、以下に示すように、右下のメディアの欄に、xmlファイルが追加されます。

新たに作成されたxmlファイルを確認すると、以下のように、テキストが保存されていることが確認できます。

まとめと課題

PDFファイルをアップロードすることにより、同時にOCRテキストを保存することができました。一方、日本語テキストを含むPDFファイルをアップロードしたところ、OCRテキストがうまく作成されませんでした。引き続き検討したいと思います。

また、本モジュールを試した理由として、IIIF-Searchモジュールを用いた、内容検索を試みる予定でしたが、うまくいきませんでした。すこし調査した結果、作成されるxmlファイルのMIMEタイプがtext/xmlとなっているのが原因のようでした。IIIF-SearchモジュールはMIMEタイプがapplication/vnd.pdf2xml+xmlとなることを期待しており、この部分に齟齬が生じているようでした。この点についても、引き続き調査したいと思います。

以上、本調査結果が他の方の参考になりましたら幸いです。