Я експериментував із використанням Tesseract для OCR моїх PDF-файлів, і це було успішно, особливо з текстами німецької фрактури (готичний друк старого стилю), які такі інструменти, як Adobe Acrobat, не можуть розпізнати належним чином.
Проблема полягає в тому, що вихідні файли Tesseract досить великі, і я хочу їх стиснути після OCRing. Однак, коли я використовую Ghostscript для стискання файлів, вбудований текст OCR він зіпсував. Аналогічно, якщо я використовую ImageMagick, вбудований текст видаляється. Чи є шлях до цього? Теоретично я міг би стискатися перед OCRing, але це призведе до погіршення точності OCR.
Взагалі кажучи, моя мета - мати якісний вбудований OCR текст у мої вихідні PDF-файли, а вкладені зображення сильно стискатись, щоб файли не займали майже стільки місця. Я виявив, що функція Adobe Acrobat Pro "Зберегти як інше> PDF зі зменшеним розміром" сильно стискає зображення, але вкручує будь-який текст OCR'd. Це правда, чи файли були OCR'd в Acrobat, або за допомогою інструменту типу Tesseract.
Ось мій поточний робочий процес, використовуючи зразок pdf .
Розділити PDF на TIFF-файли
pdftk infile.pdf burst output "temp/page_%03d.pdf"
dpi=130 #this is the dpi of the particular file
parallel convert -verbose -density $dpi "{}" -depth 8 -background white -compress zip "{}.tiff" ::: temp/*.pdf
Запустіть Tesseract на кожному з файлів TIFF (див . Вихідний файл зразка )
language=deu_frak
parallel tesseract {} {} -l $language pdf ::: temp/*.tiff
- Коли я поєдную вихідні PDF-файли з Ghostscript, я отримую такий файл, як цей , який вкручує вкладений текст
- Коли я комбінувати їх з Pdftk (наприклад Pdftk темп / *. PDF вихід кіт outfile.pdf`), я отримую файл , як цей , який підтримує вбудований текст , але яким - то чином робить файл більше
- І тоді, коли я намагаюся стиснути цей файл за допомогою ImageMagic (наприклад
convert -density 130x130 -quality 5 -compress jpeg outfile-pdftk.pdf outfile-pdftk-imagemagick.pdf
), він видаляє вбудований текст OCR ( вихід )
Схоже, Tesseract не стискає зображення у вихідному PDF-файлі, чого можна очікувати - його завдання полягає в тому, щоб OCR-файли не стискали вихід.
Наприклад, з початкових файлів OCR'd Tesseract pdfimages -list temp/page_001.pdf.tiff.pdf
виробляється:
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 1067 1508 rgb 3 8 jpeg no 11 0 129 130 318K 6.7%
... що вказує на те, що об'єкт зображення у PDF не точно зберігається оптимально. Він як і раніше в RGB, а не чорно-білий. Після стискання з ImageMagick, навпаки, pdfimages -list
дає:
pdfimages -list outfile-pdftk-imagemagick.pdf
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 1075 1520 gray 1 8 jpeg no 8 0 130 131 54.0K 3.4%
1 1 smask 1075 1520 gray 1 8 image no 8 0 130 131 25.1K 1.6%
2 2 image 1075 1520 gray 1 8 jpeg no 22 0 130 131 59.9K 3.8%
2 3 smask 1075 1520 gray 1 8 image no 22 0 130 131 25.1K 1.6%
3 4 image 1075 1520 gray 1 8 jpeg no 36 0 130 131 45.2K 2.8%
3 5 smask 1075 1520 gray 1 8 image no 36 0 130 131 25.1K 1.6%
4 6 image 1075 1520 gray 1 8 jpeg no 50 0 130 131 62.8K 3.9%
4 7 smask 1075 1520 gray 1 8 image no 50 0 130 131 25.1K 1.6%
5 8 image 1075 1520 gray 1 8 jpeg no 64 0 130 131 61.1K 3.8%
5 9 smask 1075 1520 gray 1 8 image no 64 0 130 131 25.1K 1.6%
6 10 image 1075 1520 gray 1 8 jpeg no 78 0 130 131 63.4K 4.0%
6 11 smask 1075 1520 gray 1 8 image no 78 0 130 131 25.1K 1.6%
7 12 image 1075 1520 gray 1 8 jpeg no 92 0 130 131 65.1K 4.1%
7 13 smask 1075 1520 gray 1 8 image no 92 0 130 131 25.1K 1.6%
8 14 image 1075 1520 gray 1 8 jpeg no 106 0 130 131 61.0K 3.8%
8 15 smask 1075 1520 gray 1 8 image no 106 0 130 131 25.1K 1.6%
9 16 image 1075 1520 gray 1 8 jpeg no 120 0 130 131 66.8K 4.2%
9 17 smask 1075 1520 gray 1 8 image no 120 0 130 131 25.1K 1.6%
10 18 image 1075 1520 gray 1 8 jpeg no 134 0 130 131 65.6K 4.1%
10 19 smask 1075 1520 gray 1 8 image no 134 0 130 131 25.1K 1.6%
Як ми бачимо, зображення займають менше місця, проте вбудований OCR текст був видалений і, як-то, файл менше. Для порівняння, якщо я беру оригінальний файл (без вбудованого OCR тексту) і стискаю його за допомогою програми "Зберегти як інше> PDF зі зменшеним розміром" Adobe Acrobat, я отримаю:
pdfimages -list infile-adobe.pdf
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 1000 1499 gray 1 8 jpx no 38 0 129 129 78.1K 5.3%
2 1 image 1000 1499 gray 1 8 jpx no 3 0 129 129 89.1K 6.1%
3 2 image 1000 1499 gray 1 8 jpx no 6 0 129 129 65.6K 4.5%
4 3 image 1000 1499 gray 1 8 jpx no 9 0 129 129 97.7K 6.7%
5 4 image 1000 1499 gray 1 8 jpx no 12 0 129 129 95.4K 6.5%
6 5 image 1000 1499 gray 1 8 jpx no 15 0 129 129 98.7K 6.7%
7 6 image 1000 1499 gray 1 8 jpx no 18 0 129 129 102K 6.9%
8 7 image 1000 1499 gray 1 8 jpx no 21 0 129 129 94.6K 6.5%
9 8 image 1000 1499 gray 1 8 jpx no 24 0 129 129 105K 7.2%
10 9 image 1000 1499 gray 1 8 jpx no 27 0 129 129 103K 7.1%
... Як ми бачимо, Adobe Acrobat, здається, стискає зображення за допомогою JPEG2000 (JPX), який недоступний для Ghostscript або ImageMagick через проблеми з патентом.
Загалом, будь-які пропозиції щодо стиснення PDF-файлів Tesseract-OCR'd?