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 获取文本的位置