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

如何解决R语言tabulizer包extract_tables报错no lines available in input问题

报错排查与解决方法
  • 校验坐标适配性
    你当前硬编码的area参数(c(172.1,77.5,693,536))仅适配第一个PDF的页面布局,其余两个PDF的页面尺寸、表格位置、页边距存在差异时,你指定的区域内没有可识别的表格内容就会触发报错,且你设置了guess = FALSE,函数不会自动识别表格位置。
    可先通过tabulizer::locate_areas()函数手动框选对应PDF的表格区域,拿到适配的坐标后再传入area参数,也可临时将guess改为TRUE测试能否正常识别表格。

  • 排查PDF本身属性
    确认报错的两个PDF不是扫描版/图片版PDF,tabulizer依赖PDF的可编辑文本层解析内容,若为图片生成的扫描版PDF,没有可提取的文本内容也会触发该报错。可手动尝试从PDF中复制文本,若无法复制则为扫描版,需先做OCR识别后再解析表格。

  • 调整参数增强容错
    可新增encoding参数指定PDF文本编码,非英文PDF编码不匹配会导致文本识别失败,例如可传入encoding = "UTF-8"适配多语言场景。也可先去掉output = "data.frame"参数,先以列表格式接收解析结果,确认有内容后再转换为数据框,参考调整代码:

# area替换为对应PDF适配的坐标
agri_table_list <- extract_tables("目标PDF文件名.pdf",
                                  pages = 1, 
                                  area = list(c(上坐标,左坐标,下坐标,右坐标)),
                                  guess = FALSE,
                                  encoding = "UTF-8")
# 验证解析结果后转换为数据框
if(length(agri_table_list) > 0) {
  agri_table <- as.data.frame(agri_table_list[[1]])
}
  • 校验页面参数设置
    确认两个报错PDF的目标表格确实位于第1页,部分PDF的封面、扉页会占用第一页,实际表格在后续页面,可临时删除pages参数测试全页解析是否能拿到有效内容。

内容的提问来源于stack exchange,提问作者Ali Inayat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:36:05