使用 R 中的 Tesseract 在 PDF 上进行 OCR,写入 TIFF - 错误
OCR on PDF with Tesseract in R, writing TIFF - error
对于一个小项目,我试图从不包含数据的扫描 PDF 文件中读取一些数据。
按照 Tesseract 包的说明,下面的代码应该可以工作。
不幸的是它触发了一个错误。
Error in tiff::writeTIFF(bitmap, "page.tiff") :
INTEGER() can only be applied to a 'integer', not a '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)
也许使用 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。
对于一个小项目,我试图从不包含数据的扫描 PDF 文件中读取一些数据。
按照 Tesseract 包的说明,下面的代码应该可以工作。 不幸的是它触发了一个错误。
Error in tiff::writeTIFF(bitmap, "page.tiff") : INTEGER() can only be applied to a 'integer', not a '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)
也许使用 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。