2011-01-05 11 views
12

To, co mam tak daleko, ale muszę ustawić marginesy:Jak ustawić marginesy w Prawn w 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

Warto zauważyć, że zależy Ci na ustawieniu marginesów strony. – Tass

Odpowiedz

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

dziękuję, nie mogłem wykonać instrukcji, zrobiłeś o wiele jaśniej – Angela

+0

Jak to się stało, sprawdziłem dokument i nadal nie mogę se, co zrobić ... powinienem ustawić: margin => [ 0,5,0.5,0.5,0.5] jeśli ma około 0,5 cala dookoła? Czy muszę używać cala? [0,5 cala]? – Angela

+4

'[0,5 cala]' jest ustawieniem domyślnym dla danego atrybutu. Tak więc, jeśli nie ustawisz jawnie wartości ': margin', domyślnie będzie to pół cala na wszystkich 4 stronach. Jeśli chcesz zastąpić którąś z wartości domyślnych, podaj liczbę odpowiadającą liczbie punktów, którą chcesz. Jest 72 punktów na cal. To trochę zagmatwane, ponieważ wartość domyślna jest podawana w calach, a wartość jest ustawiana w punktach. Może to mieć więcej sensu, jeśli domyślna wartość to "[36 punktów]" –

4

wystarczy dodać do panteonu wiedzy tutaj, ale w przypadku, gdy przyszedł tutaj, aby to zrobić za pomocą klejnotu Prawn Label, w ten sposób nie można ustawić marginesu dokumentu. Będziesz musiał popracować. Oto krótki i elastyczny fragment do tworzenia obwiedni z jednolitą podkładką umieszczoną wewnątrz ramki ograniczającej.

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 

Usuń PDF z .bounding_box i .bounds jeśli używasz niejawna wersję Krewetka.

Powiązane problemy