CADOCR 2024/11/23, 24

と言っても、高価な OCR ではなくて、ソースネクスト「いきなり PDF to Data」を使います。
タイトルどおり CAD (に限らず画面)上の文字を OCR するときは、ソースネクスト「瞬間テキスト 3」を使うとクリップボードにコピーできます。


元の PDF は、汎用 CAD から PDF として印刷された図面です。
それを PDFIMPORT コマンドでインポートしています。
線分(ポリライン)、円、円弧はそのまま使えますが、SHX フォントは、文字列ではなくポリラインに変換されるため、編集出来なくなっています。

この PDF を 透明テキスト付きの PDF に変換します。結果、OCR 文字と ベクトルデータの無い PDF イメージの PDF が作成されます。
回転している図面は、[高度な設定...] ボタンから 90°毎で回転できます。


下の画像が、「いきなり PDF to Data」で OCR した PDF を PDFIMPORT した状態です。ベクトルデータは無くなり、文字だけが挿入されます。
元が SHX フォントのため誤認識が多々ありますが、それっぽい文字になっています。
見た目は良い感じですが、実際は1文字ごとに分断されているので、結合しないと文字列として編集できない状態です。

下の画像は、2つの尺度を正確に合わせて重ね合わせた状態で、赤色が OCR 文字です。
文字の位置がほぼ合っていることが分かります。
文字の結合、訂正、文字高さ、幅の再現、認識されていない文字の作成、対象のポリラインの削除。
... 等々を考えると、手間かかるだけでそうメリットがないように思います。
結論としては、使えそうで使えない。かえって邪魔。文字列ごとに確実に TEXT を作成していくのが良いみたいです。


... で、それ用の LISP を作ってみました。
http://www.izawa-web.com/lsp/exptx.lsp

EXPTX.lsp をダウンロード。(右クリックで名前を付けて保存。拡張子 .txt が付いている場合はそれを削除)
または、http://izawa-web.com/pdfaid/pdfaid1.html の 最新版 zip に同梱されています。

CAD 上にドラッグ&ドロップすると、ロードされます。

予め、現在の画層、色、文字スタイルを確認、変更しておきます。
現在の色を水色にしておくと、作成済が分かりやすいです
文字スタイルを対象の SHX フォントに合わせておくと、ほぼ同じ位置に作成されます。
コマンド名は、EXPTX です。

コマンドラインに、
exptx[Enter]
|縦文字(90°回転)? [Yes(Y)/No(N)] < No > :
横書きであれば、そのまま[Enter]
|文字基点を入力 [Left(L)/Center(c)/Right(R)] < Left > : C[Enter]
作成する文字の文字基点を入力します。ML、MC、MR のいずれかになります。

これ以降、ポリライン化された SHX フォントと OCR 文字の選択の繰り返しになります。
同じ文字角度、文字基点ごとに分けて作業します。
---------------------------------
|図形を選択:
ポリライン化された SHX フォントと OCR 文字を選択し[Enter]
OCR 文字が無いときは、ポリラインだけを選択します。
近くにある他の SHX フォントのポリラインを選択すると、文字高さが変わってしまうので、注意してください。

|作成文字を入力 <水井戸> :
このままで良ければ[Enter]
変更するときは、作成する文字を入力し[Enter]
現在の画層、現在の文字色で TEXT が作成され、選択したポリラインと OCR 文字は削除されます。

|赤色に変更しますか? [Yes(Y)/No(N)] < No > :
後で文字を訂正する場合は、Y[Enter]
そのままで良いときは、[Enter]のみ。
不要であれば、LISP を変更(その部分をコメントアウト)してください。[Enter]が1回少なくなります。
---------------------------------
以上の繰り返しになります。

|図形を選択:
で、何も選択せずに [Enter]すると、終了します。

OCR 文字が近くにある場合は、[Enter] を押すだけなので、結構楽です。
文字数の少ない文字列は、その都度正しい文字を入力したほうが速いです。
長い文字を入力するのは間違いやすく大変なので、後から ED (DDEDIT) コマンドで修正したほうが良いです。

下の画像では、水色=作成済、赤色=後から修正を行う文字、白色は未処理です。
フォントを対象のフォントに合わせているので、色が変わっているだけに見えますが、ポリラインが TEXT に変わっています。


使う機会は あまり無いと思いますが、こんな感じで使えます。


CAD での印刷前に、TrueType フォントに変えておくと、そのまま PDF ファイルに文字として保存されます。
こちらの環境 (BricsCAD V20 + PDF Factory) では、文字幅の設定が無視され、1.0 になり、文字列は1文字ずつに分断されました。
分断された TEXT、MTEXT の結合には、http://izawa-web.com/pdfaid/pdfaid1.html 同梱 LISP の TXLCAT、TXGCAT コマンドが使えます。

少し試した感じでは、出力先を "PDF Factory" ではなく "Print As PDF.pc3" にすると、英数字は分断されずに文字列として出力されますが、
日本語フォントは出力されませんでした。

BricsCAD V20 で TrueType フォントの出力が優秀だったのは、「PDF 書き出し」 EXPORTPDF コマンドです。
対象が図面全体になりますが、文字幅、傾斜角度も再現され、文字列も分断されることなく編集可能な文字列になりました。
後から文字列の検索が可能な PDF として残す必要がある場合は、この方法が最適だと思います。
他の CAD の EXPORTPDF コマンドも同様です。

PDF 内で選択可能、検索可能な文字を AutoCAD で作成する方法については、こちら↓が参考になるかと思います。
PDF 内で選択可能および検索可能な文字を AutoCAD で作成する方法


2024/11/23, 24
f.izawa