pdfbeads gibt nur eine einzelne Seite aus

pdfbeads gibt nur eine einzelne Seite aus

Befolgen Sie die Anweisungen vonDasSeite

Ich nehme ein DjVu-Dokument, überprüfe es auf Anzeichen von Beschädigungen, indem ich es in DjVulibre öffne, und es ist in Ordnung. Kopiere es in meinen Testordner und benenne es um

Ausführen

djvu2hocr test.djvu | sed 's/ocrx/ocr/g' > test.html

ddjvu -format=tiff test.djvu test.tif

Öffnen Sie das TIF mit Evince und überprüfen Sie, ob alle Seiten angezeigt werden können.

Führen Sie pdfbeads aus

pdfbeads -o test.pdf

und erhalte die folgende Fehlermeldung:

/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

Das PDF lässt sich problemlos öffnen, besteht aber nur aus einer einzelnen Seite und die OCR funktioniert.

Hier ist ein Link zu den kopierten/generierten Dateien

Irgendwelche Vorschläge?

Antwort1

pdfbeads erwartet für jede Seite im Dokument eine einseitige TIFF-Datei und eine einseitige HTML-hOCR-Datei. Wenn nur eine TIFF-Datei gefunden wird, wird nur eine Seite ausgegeben.

Teilen Sie die TIFF-Datei mit tiffsplit. hocrsplitfromHocr-Werkzeugekönnte Ihr HTML aufteilen. Ich selbst musste es nie verwenden.

Ich würde mir wegen der Iconv-Warnung keine Sorgen machen. Ruby macht das immer mit pdfbeads. Grund hier:iconv-Veraltungswarnung mit Ruby 1.9.3 - Stack Overflow

Antwort2

Ich kann mich nicht mehr erinnern, ob ich die folgende Änderung an den Anweisungen, die Sie oben gepostet haben, selbst vorgenommen habe oder ob ich sie irgendwo anders gefunden habe (eine Google-Suche liefert allerdings keine relevanten Ergebnisse). Folgendes verwende ich nun schon seit vielen Monaten, um ganze DJVU-Dateien in das PDF-Format zu konvertieren.

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};

Dadurch wird für jede Seite ein separates TIFF (und die entsprechende HTML-Datei) erstellt und dann alles mithilfe von pdfbeads zusammengeführt. Beachten Sie, dass Sie die Instanzen von %04 in einen größeren Wert wie %05 ändern müssen, wenn Ihr DJVU aus irgendeinem Grund über 9999 Seiten verfügt.

verwandte Informationen