テキストのあるページをPDFにスキャンしてOCRアプリケーションを実行すると、テキストはページに追加されますが、「テキストレンダリングモード」は非表示に設定されます。そこにはありますが、画面(または印刷された場合は紙)にはレンダリングされません。表示または印刷されるのは、スキャンされた元の画像です。
非表示のテキストを表示するにはどうすればよいですか?
さて、PDFを編集できます...テキストのレンダリングを非表示に設定するPDFコードは次のとおりです。
3 Tr
あなたは、元にこの文字列(まだ)を見つけることができませんfrom_abbyy.pdfずにfrom_ghostscript.pdf PDFの部分が圧縮されているので。したがって、次の方法で可能な限り圧縮を解除しますqpdf
。
qpdf \
--qdf \
from_abbyy.pdf \
qdf--from_abbyy.pdf
qpdf \
--qdf \
after_ghostscript.pdf \
qdf--after_ghostscript.pdf
これで、上記の文字列を簡単に見つけることができます(各ファイルに出現するのは1つだけです)。
これをテキストレンダリングの表示モードのいずれかに切り替えましょう。全体として、次の8つのテキストレンダリングモードから選択できます。
0 - fill glyph shapes
1 - stroke glyph shapes
2 - fill, then stroke glyph shapes
3 - neither fill nor stroke glyph shapes (invisible)
4 - fill and add to path for clipping glyph shapes
5 - stroke glyph shapes and add to path for clipping
6 - fill, then stroke glyph shapes and add path for clipping
7 - add glyph shapes to path for clipping
「塗りつぶし」モードを使用する場合、OCRからのテキストは、下にあるスキャン画像の上におそらくあまりよく見えません。したがって、私は「ストローク」バリアントを好みます。だから私は単に上の行を変更して読みます
1 Tr
この変更されたPDFを見ると、デフォルトの線幅が私の好みには太すぎるので、私はそれが好きではありません。また、アウトラインストロークの色は黒(デフォルト)です。最初にスキャンされた形状とのコントラストを付けるために、赤を好みます。したがって、この行の前にコードを追加して、線幅を4分の1ポイントに設定します。
.25 w
ストロークの色を赤に設定するその他の方法:
1 0 0 RG
完全な行は次のようになります。
.25 w 1 0 0 RG 1 Tr
それで全部です。
"TOC"(技術用語ではそのxref
テーブル)が有効ではなくなったため、少し操作するとファイルが破損したことに注意してください。それでも、Acrobat ReaderまたはAcrobat Professionalはそれを開き(不平を言わずに)、ファイルの外部参照セクションを黙って「修復」します。他のPDFビューアはファイルを拒否する可能性がありますが、現時点では気にしません...
結果の
スクリーンショットは次の
とおりです
(最初のスクリーンショットはウィンドウの幅にズームされています)
(2番目のスクリーンショットは800%にズームされています)。
赤いアウトラインは、スキャンしたテキストが希望どおりに表示されるようになりました。
from_abbyy.pdfとafter_ghostscript.pdfの両方のファイルに対して、上記と同じ手順を実行しました。両方の結果をAcrobat Readerの2つの異なるインスタンスで開きました。両方を同じ値にズームして両方のウィンドウを最大化すると、両方のファイル間でビューを簡単に切り替えることができます[alt]+[tab]
。これは、2つのPDFファイル間の最も細かいレンダリングの違いを明らかにするための良い方法です。
私の結果は次のとおりです。このファイルのGhostscript(v9.02)の入力とその出力の間には、1つのピクセルでも違いはありません。しかし、テキストをコピーアンドペーストしたい場合は、かなり違いがあります...