2012-02-27 2 views
3

PDFページのディメンションを決定する良いライブラリはありますか?RubyでPDFページの次元を決定する方法は?

rghost gemを使用してpdfをpngに変換してからimage_size gemを使用してpngディメンションを読み取る方法があります。私はこの方法を嫌う。

答えて

7

これはpdf-readerの宝石です。

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 
+0

「MediaBox」属性を無効にするため、一部のドキュメントに含まれる 'CropBox'属性をチェックすることをお勧めします。 –

関連する問題