Якщо ви скануєте сторінку з текстом у 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
Тепер ми можемо легко знайти верхній рядок (і у кожному файлі є лише одне виникнення).
Переключимо це на один із видимих режимів візуалізації тексту. Загалом ми можемо вибрати один з цих 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, мені це не подобається, оскільки ширина лінії за замовчуванням занадто товста на мій смак. Також колір контуру контуру - чорний (за замовчуванням); Я вважаю за краще червоний, щоб мати контраст із оригінально відсканованими формами. Тому я додаю деякий код в передній частині цього рядка, який встановлює ширину рядка на чверть пункту:
.25 w
та деякі інші, щоб встановити колір обведення червоним:
1 0 0 RG
Тепер повний рядок звучить так:
.25 w 1 0 0 RG 1 Tr
Це все.
Зауважте, що наша маленька маніпуляція пошкодила файл, оскільки його "TOC" (в технічному відношенні: його xref
таблиця) тепер більше не буде дійсним. Acrobat Reader або Acrobat Professional все-таки відкриють його (навіть не поскаржившись) і мовчки "відновлять" розділ файлу xref. Інші переглядачі PDF можуть відхилити файл, але поки що нам все одно ...
Ось скріншоти результату:
(Перший знімок екрана збільшується до ширини вікна.)
(Другий знімок екрана збільшується на 800%.)
Червоні контури - це відсканований текст, який стає видимим зараз, як ми цього хотіли.
Я провів ту ж процедуру, що описана вище для обох файлів from_abbyy.pdf та after_ghostscript.pdf . Я відкрив обидва результати у двох різних екземплярах Acrobat Reader. Якщо ми зробимо обидва масштаби на одне і те ж значення і максимізуємо обидва вікна, тоді легко переключити подання між обома файлами за допомогою [alt]+[tab]
. Це хороший спосіб виявити навіть найтонші відмінності візуалізації між двома файлами PDF.
Мій результат такий: між входом Ghostscript (v9.02) та його результатом для цього файлу немає жодного пікселя. Але є велика різниця, якщо ви хочете скопіювати текст 'пасти' ...