2013-10-09 8 views
5

私はHTMLページをPDFに変換しようとしています。変換はPhantomJSでうまく動作しますが、ファントムはCSS3 columnsをサポートしていないようです。PhantomjsはHTMLからPDFへの変換のためにCSS3列をサポートしていますか?

コマンド私は(HTML-> PDF)

phantomjs.exe examples/rasterize.js http://davidwalsh.name/demo/css-columns.php sample.pdf 

結果のPDFはなく、項目の垂直リストを表示し、CSSの列スタイルを尊重していない実行していますよ。

しかし、HTML->画像を変換するには、次のコマンドを実行するとCSS3の列スタイル名誉を行います。

phantomjs.exe examples/rasterize.js http://davidwalsh.name/demo/css-columns.php sample.png 

を誰かが、これは正常な動作していることを確認していただけますか?

ところで、私はwkhtmltopdfでもこのdoes/will not be supporting CSS Columnsを使ってみました。

多くのおかげ

+0

カラムをサポートしているものが見つかったのか不思議です。私は同様の問題にぶつかりつつありますが、wkhtmltopdfはうまくいっていますが、私はまだ列をサポートしたいと思っています。 – MikeTheReader

+0

@ Dante617いいえ、オープンソースはCSS3の列をサポートしていません。私はPhantom JSとwkhtmltopdfを無駄にしようとしました。両方のジェネレータは非常に優れたライブラリです。ファントムはスピードの面ではやや優れています。 – singh1469

+0

ありがとうございます。うーん、Phantom JSはフロートのサポートが良好だったので、やっぱりやってしまったのですが、私はちょうどそれを使ってコラムを模倣しました。 – MikeTheReader

答えて

3

私は主要なWebKitのブラウザ(Safariとクローム)の両方が行うもののPhantomJsはおそらく依存しているWebKitのバージョンは、CSS3の列を実装していないと信じています。このトピックであり、このリンク

https://github.com/ariya/phantomjs/wiki/Supported-Web-Standards

と、このリンク

http://trac.webkit.org/wiki/QtWebKitFeatures22

は、私の知る限り、光と同じくらいを流します。

+0

私はこの結論に至りました。どうもありがとう。 – singh1469

+0

ここで問題に投票してください:https://github.com/ariya/phantomjs/issues/11821。 「回避する」とは、最初に画像に変換することです – Ryan

2

@Stolliと同じ結論に達しました。しかし、回避策として次のようにしました:

CSS3列を使用して、wkhtmltopdfライブラリに付属のwkhtmltoimageを使用してhtmlを画像に変換します。これにより、CSS3の列構造が維持されます。

次に、生成された画像を のようなhtml文字列に埋め込み、wkhtmltopdfを使用してPDFに変換します。

明らかに、ここには依存関係があるため、本番環境には理想的ではありません。

関連する問題