3

LinuxのヘッドレスChromeにsimulated device modeまたはemulated print media modeを有効にする方法はありますか?ヘッドレスChromeでプリントメディアエミュレーションを有効にするにはどうすればよいですか?

それはそうのようなデベロッパーツールで手動で行うことができます。

Enable print media emulation

目標は、注入または任意のCSSを変更せずにエミュレートされた印刷媒体モードでフルページのスクリーンショットを取ることです。私はすでにNode.js経由でWebページのスクリーンショットを撮ることができますが、エミュレートされた印刷メディアモードでは使用できません。私は検索しましたが、有用なCLI switchも見つかりませんでした。

例:CLIまたはNode.jsのを経由してプログラム的にこれを行うにはどのようにStackOverflow print emulation

?それも可能ですか?


ヘッドレスクロームデベロッパーツールプロトコルと対話するのNode.jsを使って上のリファレンス:https://developers.google.com/web/updates/2017/04/headless-chrome

-

アップデート:私はエミュレーションChrome DevTools Protocol Viewerドキュメントを調査し、そこにきましたEmulation.setEmulatedMediaの規定です。 Emulation.setEmulatedMedia({media: "print"});を設定すると、ページが印刷エミュレーションモードでレンダリングされます。

答えて

2

エミュレーションの下の最新の(チップの先端)Chrome DevTools Protocol Viewer文書には、エミュレートされたメディアに関するセクションがあります。この1つのライン印刷媒体エミュレーション可能にするであろう:ビューポートの幅(96 DPI @〜816px)紙の8.5inシートのそれに設定されている場合に加えて

Emulation.setEmulatedMedia({media: "print"}); 

を、次いで、スクリーンショットは、カラー印刷に似ているであろうプレビュー

const viewportWidth = 816; // 8.5 in 
const viewportHeight = 1056; // 11 in 

const deviceMetrics = { 
    width: viewportWidth, 
    height: viewportHeight, 
    deviceScaleFactor: 0, 
    mobile: false, 
    fitWindow: false 
}; 
Emulation.setDeviceMetricsOverride(deviceMetrics); 
Emulation.setVisibleSize({width: viewportWidth, height: viewportHeight}); 
関連する問題