我试图从一堆 PDF 中挖掘文本,但是当我pdf_text从pdftools包中使用 R 将它们读入时,它产生的文本很奇怪,与 PDF 文件中的实际内容完全不同。Onedrive 链接:https ://1drv.ms/b/s!AlTtlgN0WIa3s2qeq4yrv9fUu-Z6 。这是我使用的示例代码:
library(pdftools)
pdf1 <- pdf_text("https://dl.dropboxusercontent.com/s/308gpdijvnw18mf/2018REQ118030709.pdf?dl=0")
pdf1
## c("(’-*)&&$(&’-’’’’)*,&’$)’&/.\r\n itiCHMON&\\ 4Q\\a WN BQKPUWVL
##FQZOQVQI )’(/ 7QZ[\\ 9ITN BMIT
##6[\\I\\M DI‘ 3QTT\r\n 5Q^Q[QWV WN 4WTTMK\\QWV[\r\n
##FE 8_h -10+0\r\n HYSX]_^T’ L7 -.-1,(10+0
##3QTT >]UJMZ (/’*’.’0\r\n IBKHHO F7L;HI ?D9
##@TMI[M ZMKWZL 3QTT >]UJMZ QV UMUW [MK\\QWV WN KPMKS\r\n ,0+, L7BB;O H:\r\n
##H?9>CED: L7 -.---(0/+1
##IVL QVKT]LM QV ITT WVTQVM JIVSQVO \\ZIV[IK\\QWV[\r\n
##@ZWXMZ\\a :VNWZUI\\QWV
##DI‘ :VNWZUI\\QWV\r\n JQh OUQb5
##-+,3 J_dQ\\ 7TZecdUT 7^^eQ\\ 9XQbWUc5
##!,+’/+/)++\r\n 3QTT >]UJMZ1 .
##.. <truncated>
Run Code Online (Sandbox Code Playgroud)
我对 R 很陌生,知道我做错了什么吗?请,对此的任何帮助将不胜感激。
编辑:我已经用一个有效的 url 替换了 url,我还包括了我得到的结果。
你 pdf 是一个 pdf 图像。它看起来像一个扫描。pdftools无法将其直接转换为文本。您可以使用该包tesseract来获取数据并将pdftools其转换为 png。
下面的代码会将第一页转换为文本。我会让你做剩下的页面。请记住,文本的 OCR 并不完美。你需要检查结果。
library(pdftools)
library(tesseract)
pdf_convert("https://dl.dropboxusercontent.com/s/308gpdijvnw18mf/2018REQ118030709.pdf?dl=0",
pages = 1,
dpi = 600,
filenames = "page1.png")
text <- ocr("page1.png")
cat(text)
Run Code Online (Sandbox Code Playgroud)
更多信息可在 tesseract 小插图中找到。
您可能还想删除对此 pdf 的访问权限。我不确定这些数据是否应该公开