【发布时间】:2019-06-13 09:10:24
【问题描述】:
我有一个包含 1000 多个 pdf 文件的文件夹。其中少数无法打开(因为自动下载操作 - 在 R 中使用“wb”模式(win OS)的 download.file 执行的自动下载操作以某种方式失败)。我需要重新下载它们,但为此我应该得到它们的列表。我怎样才能以有效的方式获得它?
我成功地使用了半手动方法:使用 for 循环,我打印每个文件的名称并在每个文件上使用 pdf_info(),它会尝试打开它。对于那些受错误影响的人,我会收到一条类似这样的多条错误消息:
PDF 错误:找不到预告片字典
PDF 错误:外部参照条目 6796 无效
PDF 错误:外部参照条目 408 无效
PDF 错误:外部参照条目 6770 无效
PDF 错误:顶级页面对象类型错误(空)
从100个文件中,这样我识别出0-2个受错误影响的文件(因为文件名打印在错误前面)。但随后我必须手动重新下载由此识别的每个文件。我想使用一些条件,以便当我收到这样的错误时,将文件名添加到文件名向量中。我只是无法理解如何使用这种条件。
这就是我现在所做的:
library(pdftools)
files <- list.files(pattern = "pdf$")
for (i in 1:100){
print(i)
pdf_info(files[i])
}
我想更改 for 循环(或使用替代代码),以便能够收集损坏的 pdf 文件的名称。
【问题讨论】:
标签: r