1

Chrome がキオスク モードで実行されている場合のように、Google Chrome アプリでサイレント印刷を行うことは可能ですか?

--kiosk --kiosk-priting
4

3 に答える 3

0

このテーマの一時的な(一時的ではないかもしれません:))解決策を見つけました:

Chrome アプリのソリューション

  1. アプリを Chrome にインストールする

  2. このアプリからデスクトップへのショートカットを作成します。

  3. 以下のように右クリック>プロパティ>ターゲットテキストボックスの編集(「--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

  4. 効果のためにクロムを完全に再起動します(クロムのすべてのタブとウィンドウを閉じます)
  5. 印刷してみる

  6. デフォルトのヘッダーとフッター (ページ アドレスと日付) を削除する場合: 通常の Chrome 印刷物を開く > プリンター プレビュー > 詳細設定 > [ヘッダーとフッター] のチェックを外します。Chrome はこの設定を常に記憶しています。

(実際、chromeはmanifest.jsonでもこのプロパティを提供する必要がありますが、まだ見つけられませんでした)

于 2015-09-07T09:12:43.970 に答える
0

キオスク モードで何かを印刷すると、既定のプリンターにサイレント モードで自動的に印刷されます。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);
}
//...

printPageURL を渡して を呼び出すだけで、何かを印刷できます。

MDNのコード

于 2014-03-12T18:20:31.780 に答える