pdfbeads будет выводить только одну страницу
Следуя инструкциям на этой странице
Я беру документ 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 работает.
Вот ссылка на файлы, скопированные / сгенерированные
Какие-либо предложения?
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.
pdfbeads ожидает одностраничный файл TIFF и одностраничный html-файл hOCR для каждой страницы в документе. Если он может найти только один файл TIFF, он выведет только одну страницу.
Разделить файл TIFF с помощью tiffsplit
, hocrsplit
Из hocr-tools можно было бы разбить ваш html. Я никогда не нуждался в этом.
Я не буду беспокоиться о предупреждении iconv. Ruby всегда делает это с помощью pdfbeads. Причина здесь: предупреждение об устаревании iconv с ruby 1.9.3 - переполнение стека