2011-01-05 10 views
12

Questo è ciò che ho finora, ma ho bisogno di impostare i margini:come posso impostare i margini in Prawn in ruby?

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

Vale la pena notare che si sta cercando specificamente di impostare i margini della pagina. – Tass

risposta

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

grazie, non ho potuto seguire le istruzioni, l'hai reso molto più chiaro – Angela

+0

Come hai capito, ho controllato il documento e non riesco ancora a vedere cosa fare ... dovrei semplicemente impostare: margin => [ 0,5,0,5,0,5,0,5] se è intorno a 0,5 pollici? Devo usare pollici? [0,5 pollici]? – Angela

+4

'[0.5 pollici]' è l'impostazione predefinita per l'attributo specificato. Quindi, se non si imposta esplicitamente un valore per ': margin', il valore predefinito sarà un mezzo pollice su tutti e 4 i lati. Se si desidera sovrascrivere uno dei valori predefiniti, è necessario fornire un numero corrispondente al numero di punti desiderato. Ci sono 72 punti per pollice. È un po 'di confusione poiché il valore predefinito è fornito in pollici, mentre si imposta il valore in punti. Potrebbe avere più senso se si pensa che il valore predefinito sia '[36 punti]' –

4

semplicemente aggiungendo al pantheon delle conoscenze qui, ma nel caso in cui è venuto qui cercando di farlo usando la gemma di Prawn Label, non è possibile impostare il margine del documento in questo modo. Dovrai fare un lavoro in giro. Ecco uno snippet rapido e flessibile per creare un riquadro di delimitazione con un pad uniforme che si trova all'interno del riquadro di delimitazione del documento.

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 

Rimuovere il pdf da .bounding_box e .bounds se si sta utilizzando una versione implicito di gamberi.

Problemi correlati