You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中逐行读取PDF?解决pdftools包read_pdf()异常问题

恢复pdftools::read_pdf()逐行读取的方法

以下是几种可行的解决思路,按优先级排序:

  • 显式指定layout参数
    pdftools的read_pdf()函数中,layout = TRUE参数会保留PDF的原始文本布局,将内容按行拆分输出。如果近期包版本更新导致默认行为变化,显式设置该参数即可恢复逐行读取:

    library(pdftools)
    # 强制启用布局保留模式
    pdf_data <- read_pdf("target_file.pdf", layout = TRUE)
    
  • 回退到稳定版本
    如果是pdftools包更新后引入的行为变更,可回退到之前能正常工作的版本。以版本3.3.0为例(替换为你之前使用的版本号):

    # 卸载当前包
    remove.packages("pdftools")
    # 安装指定旧版本
    install.packages("https://cran.r-project.org/src/contrib/Archive/pdftools/pdftools_3.3.0.tar.gz", repos = NULL, type = "source")
    

    注意:安装源码包可能需要系统安装poppler依赖(如Linux的libpoppler-dev、macOS的poppler)。

  • 手动拆分整页文本
    如果上述方法无效,可先用pdf_text()获取整页文本,再按换行符手动拆分:

    library(pdftools)
    # 获取每一页的整段文本
    raw_pages <- pdf_text("target_file.pdf")
    # 拆分每一页为行,过滤空行
    line_by_line <- lapply(raw_pages, function(page) {
      lines <- strsplit(page, "\n")[[1]]
      lines[nchar(lines) > 0]
    })
    

内容的提问来源于stack exchange,提问作者Dan G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 20:35:26