使用R从具有相同格式的多页pdf文件中提取特定的结构化数据

Extract specific structured data from multiple pages pdf file with the same format using R

您好,首先感谢您的帮助。我想知道是否有一种方法可以从pdf可编辑文件中提取分配在所有页面相同位置的特定数据。

每个员工的file (modified to comply with privacy concerns) contains a series of payroll receipts, all pages contain the same format and data. I would like to extract only the SSN (No. IMSS),并将它们放在一个数据框中。我已经搜索过如何做到这一点,但我只发现了数据结构不正确的情况,并且由于在这个文件中所有页面都完全相等,我想知道是否有更麻烦的方法。

使用 pdf 工具和下面的步骤,我能够隔离我想要的数据(在第 9 行分配),但只能从 individual 页面。我想知道是否可以输入适用于所有页面的命令。谢谢。

> library(pdftools)
> test <- pdf_text("pruebas.pdf")
> orden <- strsplit(test,"\r\n")
> required <- c(unlist(strsplit(orden2[[1]],"\r\n")))
> nss <- required[9]
> result <- as.data.frame(nss)

这是一个文本解析任务,有多种方法可以完成。也许最快的方法是在第二个片段的每个 No. IMSS:、select 处拆分输出,在换行符处拆分结果,然后获取第一个片段。代码不是很漂亮,但它可以工作:

 sapply(strsplit(sapply(strsplit(pdftools::pdf_text("pruebas.pdf"), 
        "No\. IMSS: +"), `[`, 2), "\r"), `[`, 1)
#> [1] "12-34-56-7895-5" "12-34-56-7895-9" "12-34-56-7895-7" "12-34-56-7895-1"