pdfbeads 只會輸出單頁

pdfbeads 只會輸出單頁

請依照以下指示

我拿了一份 djvu 文檔,在 djvulibre 中打開它來檢查是否有任何損壞的跡象,結果檢查得很好。將其複製到我的測試資料夾並重命名

執行

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

ddjvu -format=tiff test.djvu test.tif

繼續使用 evince 開啟 tif,它會檢查所有頁面是否可見。

運行 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.hocrsplithocr工具也許能夠分割你的html。我自己從來不需要使用它。

我不會擔心 iconv 警告。 Ruby 總是使用 pdfbeads 來做到這一點。原因在這裡:ruby 1.9.3 的 iconv 棄用警告 - 程式碼日誌

答案2

我不再記得我是否對您上面發布的說明進行了以下修改,或者我是否在其他地方找到了它們(儘管谷歌搜索沒有給出相關結果),以下是我已經使用了好幾個月的內容將整個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。

相關內容