【发布时间】:2020-11-03 20:21:30
【问题描述】:
我有数千份 PDF 格式的文档(德文)。我需要从每个文本中提取一部分文本,这些文本通常在日期之后并在日期、位置、地址信息之前结束,几乎在页面末尾。附上一个例子。我需要的文本被突出显示。
到目前为止我尝试的是qdapRegex::rm_between:
library(pdftools)
library(qdapRegex)
t1 <- pdf_text("textsample.pdf")
textIneed <- rm_between(t1, "Datum", ", den" )
这不起作用。输出是整个文本内容,包括名称、Vorame 等(我可以在开始时接受 20.01.2019 的日期。)我做错了什么我不清楚,因为我是 regex 和 nlp 的新手,不能在阅读rm_between 或qdapRegex 的文档时发现它。
我的第一个问题是让它工作。
进一步的问题是,这些文档不是标准的,并且某些文档可能有其他类型的信息,例如,Ref:1234 而不是突出显示区域之前的日期。这篇文章可以在文档的任何页码中找到,因此不能选择准确的页码。
是否有任何其他解决方案、库等可用于或多或少地提取这部分文本?
【问题讨论】:
-
你想要的所有段落是否都从页面上的某个高度开始,或者也可以改变?
-
也可以变化。
-
您可以尝试使用我的 PDF 文本提取包,使用
devtools::install_github("https://github.com/AllanCameron/PDFR")。如果您使用PDFR::pdfdoc(),这应该为您单独提取段落,您可以根据字体、位置、长度等过滤它们。 -
试试
textIneed <- rm_between(paste(t1, collapse="\n"), "Datum", ", den" ) -
非常感谢。我试过这个@Wiktor Stribizew,但结果还是一样。