【Omeka S モジュール紹介】PDFファイルに対してOCRを行うモジュール「Extract Ocr」
概要
PDFファイルに対してOCRを行うOmeka Sのモジュール「Extract Ocr」を紹介します。
インストール
以下のページを参考にします。
本モジュールは、pdftohtmlというコマンドラインツールが必要です。
以下、omeka-s
の部分は、適宜変更してください。
AWS Lightsailを用いた環境では、以下によってインストールできました。
sudo apt install poppler-utils
さらに、omeka-s/config/local.config.php
を編集する必要があります。base_uri
の部分は、導入した環境に応じて変更してください。例:https://omekas.aws.ldas.jp/sandbox/files
'file_store' => [
'local' => [
'base_path' => null, // Or the full path on the server if needed.
'base_uri' => 'https://example.org/files',
],
],
上記の設定後、モジュールをダウンロード、インストールします。
cd omeka-s/modules
git clone https://github.com/symac/Omeka-S-module-ExtractOcr.git ExtractOcr
AWS Lightsailの場合、インストール時に以下のエラーが発生しました。
以下のコマンドにより、omeka-s/files
にtemp
ファイルを作成しました。
cd omeka-s/files
sudo mkdir temp
sudo chown daemon:daemon temp
上記の設定後、無事にインストールできました。
ファイルのアップロード
アイテムの新規登録を行い、メディアとしてPDFファイルをアップロードします。
アイテムの登録後、「Extracting OCR in background.」という文字列が表示され、以下に示すように、右下のメディアの欄に、xmlファイルが追加されます。
新たに作成されたxmlファイルを確認すると、以下のように、テキストが保存されていることが確認できます。
まとめと課題
PDFファイルをアップロードすることにより、同時にOCRテキストを保存することができました。一方、日本語テキストを含むPDFファイルをアップロードしたところ、OCRテキストがうまく作成されませんでした。引き続き検討したいと思います。
また、本モジュールを試した理由として、IIIF-Search
モジュールを用いた、内容検索を試みる予定でしたが、うまくいきませんでした。すこし調査した結果、作成されるxmlファイルのMIMEタイプがtext/xml
となっているのが原因のようでした。IIIF-Search
モジュールはMIMEタイプがapplication/vnd.pdf2xml+xml
となることを期待しており、この部分に齟齬が生じているようでした。この点についても、引き続き調査したいと思います。
以上、本調査結果が他の方の参考になりましたら幸いです。
Discussion