Javascript 简明教程

JavaScript - Page Printing

很多时候,希望在你的网页中放置一个按钮,以此通过实际打印机打印该网页的内容。JavaScript 帮助你使用 window 对象的 print 函数来实现这一功能。

JavaScript print 函数 window.print() 在执行时会打印当前网页。你可以直接使用 onclick 事件来调用此函数,如下面的示例所示。

Example

尝试以下示例。

<html>
   <head>
      <script type = "text/javascript">
         <!--
         //-->
      </script>
   </head>

   <body>
      <form>
         <input type = "button" value = "Print" onclick = "window.print()" />
      </form>
   </body>
<html>

尽管它对获取打印输出有帮助,但它并不是一种推荐的方法。对于打印机来说,友好页面其实就是没有图像、图形或广告副本的页面。

你可以通过以下方法让网页成为打印机友好型页面:

  1. 制作该页面的副本,把不想要的内容和图像留出,然后从原始页面链接到打印机友好型页面。查看 Example

  2. 如果你不想保留页面的额外副本,那么你可以使用正确的注释把要打印的文本标记出来,比如 <!-- PRINT STARTS HERE -→…​.. <!-- PRINT ENDS HERE -→ ,然后在后台使用 PERL 或任何其他脚本清除可打印文本并显示最终的打印内容。我们 Tutorialspoint 使用此方法为我们的网站访问者提供打印功能。

Example

用 onclick 事件创建一个按钮,该事件与 printpage() 方法绑定在一起,当我们要打印页面时,此方法应该被触发。

当用户单击该按钮时,将调用 printpage() 方法(在脚本标记中),它可能包含有助于打印页面的某些代码。

<html>
   <head>
      <title>Print Page</title>
      <script>
         function printpage() {
            window.print();
         }
      </script>
   </head>
   <body>
      <h2>This is a sample page to print</h2>
      <button onclick="printpage()">Print Page</button>
   </body>
</html>

当用户单击该按钮时,浏览器的打印对话框将打开,允许它们打印当前窗口中显示的 HTML 文档。

在使用 JavaScript 打印页面时,请记住以下几点:

  1. print() 方法仅会打印当前窗口的内容。如果你想打印多页,你需要对每一页都调用 print() 方法。

  2. print() 方法不会打印任何隐藏的内容。例如,如果你有一个设置了 style 属性为“display: none”的元素,那么它将不会被打印。

  3. print() 方法不会打印在页面加载后动态加载的任何内容。例如,如果你使用 JavaScript 从服务器加载图像,那么该图像将不会被打印。

如果你需要打印更复杂的内容,如表格或表单,你可能需要使用其他方法,如生成 PDF 文件或使用第三方打印库。

How to Print a Page?

如果你没有在网页上找到上述功能,那么你可以使用浏览器的标准工具栏来打印网页。请按照下列链接进行操作。

File →  Print → Click OK  button.