Ruby pdf-reader 在解析 PDF 时添加不存在的空白行

Posted

技术标签:

【中文标题】Ruby pdf-reader 在解析 PDF 时添加不存在的空白行【英文标题】:Ruby pdf-reader adds blank rows where none exist when parsing PDF 【发布时间】:2017-05-13 01:51:15 【问题描述】:

我正在构建一个工具来解析从 Linkedin 下载的 CV 的 PDF。但是,当我解析文档时,pdf-reader 会发现空行,而这些行是不存在的。

我想知道这是 PDF 还是 PDF 阅读器的问题?

脚本

require 'pdf-reader'

reader = PDF::Reader.new("CV.pdf")

reader.pages.each_with_index do |page, page_num|
    bits = page.text.split("\n")

    bits.each_with_index do |bit, index|
        puts bit
    end
end

简历截图

解析输出

Senior Analyst
September 2013 - August 2015 (1 year 11 months)
  - Managed a team of analysts to drive operational improvement across all departments of a subsidiary

   company, including a 33% increase in conversions on their e-commerce platform and a 8% decrease in
   logistics costs within my first year

您会注意到在输出的文本中,句子中间添加了一个空行。

这似乎很奇怪,因为如果您查看 PDF 的屏幕截图,它似乎没有任何空白行可供 pdf 阅读器找到。

有没有人对可能导致这种情况的原因有经验?

【问题讨论】:

【参考方案1】:

尝试其他库后,问题似乎出在pdf-reader,而不是 PDF。

所以我决定使用另一个名为 Yomu 的 gem(请参阅:https://github.com/Erol/yomu),它避免了这个问题。

它有点慢,但考虑到输出的可预测性增加,这是可以接受的。

【讨论】:

以上是关于Ruby pdf-reader 在解析 PDF 时添加不存在的空白行的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ruby 中使用“PDF-Reader”gem 获取文本的位置

ruby 使用pdf-reader gem从PDF中提取注释

如何在 Ruby 中解析 pdf

Ruby pdf阅读器出现未知字形宽度错误

从 ruby​​ 中的 pdf 文件中获取元数据

PDF 阅读器 ruby​​ gem 风景页面