Я ищу автономный инструмент с поддержкой сценариев, который делает доступным для поиска существующий файл PDF, запустив на нем OCR, заменив исходный файл без возможности поиска на версию с возможностью поиска, и может запускаться без присмотра.
Например, www.pdfscannerapp.com - делает именно то, что мне нужно, но это только графический интерфейс - не поддерживает скрипты.
Мне известно, что Evernote делает файлы PDF доступными для поиска, но они остаются доступными для поиска только в Evernote.
Я не ищу идеальное распознавание текста, даже умеренно приемлемое распознавание текста подходит, но я бы предпочел небольшую утилиту, а не громоздкий пакет программного обеспечения.
(Мне известен похожий, но другой вопрос по AD: в поисках программного обеспечения для сканирования или преобразования в PDF с возможностью поиска и подписью - однако мне не нужно подписывать или заполнять PDF-файлы, и мое требование заключается в том, чтобы решение было пригодным для сценариев)
РЕДАКТИРОВАТЬ:
1) Несколько утилит позволяют извлекать структурированный текст, однако для того, чтобы его можно было извлечь, текст должен быть там; Я в основном имею в виду PDF-файлы, которые являются растровыми растровыми изображениями, как в случае с обычными PDF-файлами, созданными сканерами.
2) Я не обязательно ищу бесплатное решение, и я был бы более чем рад заплатить за хорошую утилиту, которая просто делает то, что мне нужно, но я не ищу громоздких приложений с миллионом функций, которые включают функцию OCR, но чья стоимость не оправдывает покупку их только для функциональности OCR.
3) Как указано выше, я не ищу идеальное OCR, просто умеренно приемлемое OCR. К сожалению, по моему опыту, tesseract действительно ниже этого порога. Я определяю «умеренно приемлемый» OCR, который может, скажем, OCR оплатить коммунальные услуги, чтобы хотя бы номер счета (номер клиента) распознавался правильно.
РЕДАКТИРОВАТЬ: «сценарий» или «автоматизируемый», то есть, может быть запущен автоматически и запускаться без участия человека.
Ответы:
Мне не совсем понятно, каковы ваши требования для возможности «написать» это из «командной строки».
Если вы говорите об автоматизации, то это возможно с любым количеством утилит.
ABBYY FineReader Express + Клавиатура Maestro + Хейзел
Я использую ABBYY FineReader Express + Keyboard Maestro + Hazel так:
Хейзел контролирует данную папку для любых новых PDF-файлов
если PDF-файл найден, он открывается в «ABBYY FineReader Express»
Затем Keyboard Maestro автоматизирует процесс преобразования PDF-файла в PDF с возможностью поиска (OCR) и сохраняет файл в другом каталоге.
Теперь, если у вас уже нет Hazel и Keyboard Maestro, ваши первоначальные затраты будут расти довольно быстро (хотя я настолько зависим от обоих, что считаю их выгодной сделкой).
PDFPen + AppleScript + Действия с папками
Вы можете сделать что-то подобное с PDFPen (или PDFPenPro) и действиями с папками и AppleScript. См. Https://gist.github.com/prenagha/1355037 для одного примера.
Марко Армент (Marco Arment) провел обзор приложений OCR для Mac и обнаружил, что PDFPen показал отличные результаты и его легко автоматизировать.
Поиск в Google по запросу "PDFpen applecript OCR" найдет несколько альтернатив.
источник
То, что вы хотите, это Tesseract OCR. Это OCR с открытым исходным кодом, который поддерживается Google и поддерживает различные платформы. Он также имеет собственный интерфейс командной строки. Это именно то, что вы ищете и доступно из проекта портов Mac, а также homebrew .
Домашняя страница проекта: https://github.com/tesseract-ocr
Как установить на OS X: http://blog.matt-swain.com/post/26419042500/install-tesseract-ocr-on-mac-os-x-lion
Пример использования:
tesseract -l eng input.pdf output
источник
Отказ от ответственности: НЕ РЕШЕНИЕ OCR (но этот ответ все еще полезен для извлечения текста из PDF)
Существует проект Apache Software Foundation под названием Apache Tika :
Они поддерживают извлечение текста PDF с помощью PDFBox :
И недавно они также добавили поддержку OCR (через Tesserac)
Для текстового решения PDFBox позволяет очень просто извлечь текст из PDF:
pdfbox-app
пакет с https://pdfbox.apache.org/downloads.htmlзапустите
ExtractText
команду на нем:java -jar pdfbox-app-xyzjar ExtractText myNiceBook.pdf myNiceBook.txt
Он также имеет несколько других приятных опций, которые вы можете увидеть в документации ExtractText .
источник
Я бы порекомендовал DEVONThink Pro Office . Это отличное приложение и имеет очень хорошую поддержку AppleScript. Увы, только версия Pro Office имеет возможность распознавания текста, поэтому вам придется выложить £ 100 ($ 150).
Было бы излишним, если вы используете его только для распознавания сценариев, но это очень хорошее приложение.
[править] - ах, просто перечитайте свой пост - это определенно будет излишним!
Если вы просто хотите получить OCR из оболочки, вы можете попробовать поговорить с ABBY, чей движок DEVON лицензирует:
http://www.abbyy-developers.com/en:tech:samples:commandline_ocr
источник
Вы можете сделать свой существующий PDF доступным для поиска, преобразовав его в текстовый файл. Для этого вам понадобятся как минимум Imagemagick , Ghostscript (для преобразования PDF) и Tesseract OCR.
Пример командной строки:
Это может быть расширено до ваших потребностей.
Чтобы установить необходимые инструменты, на OSX вы можете установить его через Homebrew :
На Linux используйте
apt-get
илиyum
вместоbrew
.Для получения дополнительных инструментов OCR, проверьте: OCR в системах Linux
Связанный:
источник
OCRmyPDF - это решение, которое легко реализуемо и обеспечивает выходной pdf с тем же качеством входного файла и приемлемым размером:
https://github.com/jbarlow83/OCRmyPDF
источник
Stackoverflow имеет связанные вопросы при разборе PDF, охватывающие такие вещи, как PDFBox и Apache TIKA, которые использует PDFBox. Рубиновый код ниже извлекает записи из PDF. Вы должны иметь достаточно хорошее разрешение для этого типа кодов, чтобы работать надежно. Поэтому приобретите достаточно хороший сканер с большим разрешением, а затем посмотрите, работает ли какое-либо программное обеспечение.
Примеры
ТАК темы
/programming/5217783/pdf-parse-to-text-in-java
/programming/8149179/alternative-to-tika-pdfbox-for-parsing-pdf-in-solr-any-version-later-than-1-4
/programming/320621/ruby-pdf-parsing-gem-library
/programming/15186740/haskell-parsing-reading-content-of-pdf-files
[Редактировать]
Я не уверен, понял ли я вашу проблему сейчас. Вы хотите добавить слой OCR к различным материалам, таким как случайные фотографии, снимки экрана, PDF-файлы без слоя OCR и т. Д.? Я не знаю решения, но я уверен, что кто-то знает, поэтому задал конкретный вопрос, как это сделать с Automator и некоторым программным обеспечением OCR:
Automator-скрипт с OCR-программным обеспечением для автоматического добавления OCR в материал?
источник
Для этого типа самостоятельного применения я большой поклонник Хейзел.
Это позволяет чрезвычайно легко создавать сценарии действий без необходимости изучать более ориентированный на командную строку инструмент, такой как perl или python, и в сочетании с выбранным вами механизмом OCR (мой в настоящее время PDF Pen Pro), у вас не должно возникнуть проблем при обработке файлов с минимальным возня.
Оба из них являются платным программным обеспечением, но полезность обоих далеко выходит за рамки одного этого случая. В моей ситуации, с трудом, связанным с оцифровкой моих прошлых отсканированных записей (и текущей бумаги), цена этого намного превышает время, которое я потратил бы на программирование этого в другом месте, и теперь, когда я владею обоими инструментами, я могу выполнять много других задач с их.
источник
PDFScannerApp имеет неофициальную поддержку сценариев. Свяжитесь с автором для действия Automator.
источник
Я использую Adobe Acrobat для OCR в пакетном режиме. Мой дуплексный сканер может распознавать после сканирования, но технология распознавания текста в acrobat, на мой взгляд, более точная. Я просто указываю на папку, в которой нет OCR, а затем Acrobat сохраняет PDF как документ с возможностью поиска, включая текстовый слой. Если бы я хотел OCR через командную строку, я не знаю способа, но я могу автоматизировать завершение GUI с помощью Autohotkey. Не такой надежный и быстрый, как командная строка, но он выполняет свою работу после настройки действия рабочего процесса для минимизации взаимодействия с графическим интерфейсом.
Для Mac скрипт Apple делает то же, что и Autohotkey на ПК, хотя я еще не пробовал на своем Mac.
Горячая клавиша Auto поставляется с рекордером, поэтому большая часть написания сценария - это ужин для вас с небольшим количеством редактирования для уточнения и, возможно, цикличного выполнения, если вы этого хотите.
Я экспериментировал с распознаванием изображений, но еще не полностью автоматизировал процесс с помощью acrobat. Командная строка идеальна, но не нашла качественного механизма распознавания текста, который бы превосходил acrobat, поэтому сейчас я использую acrobat.
источник
Я наткнулся на это недавно: http://ocrkit.com/faq.html
Вы должны заплатить через 14 дней, хотя
источник
Я получил высококачественное преобразование Drag & Drop, работающее с помощью Docker.
Если ты:
"as arguments"
/bin/bash
текст сценария:Тогда вам следует перетаскивать PDF-файлы на него, и вы получите PDF-файл с аналогичным именем, к которому добавляется «-ocr».
Я полагаю, что его можно легко изменить, чтобы он возвращал файл в Automator для копирования в другое место. Подробнее о пакете докера OCRmyPDF. и основной инструмент (также упоминается в другом ответе).
Вы можете проверить это в самом Automator с действием «Получить указанные элементы Finder» в качестве входных данных для этого.
При первом запуске это займет больше времени, так как потребуется загрузить образы Docker для OCRmyPDF (незаметно). В Терминале вы можете поочередно бежать,
docker pull jbarlow83/ocrmypdf
чтобы ускорить первый запуск. Типичный прогон занимает около 10 секунд на страницу с высоким DPI, но автоматически выводит текст в речь, даже если есть таблицы или диаграммы. Перед распознаванием я обрезаю с помощью Сейды, чтобы убрать лишние слова с других страниц.--force-ocr
Аргумент указывает инструмент игнорировать и перезаписывать более ранние попытки распознавания, которые в моих случаях, как правило лишь частично и бесполезно.источник
OCRKit имеет поддержку AppleScript и интерфейс командной строки. С их страницы помощи :
источник