使用R中的Tesseract在PDF上进行OCR,写入TIFF - 错误

时间:2018-01-05 21:10:19

标签: r pdf ocr tiff

对于一个小项目,我试图从不包含数据的扫描PDF文件中读取一些数据。

按照Tesseract软件包的说明,下面的代码应该有效。 不幸的是,它会触发错误。

  

tiff :: writeTIFF错误(位图," page.tiff"):     INTEGER()只能应用于'整数'而不是' raw'

有关如何解决这个问题的任何线索?

library(pdftools)
library(tiff)
library(tesseract)

# A PDF file with some text
setwd(tempdir())
news <- file.path(Sys.getenv("R_DOC_DIR"), "NEWS.pdf")
orig <- pdf_text(news)[1]

# Render pdf to jpeg/tiff image
bitmap <- pdf_render_page(news, dpi = 300)
tiff::writeTIFF(bitmap, "page.tiff")

# Extract text from images
out <- ocr("page.tiff")
cat(out)

1 个答案:

答案 0 :(得分:0)

也许使用pdf_convert()代替pdf_render_page(),即:

library(pdftools)

# A PDF file with some text
setwd(tempdir())
news <- file.path(Sys.getenv("R_DOC_DIR"), "NEWS.pdf")
orig <- pdf_text(news)[1]

# Render pdf to jpeg/tiff image
pdf_convert(news, format = "tiff")

这会在目录中生成多个tiff,因此您应该添加一个代码来逐个读取和处理所有这些tiff。