pdfbeads выведет только одну страницу

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 работает.

Вот ссылка на скопированные/сгенерированные файлы

Какие-либо предложения?

решение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.

Связанный контент