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

标签 r ubuntu pdf

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

我的代码:

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

在我的本地 Windows 7 机器上,对象码本显示为“大字符(258 个元素,710.2 Kb)”,而在 Ubuntu 服务器上,它显示为“大字符(258 个元素,701.9 Kb)”。

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

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

最后要提到的一件事:我必须将 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("pdftools") 似乎运行正确。并且 pdftools 加载没有问题。因此,如果这是一个糟糕的安装,我不确定出了什么问题。

最佳答案

一些东西:

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

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

    关于r - R中的pdftools在不同机器上的表现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46922193/

    相关文章:

    r - 模拟马尔可夫链的概率数不正确

    r - Group_by 然后用 dplyr 过滤

    mysql - datetime(6) 适用于 XAMPP,但不适用于最新的 Ubuntu MySQL 服务器

    java - 关于 Java 7 安装

    javascript - 当浏览器请求部分内容范围请求时,如何检测 pdf 何时加载到 iframe 中?

    php - 在移动浏览器中显示使用 mpdf inline 生成的 pdf

    r - 如何向 ggplot 图例添加新的(自定义)变量

    r - 为什么不鼓励在 Shiny includeScript() 中使用绝对路径?

    php - 如何让docker API通过http访问

    ios - PDF 和 MFMailComposeViewController