Як створити PDF зі сканованими сторінками, але текстом, що вибирається?


32

Сьогодні я отримав PDF від нашого постачальника, і він містив кілька роздрукованих та відсканованих сторінок з підписами тощо. Я відкрив його в Acrobat Reader DC. Але на мій подив текст із очевидно відсканованих зображень можна було обрати та скопіювати як текст. Дивіться скріншот:

PDF сканується текстом, що вибирається

Очевидно, за цим стоїть деякий OCR, оскільки скопійований текст містить помилки. Але як це можливо? Я ніколи цього не бачив, як це можна створити?


4
Такі пакети, як github.com/gkovacs/pdfocr, дозволяють це статися для вже існуючих зображень PDFS
exussum

Чим це відрізняється від результатів, отриманих багатьма документами Batch-OCR ?
Дмитро Григор’єв

@DmitryGrigoryev Я ніколи раніше не бачив такого типу PDF, тому я запитав, що це таке. Про прошивку принтера OCR або OCRMyPDF у відповідях немає нічого, і питання, і відповіді дуже різні. Я не бачу нічого повторюваного, крім того, що обидва питання стосуються OCR та PDF-файлів.
Vojtěch Dohnal

Ну, я ніколи не бачив PDF OCR, який відрізняється від того, що ви розмістили, тому ваше питання мені здається дивним.
Дмитро Григор’єв

Відповіді:


53

Це (всупереч деяким іншим відповідям тут), швидше за все, нічого спільного з Acrobat.

Більшість (усіх ?!) професійних сканерів документів та більшість напівпрофесійних автоматично виконуватимуть OCR, коли ви виберете "Зберегти як PDF" та встановите прапорець "Пошук" у налаштуваннях. Здешевлені моделі "споживчого класу" будуть робити OCR на доданому ПК, типові мережеві сканери роблять це всередині.

Слово "для пошуку" означає не більше, і не менше, ніж сканер виконає OCR, потім генерує сторінку зі сканованими растровими картами всередині і накладає їх невидимими символами з OCR, кожен розміщений над відповідним символом у растровій карті.

Таким чином, ви можете шукати, а також вибирати, копіювати та вставляти "растрову карту" так, ніби за допомогою магії. Однак це зовсім не магія. Насправді ви просто копіюєте невидимий текст.

Сканер також може зробити додаткову магію, наприклад складання великого зображення з багатьох невеликих плиток, які також повторно використовуються. Це призводить до набагато меншого розміру документа, ніж насправді це було б можливо, але також може призвести до кумедних сюрпризів (не настільки смішних, якщо вони трапляться з вами!), Таких як Xerox змінює історію ваших рахунків , за іронією іронії, навіть коли OCR не робиться, залежно на прошивку.


Так, це, швидше за все, як вони його створили, я дуже сумніваюся, що вони використовують повний Adobe Acrobat.
Vojtěch Dohnal

Ми зробили це, розмістивши весь текст за відсканованим зображенням там, де OCR повідомив, де він знайшов кожен текстовий вузол.
Thorbjørn Ravn Andersen

10

Але як це можливо?

В основному програма виконує OCR у вхідному файлі, а потім розміщує невидимий шар тексту над малюнком. Крім того, він також може розмістити під малюнком видимий шар тексту , даючи той же ефект.

Коли ви вибираєте щось, зображення не має значення, оскільки вибирається текстовий шар.

як це можна створити?

Існує кілька способів. Зважаючи на те, що Acrobat вже запропоновано, я додам кілька безкоштовних варіантів (і на щастя, ви не змушені мати Windows для їх використання).

PDF-XChange Viewer

Це рідна програма Windows від Tracker Software . Безкоштовна версія працює добре під Wine, якщо ви використовуєте 32-бітне видання з 32-бітовим префіксом, тому ви можете використовувати його в Windows, macOS та Linux. В останніх двох випадках вам знадобиться PlayOnMac або PlayOnLinux відповідно.

Ось картинка з цієї відповіді, яку я залишив у Ask Ubuntu:

Знімок екрана PDF-XChange Viewer під Wine

OCRmyPDF

Це багатоплатформна програма, написана на Python , заснована на Ghostscript, Tesseract та Unpaper. З документів:

Що робить OCRmyPDF

