2012-01-12 19 views
6

Tôi có thể chuyển đổi các trang HTML thành tài liệu PDF tốt. Vấn đề là, tôi không biết làm thế nào để chuyển đổi các tập tin HTML thành một định hướng phong cảnh PDF. Có cách nào để thiết lập điều đó trong bộ điều khiển?Rails 3 và PDFKit, làm thế nào tôi có thể chuyển đổi một tệp HTML thành một định hướng ngang PDF?

Từ bộ điều khiển ...

def pdf_customer_shipments 
    @customer = Customer.find(params[:id]) 
    @shipments = Shipment.where("customer_id = ? AND status = 'Open'", @customer.id) 
    render :layout => 'pdf' 
end 

Trả lời

0

PDFKit nên chấp nhận các tùy chọn cho wkhtmltopdf, vì vậy bạn sẽ có thể làm trong chế độ phong cảnh bằng cách sử dụng này:

def pdf_customer_shipments 
    @customer = Customer.find(params[:id]) 
    @shipments = Shipment.where("customer_id = ? AND status = 'Open'", @customer.id 
    render :layout => 'pdf', :orientation => 'Landscape' 
end 
+0

đã cố gắng, vẫn hiển thị dưới dạng ảnh – leonel

7

Trong trường hợp này sẽ giúp, Tôi đang sử dụng PDFKit và có thể hiển thị bản pdf ở chế độ ngang bằng cách sử dụng:

respond_to do |format| 
    format.html 
    format.pdf { 
    html = render_to_string(:layout => false , :action => "my_page.html.haml") 
    kit = PDFKit.new(html, :orientation => 'Landscape') 
    kit.stylesheets << "#{Rails.root}/public/stylesheets/views/pdf.css" 
    send_data(kit.to_pdf, :filename => "some_name.pdf", :type => 'application/pdf') 
    return # to avoid double render call 
    } 
end 

Tôi có mệnh đề định hướng t từ đây: https://github.com/pdfkit/pdfkit/issues/12

6

Bạn cần một thẻ meta trong bạn html file:

... 
<head> 
    <meta name="pdfkit-orientation" content="Landscape"/> 
</head> 
... 

Sau đó, PDF là theo chiều ngang.

+0

https://github.com/pdfkit/pdfkit/issues/23 –

+0

Điều này thật hoàn hảo! Trong bộ khởi tạo phần mềm trung gian của tôi, tôi cần phải để mặc định là Chân dung, nhưng điều này cho phép tôi ghi đè nó vào Cảnh trên cơ sở từng trang. – FireDragon

Các vấn đề liên quan