【发布时间】:2016-11-16 19:00:22
【问题描述】:
有没有办法从 R 计算 PDF 文件的页数?如果没有,是否有另一种独立于操作系统的方法来做到这一点?到目前为止,我找到的唯一答案是this,它是特定于 Windows 7 的。
我正在尝试在 R 和 knitr 中编译一些报告,聚合来自先前脚本的 PDF 绘图输出,该脚本自动处理数百个数据集。一些数据集很糟糕,最终破坏了绘图功能。由于 plot 函数包含在 pdf 函数中,因此会生成一个空的 PDF 文件,该文件会被报告找到并中断 pdflatex。尝试修改分析脚本以避免一开始就生成这些 PDF 已被证明是困难的,并且是非常特定于案例的。我真的很想有一些可以嵌入到报告中的功能,在包含之前检查 PDF 是否有 >=1 页。我更喜欢基于 R 的解决方案,尽管 bash、LaTeX、knitr 或 pdflatex 解决方案也可能就足够了。
编辑:另外,正如我链接到的上一个答案中提到的,我尝试使用 Rpoppler (here) 但无法编译。我在没有管理员访问权限的 CentOS 6 环境中使用 R 版本 3.3.0。
【问题讨论】:
-
查看
pdftoolspkg -
我现在正在尝试
pdftools,但到目前为止我无法在 CentOS 6 中编译它,而且由于这是一个服务器,我没有管理员权限来尝试安装它的系统依赖项。 -
我不确定这是否有帮助,但您可以使用
system从 R 进行系统级调用,因此您可以使用 pdfinfo(例如,pdfinfo file.pdf | grep 'Pages')。 jk。 Centos 似乎没有附带 pdfinfo(我猜它在 poppler 库中?)。无视我。 -
@Tad Dallas 我试过了,将
Pages: #输出返回到 R 并解析和测试给定的数字,到目前为止它可以工作。谢谢。不过,我仍然对 R 或其他更通用的答案感兴趣,因为这在我的 Mac 上的 OS X 上不起作用,因此从长远来看它不会像需要的那样便携。 -
紧。您应该可以install poppler on OS X,因此命令将保持不变。无论如何,任何 R 解决方案都会调用这些库,对吗?身份证。