但是,由于xPDF可以将 PDF 转换为 PNG,因此我跳过了 ImageMagick 转换步骤以及函数(i)过程的错误逻辑,因为 pdftopng 需要根名称,在这种情况下为“ocrbook-000001.png”,并在查找原始 PDF 文件名的 PNG 时引发错误。
我现在的问题是让 Tesseract 对我的 PNG 文件做任何事情。我得到错误:
Tesseract Open Source OCR Engine v3.05.01 with Leptonica
Error in pixCreateNoInit: pix_malloc fail for data
Error in pixCreate: pixd not made
Error in pixReadStreamPng: pix not made
Error in pixReadStream: png: no pix returned
Error in pixRead: pix not read
Error during processing.
这是我的代码:
lapply(myfiles, function(i){
shell(shQuote(paste0("pdftopng -f 1 -l 10 -r 600 ", i, " ocrbook")))
mypngs <- list.files(path = dest, pattern = "png", full.names = TRUE)
lapply(mypngs, function(z){
shell(shQuote(paste0("tesseract ", z, " out")))
file.remove(paste0(z))
})
})