Chrome がキオスク モードで実行されている場合のように、Google Chrome アプリでサイレント印刷を行うことは可能ですか?
--kiosk --kiosk-priting
Chrome がキオスク モードで実行されている場合のように、Google Chrome アプリでサイレント印刷を行うことは可能ですか?
--kiosk --kiosk-priting
このテーマの一時的な(一時的ではないかもしれません:))解決策を見つけました:
Chrome アプリのソリューション
アプリを Chrome にインストールする
このアプリからデスクトップへのショートカットを作成します。
以下のように右クリック>プロパティ>ターゲットテキストボックスの編集(「--kiosk-printing」パラメーターを追加します)
編集前:「C:\Program Files (x86)\Google\Chrome\Application\chrome.exe」 --profile-directory="Profile 2" --app-id=eoaefbbbpgcbhgeilphgobiicboopknp
編集後:「C:\Program Files (x86)\Google\Chrome\Application\chrome.exe」--kiosk-printing --profile-directory="Profile 2" --app-id=eoaefbbbpgcbhgeilphgobiicboopknp
印刷してみる
デフォルトのヘッダーとフッター (ページ アドレスと日付) を削除する場合: 通常の Chrome 印刷物を開く > プリンター プレビュー > 詳細設定 > [ヘッダーとフッター] のチェックを外します。Chrome はこの設定を常に記憶しています。
(実際、chromeはmanifest.jsonでもこのプロパティを提供する必要がありますが、まだ見つけられませんでした)
キオスク モードで何かを印刷すると、既定のプリンターにサイレント モードで自動的に印刷されます。print()
印刷したいページのコンテキストで呼び出すだけです。バックグラウンド/イベント ページから印刷する場合は、次のようにする必要があります。
// ...
function closePrint () {
document.body.removeChild(this.__container__);
}
function setPrint () {
this.contentWindow.__container__ = this;
this.contentWindow.onbeforeunload = closePrint;
this.contentWindow.onafterprint = closePrint;
this.contentWindow.print();
}
function printPage (sURL) {
var oHiddFrame = document.createElement("iframe");
oHiddFrame.onload = setPrint;
oHiddFrame.style.visibility = "hidden";
oHiddFrame.style.position = "fixed";
oHiddFrame.style.right = "0";
oHiddFrame.style.bottom = "0";
oHiddFrame.src = sURL;
document.body.appendChild(oHiddFrame);
}
//...
printPage
URL を渡して を呼び出すだけで、何かを印刷できます。
MDNのコード