加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何用Ruby确定PDF页面的维度?

发布时间:2020-12-17 01:26:36 所属栏目:百科 来源:网络整理
导读:是否有一个好的库可以确定PDF页面的维度? 我知道一种方法是使用rghost gem将pdf转换为png然后使用image_size gem来读取png维度.我不喜欢这种方法. 解决方法 pdf-reader gem可以做到这一点. require 'pdf/reader'require 'bigdecimal'def pt2mm(pt) (pt2in(p
是否有一个好的库可以确定PDF页面的维度?

我知道一种方法是使用rghost gem将pdf转换为png然后使用image_size gem来读取png维度.我不喜欢这种方法.

解决方法

pdf-reader gem可以做到这一点.

require 'pdf/reader'
require 'bigdecimal'

def pt2mm(pt)
  (pt2in(pt) * BigDecimal.new("25.4")).round(2)
end

def pt2in(pt)
  (pt / BigDecimal.new("72")).round(2)
end

reader = PDF::Reader.new("somefile.pdf")
reader.pages.each do |page|
  bbox   = page.attributes[:MediaBox]
  width  = bbox[2] - bbox[0]
  height = bbox[3] - bbox[1]

  puts "width: #{width}pts #{pt2mm(width).to_s("F")}mm #{pt2in(width).to_s("F")}in"
  puts "height: #{height}pts #{pt2mm(height).to_s("F")}mm #{pt2in(height).to_s("F")}in"
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读