2012-06-13 4 views
0

각 페이지마다 다른 템플릿을 사용하는 한 개 이상의 페이지가 새겨진 문서를 만들고 싶습니다.새우 PDF : 기본 페이지가없는 템플릿을 만듭니다.

Prawn::Document.generate("test.pdf") do 
    doc.faces.each do |face| 
    start_new_page(:template => face.background_path) 
    end 
end 

첫 번째 페이지는 빈 문자 크기의 페이지이며 start_new_page가 추가 된 페이지가 표시됩니다. 새우가 첫 페이지를 생성하지 못하게 할 방법이 있습니까?

감사합니다.

답변

1
pdf = Prawn::Document.new(:skip_page_creation => true) 
doc.faces.each do |face| 
    pdf.start_new_page(:template => face.background_path) 
    < your page building code here > 
end 

은 제대로 문서를 읽어야합니다.

def pdf 
    @person = Person.find(params[:id]) 
    send_data @person.as_pdf, :filename => "#{@person.pdfName}.pdf", :type => "application/pdf" 
end 

및 person.rb에서 as_pdf 방법은

def as_pdf(type = 'short') 
    pdf = Prawn::Document.new(:margin => [36, 36, 36, 36]) 
    driver = self.pdf_layout_info 
    driver.each do |element| 
    < lots of ugly layout logic > 
    end 
    pdf.render 
end 
+0

완벽한, 감사 같습니다처럼

내 컨트롤러 코드가 보인다! – kreek

관련 문제