Как преобразовать отсканированный PDF в PDF с текстом
Я отсканировал около 80 страниц в оттенки серого PDF (формат изображения). Конечный размер файла составляет около 70 МБ, что очень много.
Сейчас я ищу способ преобразования PDF-файла на основе изображений в градациях серого в простой PDF-файл на основе черно-белого текста.
Я сделал много попыток с gs
но безуспешно (восстановление только на несколько процентов). Если у какого-либо эксперта есть идея, пожалуйста, дайте мне знать.
9 ответов
gImageReader - это простой интерфейс GTK+ для tesseract-ocr
,
sudo apt-get install gimagereader tesseract-ocr
извините за немецкий текст
Вы можете попробовать pdfocr:
sudo add-apt-repository ppa:gezakovacs/pdfocr
sudo apt-get update
sudo apt-get install pdfocr
Выполнить синтаксис
pdfocr -i input.pdf -o output.pdf
где input.pdf
это имя входного файла и output.pdf
выходной файл.
По умолчанию используется Tesseract. Чтобы установить это:
sudo apt-get install tesseract-ocr
pdfocr создает встроенный текстовый слой.
pdfsandwich
Он загружает тессеракт и другие при установке. Простое решение за один шаг и может быть написано в сценарии. Можно использовать hocr2pdf
создать простой текстовый PDF, но он не готов к прайм-тайм... пока. По умолчанию используется tesseract и создается "зажатый" pdf: изображение + текст внизу.
Встроенное изображение может быть удалено с помощью таких команд:
gs -o ocr_noIMG.pdf -sDEVICE = pdfwrite -dFILTERIMAGE ocr_image.pdf
но текст скрыт, поэтому он выглядит как пустая страница.
Загрузка PDF в LibreOffice Draw
выставляет текст и изображение может быть удалено вручную.
Я столкнулся с этим вопросом, пытаясь преобразовать отсканированный PDF-файл в PDF-файл с возможностью выбора текста. Позже я нашел pdfsandwich , с которым у меня были очень хорошие результаты, и я удивлен, что он до сих пор не упоминается подробно в ответах.
Более подробная информация доступна здесь: http://www.tobias-elze.de/pdfsandwich/
Он использует спонсируемую Google библиотеку оптического распознавания символов tesseract за кулисами, но упрощает этапы обработки и создания PDF.
По состоянию на декабрь 2020 года он включен в официальные репозитории Ubuntu. Установить:
sudo apt update && sudo apt install pdfsandwich
Чтобы обработать PDF-файл с именем input.pdf:
pdfsandwich input.pdf
По умолчанию ваш вывод будет выглядеть как input_ocr.pdf.
В Ubuntu 20.04 он изначально не работал из-за проблемы с разрешениями Ghostscript. Это можно обойти, добавив XML-комментарии (
<!-- xxx -->
) вокруг следующих строк в /etc/ImageMagick-6/policy.xml (в моем файле это были строки 90–95):
<policy domain="coder" rights="none" pattern="PS" />
<policy domain="coder" rights="none" pattern="PS2" />
<policy domain="coder" rights="none" pattern="PS3" />
<policy domain="coder" rights="none" pattern="EPS" />
<policy domain="coder" rights="none" pattern="PDF" />
<policy domain="coder" rights="none" pattern="XPS" />
Ссылка на это исправление: https://www.itechlounge.net/2020/09/web-imagickexception-attempt-to-perform-an-operation-not-allowed-by-the-security-policy-pdf/
Чтобы прочитать документацию:
man pdfsandwich
Для графического интерфейса, предложенного @AB на Ubuntu 14.04, вы должны следовать:
или в любом случае, добавьте в список хранилища:
sudo add-apt-repository ppa:sandromani/gimagereader
sudo apt-get update
до этого работает:
sudo apt-get install gimagereader
На самом деле лучшее, что я нашел, это команда
pdftotext
sudo apt install poppler-utils
довольно гладко и просто, если вы это сделаете
pdftotext -layout xxx.pdf
вы даже получаете исходный макет, сохраненный в виде текста.
В вашем файле PDF щелкните правой кнопкой мыши и сохраните каждую страницу в виде изображения (или найдите инструмент, который выполняет все страницы автоматически)
Откройте программный центр Ubuntu. Ищите тессеракт. Это найдет YAGF, который вы должны установить. В YAGF щелкните Файл -> Открыть изображение и загрузите изображение. Затем нажмите Файл -> Распознать.
У меня была 100% точность в моем первом тесте.