11

phantomjsを使用して、メソッドを使用して Web コンテンツの画像をラスタライズするときに使用される DPI 設定を制御する方法はありpage.render(filename)ますか?

インターフェイス apiを介してこれを制御するものは何も見つかりませんが、誰かがこれを行う方法をすでに考え出しているかどうかはわかりませんでした。

私たちのビジネスケースは次のようになります。

Web アプリケーションで作成されたカスタム HTML コンテンツは、rasterize.js ファントム プロセスに送られ、特定のタグを照会してクライアントの四角形を設定します。このクライアントの四角形は HTML の PNG にレンダリングされ、他の場所で画像として使用できます。

結果として得られる PNG の解像度をデフォルトよりも高くする必要があります。これは、奇妙なフォント サイズ/太字の組み合わせでテキストにエイリアシングが発生するためです。

4

2 に答える 2

2

DPIを他のものと混同している可能性がありますが、zoomFactorオプションを調べましたか?これをページオブジェクトに設定すると、レンダリングされた画像がズームされます。

于 2012-09-21T12:58:48.810 に答える
0

このフォークにより、dpi https://github.com/martonw/phantomjs/tree/issue-%2313553を設定できます

次に、dpiを設定できますpage.dpi = 72

console.log('Loading a web page');  
var page = require('webpage').create();
var url = 'http://phantomjs.org/';
page.open(url, function (status) {
  //Page is loaded!
  page.dpi=300; // this is where you actually set the DPI
  page.render("test.pdf");
  phantom.exit();
});
于 2015-10-06T08:30:35.487 に答える