我有一个.pdf文件的集合,其中包含在Adobe Acrobat中添加的注解。我希望能够分析这些评论,但我有点坚持提取它们。我看过pdftools包,但它似乎只能提取文本,而不能提取注解。有没有一种方法可以提取R中的注解?
ndasle7k1#
PyMuPDF(https://pymupdf.readthedocs.io/en/latest/)是我发现的唯一一个可以工作的Python库。在基于Debian/Ubuntu的发行版中安装:
apt-get install python3-fitz
脚本:
import fitz doc = fitz.open("example.pdf") for i in range(doc.pageCount): page = doc[i] for annot in page.annots(): print(annot.info["content"])
wlwcrazw2#
您是否尝试过PoDoFo或其他可以访问PDF元素的开源工具?如果您不想编程,也可以在stackoverflow上查看Extracting PDF annotations/comments here
yftpprvb3#
Screenshot of how >>将注解导出为Excel文件,然后将其导入R?例如:在PDF-X-change Editor中,转到comment > summarize comments > export,转换为您想要的任何格式。类似于Adobe。
PDF-X-change Editor
comment > summarize comments > export
1l5u6lss4#
您可以考虑从R调用Python包,如下所示:
library(reticulate) conda_Env <- conda_list() if(any(conda_Env[, 1] == "PyMuPDF") == FALSE) { reticulate::conda_create(envname = "PyMuPDF", python_version = "3.7.16") reticulate::conda_install(envname = "PyMuPDF", packages = "PyMuPDF", pip = TRUE) } reticulate::use_condaenv(condaenv = "PyMuPDF") path_To_PDF <- "C:/Annotated text.pdf" fitz <- import("fitz") doc <- fitz$open(path_To_PDF) nb_Page <- doc$page_count list_Comments <- list() list_Highlights <- list() ########################## #### Highlighted text #### ########################## for(i in 1 : nb_Page) { page <- doc[0] annots <- page$annots() list_Highlights[[i]] <- page$get_textbox(iter_next(annots)$rect) } ######################## #### Commented text #### ######################## counter <- 1 for(i in 1 : nb_Page) { page <- doc[0] annots <- page$annots() cond <- TRUE while(cond == TRUE) { content <- iter_next(annots)$info$content cond <- !is.null(content) list_Comments[[counter]] <- content counter <- counter + 1 } }
4条答案
按热度按时间ndasle7k1#
PyMuPDF(https://pymupdf.readthedocs.io/en/latest/)是我发现的唯一一个可以工作的Python库。
在基于Debian/Ubuntu的发行版中安装:
脚本:
wlwcrazw2#
您是否尝试过PoDoFo或其他可以访问PDF元素的开源工具?如果您不想编程,也可以在stackoverflow上查看Extracting PDF annotations/comments here
yftpprvb3#
Screenshot of how >>将注解导出为Excel文件,然后将其导入R?
例如:在
PDF-X-change Editor
中,转到comment > summarize comments > export
,转换为您想要的任何格式。类似于Adobe。1l5u6lss4#
您可以考虑从R调用Python包,如下所示: