3
是否有一個好的庫可以確定PDF頁面的維度?如何確定使用Ruby的PDF頁面的維度?
我知道一種方法是使用rghost
gem將pdf轉換爲png,然後使用image_size
gem來讀取png維度。儘管我不喜歡這種方法。
是否有一個好的庫可以確定PDF頁面的維度?如何確定使用Ruby的PDF頁面的維度?
我知道一種方法是使用rghost
gem將pdf轉換爲png,然後使用image_size
gem來讀取png維度。儘管我不喜歡這種方法。
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
可能建議檢查一些文檔包含的「CropBox」屬性,因爲它覆蓋了「MediaBox」屬性。 – 2015-07-21 23:03:25