как установить поля в креветках в рубине? - PullRequest
15 голосов
/ 05 января 2011

Это то, что у меня есть, но мне нужно установить поля:

def send_fax 
    contact = Contact.find_by_id(self.contact_id)

    pdf = Prawn::Document.new
    pdf.font "Times-Roman"
    pdf.move_down(20)
    pdf.text "ATTN: #{contact.first_name} #{contact.last_name}", :size => , :style => :bold
    pdf.text "RE: #{self.subject}"
    pdf.move_down(20)

    pdf.text "#{self.body}"

    OutboundMailer.deliver_fax_email(contact, self, pdf)

  end

Ответы [ 2 ]

23 голосов
/ 05 января 2011

Prawn::Document.new( :margin => [0,0,0,0] )

:margin:    Sets the margin on all sides in points [0.5 inch]
:left_margin:   Sets the left margin in points [0.5 inch]
:right_margin:  Sets the right margin in points [0.5 inch]
:top_margin:    Sets the top margin in points [0.5 inch]
:bottom_margin: Sets the bottom margin in points [0.5 inch]

http://rdoc.info/github/sandal/prawn/master/Prawn/Document

4 голосов
/ 10 марта 2016

Просто добавив сюда пантеон знаний, но если вы пришли сюда, пытаясь сделать это, используя гем Prawn Label, вы не можете установить поле документа таким образом.Вы должны будете сделать работу вокруг.Вот быстрый и гибкий фрагмент для создания ограничивающего прямоугольника с равномерным блоком, который находится внутри ограничивающего прямоугольника документа.

pad = 5

pdf.bounding_box([pad, pdf.bounds.height - pad], :width => pdf.bounds.width - (pad * 2), :height => pdf.bounds.height - (pad * 2)) do
    #Draw all your content in this block and it will be padded uniformly by 5
end

Удалите PDF из .bounding_box и .bounds, если вы используете неявную версиюкреветка.

...