2012-02-27 30 views

回答

7

PDF閱讀器寶石可以做到這一點。

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

可能建議檢查一些文檔包含的「CropBox」屬性,因爲它覆蓋了「MediaBox」屬性。 – 2015-07-21 23:03:25

相關問題