1

Google クラウド プリントでドキュメントを印刷するために自分の Web サイトに「印刷」ボタンを追加したいのですが、ボタンがクリックされた後にターゲット (PDF ファイル) の「URL」を動的に変更したい (特に、AJAX 呼び出しから返されたものに基づく)。

GCP Web Element (GCPWE) にも同様の機能があるようですが、私が望むものとはまったく異なります。setPrintDocument特に、ボタンがクリックされる前にのみ「ターゲット」を( を呼び出すことによって)変更できるようです。

ボタンをクリックした後に GCPWE の URL を指定する方法はありますか?

GCPWE サイトのサンプル コードは次のとおりです。

<div id="print_button_container"> </div>


<script src="http://www.google.com/cloudprint/client/cpgadget.js">
</script>
<script defer="defer">
    var gadget = new cloudprint.Gadget();
    gadget.setPrintButton(
          cloudprint.Gadget.createDefaultPrintButton("print_button_container"));
    gadget.setPrintDocument("url", "[document title]", "[document URL]");
</script>

表示されている印刷ボタンがクリックされた後に を非表示にしてイベント<div id='print_button_container'>をトリガーすることを検討しましたが、これはかなり洗練されておらず、不適切なようです。.click上記のリンクを見てきましたgpwidget.jsが、コードは最小化されており、理解できません(とにかく、私には)。

私が望んでいるように見えるのはprint、[ドキュメントの URL] と [ドキュメントのタイトル] を渡す Javascript 関数です。

私が思いついた「隠しボタンをクリックする」よりも、目的の機能を実現するためのより良い方法はありますか?

読んでくれてありがとう。

4

2 に答える 2

4

必要なときにいつでも印刷ダイアログを開くことができます。呼び出すだけです。

gadget.openPrintDialog()

プリンターダイアログが開きます。したがって、静的メソッドを使用して印刷ボタンを作成する場合があります。

cloudprint.Gadget.createDefaultPrintButton("print_button_container");

次に、ボタンのカスタム ハンドラーをアタッチし、準備ができたらいつでも呼び出すだけです。

var gadget = new cloudprint.Gadget();
gadget.setPrintDocument(...);
gadget.openPrintDialog();
于 2011-10-28T07:19:39.467 に答える
2

印刷ダイアログを開いた後でも、いつでもメソッド gadget.setPrintDocument() を呼び出すことができます。

于 2011-10-27T00:20:58.477 に答える