Следуя инструкциям отэтотстраница
Я беру документ djvu, проверяю его на наличие признаков повреждения, открывая его в djvulibre, и он проходит проверку нормально. Копирую его в свою тестовую папку и переименовываю
Выполнять
djvu2hocr test.djvu | sed 's/ocrx/ocr/g' > test.html
ddjvu -format=tiff test.djvu test.tif
Откройте tif-файл с помощью evince, и он проверит, все ли страницы доступны для просмотра.
Запустить pdfbeads
pdfbeads -o test.pdf
и получаем следующую ошибку:
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': iconv will be deprecated in the future, use String#encode instead. Prepared data for processing test.tif Warning: test.tif contains multiple images, but only the first one is going to be used JBIG2 compression complete. pages:1 symbols:2080 log2:12 Processed test.tif
PDF-файл открывается нормально, но он состоит только из одной страницы и OCR работает.
Вот ссылка на скопированные/сгенерированные файлы
Какие-либо предложения?
решение1
pdfbeads ожидает одностраничный файл TIFF и одностраничный файл html hOCR для каждой страницы в документе. Если он может найти только один файл TIFF, он выведет только одну страницу.
Разделить файл TIFF с расширением tiffsplit
. hocrsplit
изhocr-инструментыможет быть, смогу разделить ваш html. Мне никогда не приходилось этим пользоваться.
Я бы не беспокоился о предупреждении iconv. Ruby всегда так делает с pdfbeads. Причина здесь:Предупреждение об устаревании iconv с ruby 1.9.3 - Stack Overflow
решение2
Я уже не помню, написал ли я следующую модификацию к инструкциям, которые вы разместили выше, или нашел их где-то еще (хотя поиск в Google не дал соответствующих результатов), но вот чем я пользуюсь уже много месяцев для преобразования целых файлов djvu в формат pdf.
f='file.djvu'
pg=$(djvused -e 'n' $f)
for i in $(seq 1 $pg)
do
djvu2hocr -p $i $f | sed 's/ocrx/ocr/g' > `printf "pg%04d.html" $i`
ddjvu -format=tiff -page=$i $f `printf "pg%04d.tiff" $i`
done
pdfbeads -o ${f/djvu/pdf};
Это создает отдельный tiff (и соответствующий html-файл) для каждой страницы, а затем объединяет все вместе с помощью pdfbeads. Обратите внимание, что если по какой-то причине ваш djvu содержит более 9999 страниц, вам нужно будет изменить вхождения %04 на что-то большее, например %05.