Вот один из способов, который потребует некоторых не очень распространенных инструментов:
- ocrodjvu
-
pdfbeads , который имеет свои собственные требования, которые могут быть найдены Google
Мы можем использовать команду djvu2hocr
(из пакета ocrodjvu
) для извлечения скрытого текстового слоя из файла DjVu (он не делает никакого OCR или аналогичного, он просто извлекает текстовый слой с геометрией), то есть:
djvu2hocr -p 10 sample.djvu | sed 's/ocrx/ocr/g' > pg10.html
sed
вмешательство исправляет имена классов в выходном hOCR (это просто простой HTML-файл)
Теперь мы извлекаем страницу DjVu в формат TIFF с помощью:
ddjvu -format=tiff -page=10 sample.djvu pg10.tif
, чтобы мы закончили работу с этой файловой папкой:
sample.djvu
pg10.html
pg10.tif
Здесь участвует pdfbeads
, и мы просто выполняем:
pdfbeads -o pg10.pdf
, то эта отличная программа позаботится обо всем, что находится внутри этой папки (файлы HTML и TIFF с тем же базовым именем) и создает выходной файл PDF с некоторыми побочными продуктами:
sample.djvu
pg10.html
pg10.tif
pg10.jbig2
pg10.pdf
pg10.sym
, который идентичен входному файлу DjVu и имеет текстовый слой внутри:
Резюме комментариев:
Длинные комментарии ниже описывают меньшие изображения с страницы документа DjVu как отдельные объекты, что не так просто, потому что страница документа DjVu сама по себе является единственным изображением с дополнительным текстовым слоем без «информации» о меньших изображениях как отдельных объектах. Если документ DjVu имеет цветные изображения, они обычно помещаются на фоновый слой; в этом случае пользователь может воспользоваться такими инструментами, как ddjvu
(извлечь только фоновый слой) и imagemagick
(auto-crop) для вывода только изображений вместо всего холста, но он не может быть автоматизирован для создания PDF-файла
Другим разумным, но более медленным подходом является использование обычных инструментов графического интерфейса OCR. gscan2pdf
(> 1.0) предлагается как возможный кандидат для ПК Linux