OCRmyPDF аналізує кожну сторінку PDF-файлу, щоб визначити кольоровий простір та роздільну здатність (DPI), необхідні для збору всієї інформації на цій сторінці без втрати вмісту. Він використовує Ghostscript для растеризації сторінки, а потім виконує OCR на растрованому зображенні для створення "шару" OCR. Потім шар прищеплюється до оригінального PDF.

Його можна легко встановити на похідні Debian і Ubuntu:

apt-get install ocrmypdf

Або на macOS:

brew tap jbarlow83/ocrmypdf
brew install ocrmypdf

У Windows вам потрібно буде використовувати зображення Docker. Детальні відомості див. У офіційних документах.

Використання дуже просте, і я пропоную використовувати для отримання кращих результатів необов’язкові -d(чисті) та -c(чисті) параметри. Це випрямить кожну сторінку та очистить маленькі точки / недосконалості перед запуском процесу OCR.

Ви можете (і повинні) надати мову -l.

Ось приклад із цього перекошеного документа, написаного італійською мовою:

Приклад для OCRmyPDF

Я використовував команду:

ocrmypdf -l ita -d -c input.pdf output.pdf

Інтернет-інструменти

Є кілька онлайн-інструментів, які роблять те саме. Помітно, що PDF24 розміщує безкоштовну веб-версію OCRmyPDF, яку можна використовувати без обмежень.

Дивись також:


Дякую за цю відповідь, я спробував OCRMyPDF, і він спрацював дуже добре, але, на жаль, мовна підтримка, яка мені потрібна, ще не дозріла, тому результати ще не були дуже зручними.
Vojtěch Dohnal

@ VojtěchDohnal, яка мова тебе цікавить? Ви встановили відповідний мовний пакет для Tesseract? Перегляньте список тут: macports.org/ports.php?by=name&substr=tesseract-
Андреа Лацаротто

4

Це можливо через функцію Acrobat OCR :

Acrobat може розпізнавати текст у будь-якому файлі PDF або зображення на десятках мов. Все, що вам потрібно зробити, - це відкрити відсканований документ або зображення, яке ви хочете зробити OCR, а потім натисніть синю кнопку Інструменти у верхньому правому куті панелі інструментів. На цій бічній панелі виберіть вкладку Розпізнати текст, а потім натисніть кнопку В цей файл.

...

З розпізнаваним текстом тепер ви можете розмітити PDF за допомогою усіх звичайних інструментів розмітки - ви можете виділити, перекреслити текст тощо . Ви навіть можете скопіювати текст із виявленим форматуванням, хоча це часто менш точно, ніж саме розпізнавання тексту.


Це працює і в Reader? Інші документи для мене так не працюють ...
Vojtěch Dohnal

Я не боюся, але подивіться на цю статтю: pdf.wondershare.com/pdf-software-compitation/…
duDE

3

З веб-сайту Adobe

Розпізнайте текст у відсканованому PDF-файлі

Скануючи паперові документи в PDF, ви дійсно просто фотографуєте ці документи. Це чудово підходить для фотографій та інших друкованих зображень, але що робити, якщо у вас є документ на 200 сторінок, у якому вам потрібно знайти певне слово чи фразу? Використовуйте Acrobat, щоб розпізнати текст у цьому відсканованому файлі, зробивши вміст тексту пошуковим та зручним.

  1. Відкривши сканований документ у Acrobat, відкрийте панель інструментів та розгорніть панель розпізнавання тексту. Якщо ви не бачите "Розпізнавання тексту" на панелі "Інструменти", ви можете додати його, вибравши меню у верхньому правому куті (зображення внизу - див. Куди вказує ця маленька червона стрілка? Клацніть туди).
  2. Клацніть на "У цьому файлі", щоб сканувати відкритий документ. Ви можете просто прийняти налаштування за замовчуванням і натиснути “Гаразд”, коли з’явиться вікно Розпізнати текст. Acrobat перетворить зображення у корисний текст; щоб перевірити це, просто спробуйте відредагувати слово або речення на панелі «Зміст вмісту». Хіба це не дивовижно!

Дякую, але я щойно відкрив PDF у Reader DC і нічого особливого не зробив, інші документи PDF зі сканованими сторінками не працюють таким чином автоматично ...
Vojtěch Dohnal

5
OCR було зроблено до того, як ви отримали файл, коли текст розпізнається, він зберігається разом із pdf.
Máté Juhász

@ VojtěchDohnal Вам, мабуть, потрібен повний акробат, а не лише читач
Thorbjørn Ravn Andersen
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.