R中的pdftools在不同的机器上表现不同

时间:2017-10-25 00:51:01

标签: r ubuntu pdf

我注意到在我的Windows 7计算机上本地运行时,R中的pdftools软件包的表现与我在共享的Ubuntu服务器上通过ssh运行时的表现不同的问题。

我的代码:

download.file("http://www.nber.org/lbid/docs/LinkCO95Guide.pdf",
          "1995codebook.pdf", 
          mode = "wb", 
          method = "libcurl")
codebook <- pdf_text("1995codebook.pdf")

在我的本地Windows 7计算机上,对象代码簿显示为&#34;大字符(258个元素,710.2 Kb)&#34;,而在Ubuntu服务器上它显示为&#34;大字符(258个元素,701.9 Kb)&#34;。

正如您可能想象的那样,这对我下游造成了问题,在我的本地计算机上运行的代码在Ubuntu服务器上产生的结果不同。查看 codebook 中包含的文本,我立即注意到的第一个区别是Windows上生成的版本具有&#34; \ r \ n&#34;在Ubuntu上生成的版本只有&#34; \ n&#34;相反(我依赖&#34; \ r \ n&#34;下游)。

为什么那个角色系列会有所不同?它可能与编码有关吗?任何帮助都会对导致这种情况的原因以及如何在两台机器上获得相同的结果表示赞赏。

最后要提到的一点是:我必须将poppler库安装到Ubuntu服务器上的主目录(没有sudo访问权限)才能安装pdftools:

apt-get source poppler
cd poppler-0.24.5
./configure --prefix=$HOME/myapps
make
make install
export PKG_CONFIG_PATH=$HOME/myapps/lib/pkgconfig

完成后,install.packages(&#34; pdftools&#34;)似乎正常运行。并且pdftools加载没有问题。因此,如果安装不好,我不确定出了什么问题。

1 个答案:

答案 0 :(得分:0)

一些事情:

  • Windows有不同的行结尾,这是extensively documented。仅此一项就可以解释尺寸差异
  • 即使在下载之后,您也可以在两种约定之间进行转换。这样做的一个工具是dos2unix,您可以通过apt-get install dos2unix
  • 获取
  • 通过建造poppler,你的生活太复杂了。作为configure script for pdftools says,只需通过apt-get install libpoppler-cpp-dev
  • 安装库

但是:大多数理智的程序和包含的R会同等对待\r\nn,因此导入的数据应该相同。如果你没有, 使用dos2unix或等效工具根据需要进行转换。从长远来看,您希望代码不在乎。