为什么ruby大虾从底部抽
why ruby prawn draw from bottom
我在 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
结果:
这是因为,如手册中所述 - https://github.com/prawnpdf/prawn/blob/c504ae4e683017d7afadece084734a9190230cd8/manual/basic_concepts/origin.rb#L5,PDF 文档的原点 (0,0) 位于页面左下方。因此,当您特别指定要在 [0,0] 绘制某些内容时,它将在其封装边界框的左下角绘制,在您的情况下就是页面。
我在 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
结果:
这是因为,如手册中所述 - https://github.com/prawnpdf/prawn/blob/c504ae4e683017d7afadece084734a9190230cd8/manual/basic_concepts/origin.rb#L5,PDF 文档的原点 (0,0) 位于页面左下方。因此,当您特别指定要在 [0,0] 绘制某些内容时,它将在其封装边界框的左下角绘制,在您的情况下就是页面。