2012-01-19 8 views
3

私はPDFKitとwicked_pdfを試しました。私が欲しかったところ HTML to PDF Rails

PDFKit

はほとんど私を得たが、私はフッターの底に固定し得ることができるように、それは、CSSルールのサポートを持っていなかった。

position: fixed; 
bottom: 0; 

回避策は、この問題を解決するには?

グーグルでは、エビのようなものと、HTMLをサポートしていないもの以外のものはあまりありません。

不思議な人のために。 wkhtmltopdfがインストールされ、動作するので、PDFKitが動作します。

respond_to do |format| 
    format.html {render :layout => nil} 
    format.pdf do 
    render :pdf => "file_name.pdf", 

    :save_to_file => Rails.root.join('public/uploadedfiles', "filename") 
    end 
end 

答えて

0

私はPDFKitもwicked_pdfも試していないので、私は不思議です。しかし、おそらくこれはトリックを行うことができます。代わりにSticky Footerハックを試してみましたか?あなたが本当に何をしたいということです、要素は、PDF文書内に固定されるようにしたいと思う理由

http://ryanfait.com/sticky-footer/

+0

ありがとうございました。確かめます。 – MattiasB

+0

残念ながらそれは働かなかった。振り出しに戻って。 : – MattiasB

0

私は本当にわかりませんか?さらに、両方の宝石はwkhtmltopdfを使用します。これはWebkitを使用してHTMLをレンダリングし、最終的にpdfに変換するユーティリティです。 Webkitでうまくいくと、pdfとしてすばらしく見えるはずです。しかし、私はpdfが要素をCSSのように「固定」することをサポートしているとは思っていません。

+0

私の問題は、生成されたページごとに同じ新しいフッタに貼り付けられる特別なフッタを必要とすることです。位置を固定してhtmlと同じように動作し、pdfには印刷しませんでした。 – MattiasB

+0

それは理にかなっています。あなたはPDFを生成するために使用するコードを投稿してください。 –

0

DocRaptorを調べることをおすすめします。それは私の経験から、同等のプログラムよりも優れたCSSサポートを持っています。

DocRaptor

ここでのRailsでDocRaptorを使用するためのコードへのリンクです:CSS3で

DocRaptor Rails example

+0

DocRaptorには1つの問題があります。オープンソースではないので、私の上司はおそらくそのような金額を使っていません。:( – MattiasB

+0

あなたの上司はあなたの時間をどれくらいの価値を持っていますか?DocRaptorのようなホスティングされたソリューションを使うだけでなく、もっと多くの時間を費やすにはどれくらいの時間がかかりますか? – Gareth

2

あなたがこの方法でフッターを含める@pageルールを使用することができます。

@page { 
    @bottom-center { 
    content: "foo"; 
    } 
} 

これは多くの有料PDFソリューションでサポートされています。 PDFReactorと私はプリンスと思う。

しかし、Webkit(wkhtmltopdfが基づいています)doesn't support the CSS3 paged media rulesので、フォールバックが必要です。

Wicked PDF documentationには、特定のページでレンダリングするためにHTMLのチャンクを渡すために使用できるオプションがリストされています。これはあなたにとって最良の選択肢のようです。