我正在运行 18.04 并尝试使用 R 包的 2.1 版本pdftools
。某些功能需要poppler >= 0.73
。(poppler 版本要求记录在 中?pdftools::pdf_data
。)
我获得poppler-0.73.0.tar.xz
并poppler-data-0.4.9.tar.gz
从https://poppler.freedesktop.org/。我提取了,按照 INSTALL 说明操作,一切似乎都正常。我可以验证/usr/lib/x86_64-linux-gnu/libpoppler.so
指向/usr/lib/x86_64-linux-gnu/libpoppler.so.73
。我不确定还要查找什么,也不确定 update-alternatives 是否有用。
在 R 中,当我运行pdftools::pdf_data
以下情况时:
> pdf_data(fn)
Error in poppler_pdf_data(loadfile(pdf), opw, upw) :
pdf_data() requires poppler >= 0.73. You have 0.62.0
其他功能正在pdftools
运行,但pdf_data
已记录为必需poppler >= 0.73
。我想知道我还需要做什么才能让 0.73 得到认可。
编辑:遵循以下有用的建议在 ubuntu 16.04 上安装 poppler-0.62.0,我运行apt-cache policy poppler-0.73
并得到:
poppler-0.73:
Installed: 20190125-0.73
Candidate: 20190125-0.73
Version table:
*** 20190125-0.73 100
100 /var/lib/dpkg/status
这似乎表明已安装了 0.73。
的输出apt-cache policy r-base-core
是
r-base-core:
Installed: 3.5.2-1bionic
Candidate: 3.5.2-1bionic
Version table:
*** 3.5.2-1bionic 500
500 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages
100 /var/lib/dpkg/status
3.5.1-2bionic 500
500 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages
3.5.1-1bionic 500
500 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages
3.5.0-1bionic 500
500 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages
3.4.4-1ubuntu1 500
500 http://ubuntu.osuosl.org/ubuntu bionic/universe amd64 Packages
答案1
我创建了一个 PPA,其中包含 Poppler 0.74.0 的反向移植Ubuntu 16.04(Xenial)和Ubuntu 18.04(仿生)。这是现在更新 poppler 的推荐方法。
sudo add-apt-repository -y ppa:cran/poppler
sudo apt-get update
sudo apt-get install -y libpoppler-cpp-dev
答案2
为了使其正常工作,我们需要执行以下操作:
卸载
libpoppler-cpp-dev
包sudo apt purge libpoppler-cpp-dev
编译并安装 Poppler 0.73
checkinstall
(正如您已经做的那样)到/usr/local
:sudo apt-get install libopenjp2-7-dev libgdk-pixbuf2.0-dev cmake checkinstall sudo apt-get build-dep libpoppler-cpp-dev cd ~/Downloads wget https://poppler.freedesktop.org/poppler-0.73.0.tar.xz tar -xf poppler-0.73.0.tar.xz cd poppler-0.73.0 mkdir build cd build cmake .. sudo checkinstall make install
定义环境变量路径 R_LD_LIBRARY_PATH向 R 介绍 Poppler 库
/usr/local/lib
:echo "export R_LD_LIBRARY_PATH=\$R_LD_LIBRARY_PATH:/usr/local/lib" >> .bashrc
在-shell中编译
pdftools
R 包:R
install.packages("pdftools")
R
使用任意 pdf 文件通过 -shell 进行测试> pdftools::pdf_data(pdf="/usr/share/cups/data/default.pdf") [1]] [1] width height x y space text <0 rows> (or 0-length row.names)
注意:我在干净的 Ubuntu 18.04 LTS VM 上从 R-shell 和 RStudio 使用 R 3.4 和 3.5.2 测试了此方法。