用ruby解析PDF文档

时间:2015-01-24 14:16:31

标签: ruby parsing pdf scripting ocr

我在一个具有特定结构的文件夹中有多个PDF文档:

enter image description here

现在我希望能够解析PDF中的信息。请注意,这些段落的长度各不相同。

显然我并没有要求你为我解决问题,但我确实需要一些关于如何实现这一目标的指示。

我之前使用过nokogiri,从技术上讲,我需要类似的东西,但是对于PDF来说。

所以我的例子的伪结果看起来像这样:

- ItemA
  - Title: ItemA
  - File: 123456789.pdf
  - Image: ImageA.png (the image was stored on disk)
  - Subtitle1: Content for subtitle 1
  - Subtitle2: Content for subtitle 2
  - Subtitle3: Content for subtitle 3
- TitleB
  - [...]

2 个答案:

答案 0 :(得分:7)

pdf-reader是解决方案之一。但它有问题,有时它不能以适当的格式提供文本。我用过它。

我建议使用 docsplit 。您将找到有关' pdf-reader'的更多信息。和' docsplit'在 this blog post

希望这会有所帮助。如果需要澄清,请随时发表评论。

答案 1 :(得分:3)

获取文本

可以轻松解析文本:

# gem install pdf-reader
require 'pdf-reader'

reader = PDF::Reader.new('my.pdf')

reader.pages.each do |page|
  puts page.text
end

保存图像

这可以使用相同的库完成。请参阅示例脚本examples/extract_images.rb

然而

这是(尚未)一个完整的答案。 接下来的步骤将是:

  1. 解析文本并查找标题
  2. 裁剪图像,可以使用像RMagick或Mini Magick这样的库来实现。