用ruby解析PDF文档

Bes*_*esi 6 ruby pdf ocr scripting parsing

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

在此输入图像描述

现在我希望能够解析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
  - [...]
Run Code Online (Sandbox Code Playgroud)

Shw*_*eta 8

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

我建议使用docsplit.您可以在此博客文章中找到有关"pdf-reader"和"docsplit"的更多信息.

希望这可以帮助.如果需要任何澄清,请随时发表评论.


Bes*_*esi 5

获取文本

文本可以很容易地解析如下:

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

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

reader.pages.each do |page|
  puts page.text
end
Run Code Online (Sandbox Code Playgroud)

保存图像

这可以用同一个库来完成。请参阅示例脚本examples/extract_images.rb

然而

这是(还不是)一个完整的答案。接下来的步骤是:

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