2012-01-12 12 views
6

私はHTMLページをPDF文書にうまく変換できます。問題は、HTMLファイルを横向きのPDFに変換する方法がわかりません。コントローラーでそれを設定する方法はありますか? 、このことができます場合Rails 3とPDFKit、HTMLファイルを横向きのPDFに変換するにはどうしたらいいですか?

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

PDFKitはwkhtmltopdfのためのオプションを受け入れなければならないので、あなたはこれを使って、風景モードでレンダリングすることができるはずです私はPDFKitを使用しており、ランドスケープでPDFをレンダリングすることができます:

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 

私は、あなたは、HTMLファイルにメタタグを必要とするhttps://github.com/pdfkit/pdfkit/issues/12

+0

これを試みましたが、まだポートレートとして表示されています – leonel

7

:コントローラから

...

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

:ここからトン

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

は、次にPDFは横向きです。

+0

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

+0

これは完璧でした!私のミドルウェアのイニシャライザでは、デフォルトとしてPortraitを残しておく必要がありますが、これをページ単位でLandscapeにオーバーライドすることができます。 – FireDragon

関連する問題