为什么红宝石虾从底部画出来

时间:2018-05-20 16:15:58

标签: ruby prawn

我在ruby中使用prawn并绘制一个示例文本,但为什么它从底部而不是从顶部渲染?

require 'prawn'
require 'prawn/measurement_extensions'

def self.generate
  pdf = Prawn::Document.new(page_size: 'A4', margin: [5.mm, 10.mm, 5.mm, 10.mm])
  pdf.draw_text "Hello world", at: [0, 0]
  pdf.dash 2, space: 3
  pdf.vertical_line 0, 100, :at => 0
  pdf.line_width = 0.5
  pdf.stroke
  pdf.render_file "#{__dir__}/test.pdf"
end

结果: enter image description here

1 个答案:

答案 0 :(得分:1)

这是因为,如手册中所述 - https://github.com/prawnpdf/prawn/blob/c504ae4e683017d7afadece084734a9190230cd8/manual/basic_concepts/origin.rb#L5,PDF文档的起源(0,0)位于页面的左下角。因此,当你专门告诉要在[0,0]绘制的东西时,它将在其封装边界框的左下角绘制,在你的情况下是页面。