2011-01-05 9 views
12

これは私がこれまで持っているものですが、私は余白を設定する必要があります。私はルビーのエビに余白を設定するにはどうすればよいですか?

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 
+0

ページマージンを特に設定することは注目に値します。 – Tass

答えて

18

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

+0

ありがとう、私は命令に従うことができなかった、あなたはそれをはるかに明確にした – Angela

+0

どのようにこれを把握した、私は文書をチェックし、私はまだ何をすることができません...私はちょうど設定する必要があります: 0.5,0.5,0.5,0.5] 0.5インチの場合は?私はインチを使用する必要がありますか? [0.5インチ]? – Angela

+4

与えられた属性のデフォルト設定は '[0.5インチ]'です。したがって、明示的に ':margin'の値を設定しないと、デフォルトでは4つすべての面で半インチになります。 デフォルト値を上書きする場合は、必要なポイント数に対応する数値を入力する必要があります。 1インチあたり72ポイントあります。値を点で設定している間は、デフォルト値がインチで提供されているので少し混乱します。デフォルト値を '[36 points]'と考えると意味があるかもしれません。 –

4

ただ、ここでの知識のパンテオンに追加することが、あなたの場合には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 

あなたはエビの暗黙のバージョンを使用している場合.bounding_boxと.boundsからPDFを削除します。

関連する問題