PDF 阅读器 ruby gem 风景页面
Posted
技术标签:
【中文标题】PDF 阅读器 ruby gem 风景页面【英文标题】:PDF reader ruby gem landscape Page 【发布时间】:2014-07-11 05:57:37 【问题描述】:我正在尝试使用 Pdf-reader ruby gem (https://github.com/yob/pdf-reader/) 将 pdf 转换为纯文本
它适用于纵向为纵向的页面,但它不适用于横向为横向的页面
当我尝试将横向页面转换为纯文本时,其阅读内容以随机顺序排列,并且我也丢失了纯文本中的一些数据
横向页面的属性如下
:Parent=>#<PDF::Reader::Reference:0x000000062d4e60 @id=11481, @gen=0>, :Type=>:Page, :Resources=>:Font=>:Fcpdf0=>#<PDF::Reader::Reference:0x000000062cfc80 @id=8585, @gen=0>, :Fcpdf2=>#<PDF::Reader::Reference:0x000000062cef10 @id=8588, @gen=0>, :Fcpdf3=>#<PDF::Reader::Reference:0x000000062cec18 @id=8590, @gen=0>, :ProcSet=>#<PDF::Reader::Reference:0x000000062cdca0 @id=4, @gen=0>, :MediaBox=>[0, 0, 595.276, 841.89], :CropBox=>nil, :Rotate=>90, :Contents=>[#<PDF::Reader::Reference:0x000000062c6c70 @id=15, @gen=0>, #<PDF::Reader::Reference:0x000000062c6a18 @id=16, @gen=0>]
头像页面属性如下
:Parent=>#<PDF::Reader::Reference:0x000000062fadb8 @id=11481, @gen=0>, :Type=>:Page, :Resources=>:Font=>:Fcpdf0=>#<PDF::Reader::Reference:0x000000062f9be8 @id=8585, @gen=0>, :Fcpdf2=>#<PDF::Reader::Reference:0x000000062f8c48 @id=8588, @gen=0>, :Fcpdf1=>#<PDF::Reader::Reference:0x000000062f8748 @id=8587, @gen=0>, :Fcpdf4=>#<PDF::Reader::Reference:0x000000062f3b30 @id=8592, @gen=0>, :ProcSet=>#<PDF::Reader::Reference:0x000000062f3630 @id=4, @gen=0>, :MediaBox=>[0, 0, 594, 792], :CropBox=>[0, 0, 594, 792], :Rotate=>0, :Contents=>[#<PDF::Reader::Reference:0x000000062f05e8 @id=9, @gen=0>, #<PDF::Reader::Reference:0x000000062f02c8 @id=10, @gen=0>]
我正在阅读pdf为:
reader = PDF::Reader.new("sample.pdf")
page = reader.pages[page_no]
puts page.text
那么任何人都可以帮助我将横向页面转换为纯文本。
【问题讨论】:
我没有使用过 Pdf-reader,但我花了一些时间使用了一个名为 PDFMiner 的 Python 工具。所以一般来说,我遇到了数据以布局顺序出现的问题,而不是你在屏幕上看到的视觉顺序。在您查看与对象关联的 X、Y 坐标和边界框之前,这似乎是随机的。您的问题可能与横向 PDF 的创作方式有关。您可以发布 PDF 样本吗? 【参考方案1】:尝试设置orientation
reader = PDF::Reader.new("sample.pdf",:orientation => :landscape)
【讨论】:
@user3210186 :我以前没用过,所以没那么多想法。希望有人能尽快解决你的问题。抱歉以上是关于PDF 阅读器 ruby gem 风景页面的主要内容,如果未能解决你的问题,请参考以下文章
ruby 使用Devise gem验证您的API,使用标头标记。 Ruby on Rails 4.阅读评论。