代码之家  ›  专栏  ›  技术社区  ›  Hung

为什么红宝石虾从底部抽签?

  •  0
  • Hung  · 技术社区  · 7 年前

    我在Ruby中使用了对虾并绘制了一个示例文本,但是为什么它是从底部而不是从顶部呈现的呢?

    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 回复  |  直到 7 年前
        1
  •  1
  •   Thomas Walpole    7 年前

    这是因为,如手册中所述- https://github.com/prawnpdf/prawn/blob/c504ae4e683017d7afadece084734a9190230cd8/manual/basic_concepts/origin.rb#L5 ,PDF文档的源文件(0,0)位于页面左下角。因此,当您明确告诉某个对象在[0,0]处绘制时,它将在其封装边界框的左下角绘制,在您的情况下,该框就是页面。

    推荐文章