install.packages(“pdftools”)
install.packages("tesseract")接下来我们直接通过实例来看下包的相关功能:
##pdf文件的载入
pdf_file <- file.path(R.home("doc"),"NEWS.pdf")
##基础信息获取
info <-pdf_info(pdf_file)
text <-pdf_text(pdf_file)
data <-pdf_data(pdf_file)##读取pdf中每个文本的坐标及对应的文本
fonts <-pdf_fonts(pdf_file)##字体
files <-pdf_attachments(pdf_file)##附件
toc <-pdf_toc(pdf_file)##获取目录中的标题
pagesize <-pdf_pagesize(pdf_file)##每个页面的大小尺寸
pdfpage= pdf_length(pdf_file)##获取文档的页数
spilt=pdf_split(pdf_file)##分割pdf的每一页
psubset=pdf_subset(pdf_file,pages=1)#获取pdf文件的指定页面并保存###pdf转化为图像
##单页转化
bitmap=pdf_render_page(pdf_file,page=1)##读取一页
png::writePNG(bitmap,"page.png")
##多页转化
pdf_convert(pdf_file,format="jpeg",pages = 1:3)
##pdf图像中文字的提取
library(tesseract)
pdf_ocr_text(pdf_file)##提取pdf图像文档,并把每一页的图像单独存储
pdf_ocr_data(pdf_file)#获取pdf图像中各坐标的文本信息
至此对pdf文档进行文本的提取过程基本完成。当然这里有一个漏洞那就是没有开发提取pdf中表格的功能,为此有团队开发了对应的包pdftables。但是这个地方需要在https://pdftables.com/注册ID才可以应用提取表格功能,并且有页数限制。另外还有就是从pdf中提取图像的工具也并未发现。为此还是希望大牛进行后期的扩展。