1

我想在我的网站上使用“打印”按钮来使用 Google 云打印打印文档,但我希望目标的“url”(PDF 文件)在单击按钮后动态更改(特别是,基于从 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上面的链接,但代码已被最小化并且难以理解(无论如何对我来说)。

我似乎想要的是一个 Javascriptprint函数,您可以将 [文档 URL] 和 [文档标题] 传递给它。

有没有更好的方法来实现所需的功能,而不是我想出的“点击隐藏按钮”?

感谢您的阅读。

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 回答