4

スクリプトコードは次のとおりです。

var page = require('webpage').create();

page.paperSize = {
  format: 'A4', 
  orientation: "landscape"
};

page.open('http://www.google.com', function () {

  var arr = page.evaluate(function () {
     var pageWidth = document.body.clientWidth;
     var pageHeight = document.body.clientHeight;

     return [pageWidth, pageHeight];
  });

  console.log('pagwWidth: ' + arr[0] + '; pageHeight: ' + arr[1]);

  page.render('google.pdf');
  phantom.exit();    
});

document.bodyページのclientWidthとclientHeightを取得しようとしています。このスクリプトを実行すると、次の値が得られます。

pagwWidth: 400; pageHeight: 484

上の幅が400pxなのはなぜですか?私はもっ​​と広くすべきだと思います。


返信してくれてありがとう。でも、次のことがわかりません。viewportSize = {幅:1024、高さ:800}を使用する場合

var page = require('webpage').create();

page.paperSize = {
  format: 'A4', 
  orientation: "landscape"
};

page.viewportSize = {width: 1024, height: 800};
page.open('http://www.google.com', function () {

  page.render('google.pdf');
  phantom.exit();    
});

次のファイルを取得します。 ここに画像の説明を入力してください

しかし、viewportSize = {幅:400、高さ:400}を使用すると

var page = require('webpage').create();

page.paperSize = {
  format: 'A4', 
  orientation: "landscape"
};

page.viewportSize = {width: 400, height: 400};
page.open('http://www.google.com', function () {

  page.render('google.pdf');
  phantom.exit();    
});

私は同じようになります: ここに画像の説明を入力してください

では、viewportSizeがビューにどのように影響するのかわかりませんか?

4

1 に答える 1

12

ドキュメントは、用紙サイズではなく、ビューポートサイズの影響を受けます。この線に沿って考えてみてください。WebブラウザでWebページがどのように表示されるかは、現在のプリンタ設定とは関係ありません。

viewportSizeページレイアウトに影響を与えたい場合に使用します。

page.viewportSize = { width: 1024, height: 800 };
于 2013-02-10T04:21:56.683 に答える