EvernoteのOCRでテキスト化された文章をtxt形式で抽出する方法
Evernoteには、画像ファイルにある文字を文字コードで認識するOCRの機能があります。英語のみならず、日本語にも対応しています。
OCR処理は自動で行われ、画像をアップロードしてしばらくしてから同期を実行すると、画像中の文字を検索できるようになります。
これをテキストファイルに変換する方法が公式には存在していないようなので、手動で行う方法を探しました。
1)ノートをパソコンに保存
対象ノートを右クリック→「ノートのエクスポート」
enex形式で保存します。「ノートタグのエクスポート」にチェックを入れておきます。
2)テキストエディタで開く
正規表現で置換ができるテキストエディタ(例えばEmEditor Free)で開きます。
enexファイルの実体はxmlで、前半に画像ファイルのバイナリが入っています。この部分はいらないのでカットします。
画像データの後に、「<item h="25" w="17" y="58" x="710"<>t w="81">た、</t></item>」といったタグが始まります。これは画像の位置と文字の対応を表しています。
3)文字の前後についたタグを置換で削除
文字以外を削除するために、正規表現で置換します。
EmEditor Freeの場合、メニューバーの検索→置換でダイアログを開きます。
「検索する文字列」には、以下の4行のうちの1行をコピペします。
「置換後の文字列」は空欄のままにします。
「正規表現を使用する」をチェックします。
「すべて置換」で置換を実行します。
4つのすべてを置換し終えると、前後のタグが消え、OCRされた文章が残ります。
あとはテキスト以外の部分を削除すればよいです。
※先に述べたように、OCRされた文字は位置情報で管理されていますので、スペースや改行という概念がありません。
よって置換後は、すべての文字が繋がってしまいます。特に英語やプログラムのソースコードでは悲惨なことになります。
OCR処理は自動で行われ、画像をアップロードしてしばらくしてから同期を実行すると、画像中の文字を検索できるようになります。
これをテキストファイルに変換する方法が公式には存在していないようなので、手動で行う方法を探しました。
1)ノートをパソコンに保存
対象ノートを右クリック→「ノートのエクスポート」
enex形式で保存します。「ノートタグのエクスポート」にチェックを入れておきます。
2)テキストエディタで開く
正規表現で置換ができるテキストエディタ(例えばEmEditor Free)で開きます。
enexファイルの実体はxmlで、前半に画像ファイルのバイナリが入っています。この部分はいらないのでカットします。
画像データの後に、「<item h="25" w="17" y="58" x="710"<>t w="81">た、</t></item>」といったタグが始まります。これは画像の位置と文字の対応を表しています。
3)文字の前後についたタグを置換で削除
文字以外を削除するために、正規表現で置換します。
EmEditor Freeの場合、メニューバーの検索→置換でダイアログを開きます。
「検索する文字列」には、以下の4行のうちの1行をコピペします。
<item[^>]*>
</item>
<t[^>]*>
</t>
「置換後の文字列」は空欄のままにします。
「正規表現を使用する」をチェックします。
「すべて置換」で置換を実行します。
4つのすべてを置換し終えると、前後のタグが消え、OCRされた文章が残ります。
あとはテキスト以外の部分を削除すればよいです。
※先に述べたように、OCRされた文字は位置情報で管理されていますので、スペースや改行という概念がありません。
よって置換後は、すべての文字が繋がってしまいます。特に英語やプログラムのソースコードでは悲惨なことになります。


