JS web打印

article/2025/9/14 4:11:01

11.1  Web打印

Web打印是一种常用的打印方式,其使用方法简单、方便、快捷,在浏览网页的同时就可以实现打印的功能。

实例291  调用IE自身的打印功能实现打印

实例说明

通过JavaScript调用IE自身的打印功能实现打印,这种方法比较简单,也是常用的打印方式。使用该方法只须将要打印的页面设计好,再通过JavaScript的window对象的print( ) 方法调用IE的打印功能即可。运行本实例,单击“打印”超级链接,会弹出打印对话框,如图11.1所示,然后进行相应的设置,并进行打印。

图11.1  调用IE自身的打印功能实现打印

技术要点

本实例主要通过调用window对象的打印方法print()来实现打印功能。

window对象的print()方法的语法格式如下:

window.print();

例如:

<a href="#" onClick="window.print()">打印</a>

实现过程

(1)设计要打印的页面。

(2)调用window对象的打印方法实现打印功能,代码如下:

<a href="#" onClick="window.print()">打印</a>

举一反三

根据本实例,读者可以:

  开发打印库存统计报表;

  打印校友录中的同学联系方式。

实例292  打印指定框架中的内容

实例说明

在实例292中已经介绍如何通过 JavaScript调用IE自身的打印功能实现打印,但是该方法将打印页面中的全部内容,包括“打印”超级链接,有时这是不需要的,本实例将介绍如何通过打印指定框架中的内容实现页面部分内容打印。运行本实例,如图11.2所示,单击“打印”超级链接,会弹出打印对话框,进行相应的设置后,单击“打印” 按钮即可对图11.2中的表格内容进行打印。

图11.2  打印指定框架中的内容

技术要点

在实现打印指定框架中内容时,首先需要让要打印的框架获得焦点,然后再调用window对象的print()方法实现打印。

语法:

parent.mainFrame.fcous();

window.print();

参数说明

l     mainFrame:表示框架的名称。

实现过程

(1)设计content.htm页面,将要打印的内容放置在该页面中。

(2)设计index.htm页面,在该页面的适当位置添加浮动框架(应用<iframe>标记创建),并将该浮动框架的src属性指定为步骤(1)中创建的content.htm文件,代码如下:

<iframe name="contentFrame" src="/content.htm"  frameborder="0" width="100%" height="100%"></iframe>

(3)在index.htm页面中添加“打印”超级链接,打印指定浮动框架中的内容,代码如下:

<a href="#" onClick="parent.contentFrame.focus();window.print();">打印</a>

举一反三

根据本实例,读者可以:

  开发打印库存盘点报表;

  实现在办公自动化系统中加入打印考勤明细表功能。

实例293  利用WebBrowser打印

实例说明

WebBrowser是IE内置的浏览器控件,无须用户下载。它的优点是客户端独立完成打印目标文档的生成,减轻服务器负荷;缺点是源文档的分析操作复杂,并且要对源文档中要打印的内容进行约束。运行本实例,单击“打印预览”超级链接,即可打开“打印预览”对话框,如图11.3所示,单击“打印”超级链接,即可打开打印对话框进行打印。

图11.3  利用WebBrowser打印

技术要点

本实例主要应用IE内置的WebBrowser控件实现,该控件的具体参数如下。

l     document.all.WebBrowser.Execwb(7,1):表示打印预览。

l     document.all.WebBrowser.Execwb(6,1):表示打印。

l     document.all.WebBrowser.Execwb(6,6):表示直接打印。

l     document.all.WebBrowser.Execwb(8,1):表示页面设置。

实现过程

(1)建立HTML的Object标签,调用WebBrowser控件,代码如下:

<object id="WebBrowser" classid="ClSID:8856F961-340A-11D0-A96B-00C04Fd705A2" width="0" height="0">

</object>

(2)建立相关的打印超级链接,并调用WebBrowser控件的相应参数实现打印预览、打印等功能。代码如下:

<a href="#" onClick="document.all.WebBrowser.Execwb(7,1)">打印预览</a> <a href="#" onClick="document.all.WebBrowser.Execwb(6,1)">打印</a> <a href="#" onClick="document.all.WebBrowser.Execwb(6,6)">直接打印</a> <a href="#" onClick="document.all.WebBrowser.Execwb(8,1)">页面设置</a>

举一反三

根据本实例,读者可以:

  实现在网站中打印各种报表功能;

  实现在网站中打印单据功能。

实例294  设置页眉页脚

实例说明

在系统默认的情况下,无论是利用IE自身的打印功能进行打印,还是利用IE自带的WebBrowser控件进行打印,在打印的文档顶部和底部会包括页眉和页脚,有时并不需要打印默认的页眉和页脚。本实例将介绍如何清空页眉页脚和恢复页眉页脚。运行本实例,单击“清空页眉页脚”超级链接,即可清空IE默认的页眉页脚,这时再单击“打印预览”超级链接,在打开的“打印预览”窗口中将不显示IE默认的页眉页脚,如图11.4所示,单击“恢复页眉页脚”超级链接即可恢复页眉页脚的显示。

图11.4  设置页眉页脚

技术要点

本实例主要通过WshShell 对象的相关方法实现。WshShell对象是WSH(WSH是Windows Scripting Host的缩写,内嵌于Windows操作系统中的脚本语言工作环境)的内建对象,主要负责程序的本地运行、处理注册表、创建快捷方式、获取系统文件夹信息及处理环境变量等工作。 WshShell 对象的相关方法如表11.1所示。

表11.1                                                    WshShell对象的相关方法

方    法

说    明

CreateShortcut

创建并返回WshShortcut对象

ExpandEnvironmentStrings

扩展PROCESS环境变量并返回结果字符串

Popup

显示包含指定消息的消息窗口

RegDelete

从注册表中删除指定的键或值

RegRead

从注册表中返回指定的键或值

RegWrite

在注册表中设置指定的键或值

Run

创建新的进程,该进程用指定的窗口样式执行指定的命令

本实例中主要应用了 RegWrite方法,下面将对该方法进行详细介绍。

RegWrite方法用于在注册表中设置指定的键或值,其语法格式如下:

WshShell.RegWrite strName, anyValue, [strType]

参数说明

l     strName:用于指定注册表的键或值,若strName以一个反斜杠 (在JavaScript中为//) 结束,则该方法设置键,否则设置值。strName 参数必须以根键名“HKEY_CURRENT_USER”、 “HKEY_LOCAL_MACHINE”、“HKEY_CLASSES_ROOT”、“HKEY_USERS”或 “HKEY_CURRENT_CONFIG”开头。

l     AnyValue:用于指定注册表的键或值的值。当strType为REG_SZ或REG_EXPAND_SZ时,RegWrite方法自动将 anyValue转换为字符串。若strType为REG_DWORD,则anyValue被转换为整数。若strType为REG_BINARY,则 anyValue必须是一个整数。

l     StrType:用于指定注册表的键或值的数据类型。RegWrite方法支持的数据类型为REG_SZ、REG_EXPAND_SZ、 REG_DWORD和REG_BINARY。其他的数据类型被作为strType传递,RegWrite 返回 E_INVALIDARG。

实现过程

(1)编写自定义JavaScript函数PageSetup_del()和PageSetup_set(),用于实现清空页眉页脚和恢复页眉页脚的功能。具体代码如下:

<script  language="JavaScript">  

var HKEY_RootPath="HKEY_CURRENT_USER//Software//Microsoft//Internet Explorer//PageSetup//";

function PageSetup_del(){       //清空页眉页脚

 try{

    var WSc=new ActiveXObject("WScript.Shell");

    HKEY_Key="header";

    WSc.RegWrite(HKEY_RootPath+HKEY_Key,"");

    HKEY_Key="footer";

    WSc.RegWrite(HKEY_RootPath+HKEY_Key,"");

   }catch(e){}

}

function  PageSetup_set(){   //恢复页眉页脚

 try{

    var WSc=new ActiveXObject("WScript.Shell");

    HKEY_Key="header";

    WSc.RegWrite(HKEY_RootPath+HKEY_Key,"&w&b页码,&p/&P");

    HKEY_Key="footer";

    WSc.RegWrite(HKEY_RootPath+HKEY_Key,"&u&b&d");

 }catch(e){}

}

</script>

(2)建立HTML的Object标签,调用WebBrowser控件,代码如下:

<object id="WebBrowser" classid="ClSID:8856F961-340A-11D0-A96B-00C04Fd705A2" width="0" height="0">

</object>

(3)创建“清空页眉页脚”和“恢复页眉页脚”的超级链接,并调用自定义函数PageSetup_del()和PageSetup_set()实现相应功能。代码如下:

<a href="#" onClick="PageSetup_del()">清空页眉页脚</a>

<a href="#" onClick="PageSetup_set()"> 恢复页眉页脚 </a>

(4)建立相关的打印超级链接,并调用WebBrowser控件的相应参数实现打印预览、打印等功能。代码如下:

<a href="#" onClick="document.all.WebBrowser.Execwb(7,1)">打印预览</a>

 <a href="#" onClick="document.all.WebBrowser.Execwb(6,1)">打印</a>

 <a href="#" onClick="document.all.WebBrowser.Execwb(6,6)">直接打印</a>

 <a href="#" onClick="document.all.WebBrowser.Execwb(8,1)">页面设置</a>

举一反三

根据本实例,读者可以:

  实现在任何打印页面中添加设置页眉页脚功能;

  实现自定义页眉页脚的内容功能。


http://chatgpt.dhexx.cn/article/Za60ZNlF.shtml

相关文章

web打印的最佳方案

web打印的最佳方案 web打印的痛点新的解决方案方案web页面实现源代码&#xff0c;源码打印伺服器demo及原理 web打印的痛点 winform打印的方案比较多&#xff0c;实现也比较容易&#xff0c;而且效果也非常炫&#xff1b;但现在越来越多的系统是web系统&#xff0c;甚至是移动…

前端网页打印window.print()

前言 print作为浏览已经比较成熟的技术可以经常被用来打印页面的部分内容&#xff0c;我们可以在MDN上查看到相关的简单介绍。 一、print()方法 print() 方法用于打印当前窗口的内容。调用 print() 方法会产生一个打印预览弹框&#xff0c;让用户可以设置打印请求。最简单的打…

web打印的几种方案

轉自&#xff1a;http://elf8848.iteye.com/blog/626790 -------------------------------------------一 基于Web的打印方案比较分析--------------------------------   基于web的套打&#xff0c;难度在于要将浏览器中呈现的html&#xff0c;精确地打印到票据中&#xf…

HttpPrinter实现web打印功能

HttpPrinter实现web打印功能 WEB套打可选方案不多&#xff0c;理想的更少&#xff0c;利用免费控件HttpPrinterJavaScript实现精确套打&#xff0c;算是较为经典的选择。这种方案其实比较简单&#xff0c;利用一个htm文件就可以实现模板设计过程&#xff0c;几乎是“空手套”式…

web打印实现几种方法

在工作中出现web打印的情况是非常多的&#xff0c;其实这也是一个比较烦人的问题&#xff0c;这篇博客整理一下关于Web打印的一些方法或者方式。 1. window.print() 这个方法是用来打印网页的&#xff0c;页面上的其他的元素也会被打印处理&#xff0c;在打印的时候页眉页脚是…

Web打印

布鲁斯李 Web打印 随着10i新版本的发布&#xff0c;在10i的iserver中&#xff0c;内置了一个web打印服务。是指将您在 Web 应用中制作的 Web 内容输出为可打印的文档。那么如何使用该服务&#xff0c;请继续往下看&#xff1a; 执行一次成功的web打印任务&#xff0c;我们需要…

实现WEB打印的几种方法

当前WEB应用开发非常流行&#xff0c;主要原因是WEB应用客户端的规则很简单&#xff0c;容易学习&#xff0c;容易维护&#xff0c;容易发布&#xff0c;降低了开发难度。但是&#xff0c;WEB应用的打印一直以来却是一个难题&#xff0c;特别是在应用中完成标签打印&#xff08…

web打印三种实现方式

web打印的方式可分为三种&#xff1a; 直接调用浏览器打印通过javascript插件调用浏览器打印通过第三方程序直接调用打印机 一、直接调用浏览器打印 通过在javascript代码中调用window.print()函数实现&#xff0c;浏览器会自动获取当前页面内容&#xff0c;并打开浏览器的打…

html纵向广告滚动条,网页右侧的漂浮广告代码,随滚动条滚动

HTML代码(即需要漂浮的广告)&#xff1a; js代码&#xff1a;前提是必须要引入jquery文件 $(function(){ $(window).scroll(function(){ var scrollTop document.body.scrollTop || document.documentElement.scrollTop || 0; $(".christmas_ad").stop(); var scrol…

php浮动广告,JavaScript实现漂浮广告代码的实例总结

我们在打开网页的时候&#xff0c;我们会发现不管是什么网页都会有很多漂浮的广告&#xff0c;有很多人都会在想&#xff0c;这样的效果是怎么实现的呢&#xff1f;今天我们就带大家详细介绍下JavaScript实现漂浮广告代码的实例总结&#xff01; 第一种 漂浮广告 不符合W3C Jav…

html左侧浮动广告代码,如何制作浮动广告 JavaScript制作浮动广告代码

如果有一定的JavaScript基础&#xff0c;制作浮动广告还是比较容易的。直接上代码了&#xff1a;无标题文档 *{ margin:0; padding:0; } #csdn { width:800px; margin:0 auto; } #ad { position:absolute; right:0px; top:30px; z-index:1; } #cl { position:absolute; right:0…

php 漂浮广告代码,JavaScript实现带缓冲效果的随屏滚动漂浮广告代码

本文实例讲述了JavaScript实现带缓冲效果的随屏滚动漂浮广告代码。分享给大家供大家参考&#xff0c;具体如下&#xff1a; 这里演示了始终随屏滚动的JavaScript代码&#xff0c;在国内的应用泛滥成灾了&#xff0c;特别是一些喜欢漂浮广告的站长&#xff0c;常把本代码用作了漂…

html左侧浮动广告代码,纯js网页浮动广告代码

网上一般的网页浮动广告代码都是基于jquery的&#xff0c;受jiquery版本及浏览器限制&#xff0c;非常容易出现不兼容的情况&#xff0c;本站分享一段纯js网页浮动广告代码&#xff0c;简单兼容。 html代码&#xff1a; javascript代码&#xff1a; window.οnlοadfunction(){…

HTML将广告关闭的JS代码,带关闭漂浮广告代码_漂浮广告js代码_漂浮窗口模式关闭...

带关闭漂浮广告代码带关闭漂浮广告代码带关闭按钮地网页漂浮广告代码 x ff.js代码 var xpos = 20; var ypos = document.body.clientheight; var step = 1; var delay = 30; var height = 0; var hoffset = 0; var woffset = 0; var yon = 0; var xon = 0; var pause = true; v…

漂浮广告代码

<!doctype html> <html> <head> <meta charset"utf-8"> <title>漂浮广告代码</title> <script src"http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script> </head> <body> &…

php漂浮广告代码,JS随机漂浮广告代码具体实例

复制代码 代码如下: var xPos0,yPos0;//x,y轴坐标 var xon0;//图片在x轴移动方向 var yon0;//图片在y轴移动方向 var step1; //移动距离 var imgdocument.getElementByIdx_x("float");//图片层 function floatP() { var widthdocument.body.clientWidth;//浏览器…

JS实现漂浮广告功能

JS实现漂浮广告功能 前言一、漂浮广告案例 前言 漂浮广告非常简单也是老案例了&#xff0c;在网页的设计中可直接拿去用&#xff0c;原理都是我之前文章所讲到的&#xff0c;如果有什么不明白的可以看看我之前的文章&#xff0c;仅供参考学习。 一、漂浮广告案例 我在这个案例…

C语言课后习题(1)

谭浩强C语言第五版的一些课后习题 常用头文件&#xff1a; #include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> #include<stdbool.h> 注意事项&#xff1a; 1)获取输入的字符串时&#xff0c;gets保留空格 scanf遇到空格…

C语言课后习题(计算增长率比值

#include <stdio.h>int main() {double p,r;int n;p1.00;r0.07;for(n1;n<10;n){pp*(1r);}printf("%lf\n",p);return 0; } 假如我国国民生产总值的年增长率为7%&#xff0c; 计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式,r为年增长率&…

c语言字符串作业题,C语言课后习题练习(四)

(ps:提前声明一下&#xff1a;课后习题是备份给自己看的&#x1f602;) 1.输入3个整数&#xff0c;按由小到大的顺序输出 int main() { void swap(int *p1, int * p2); int n1, n2, n3; int *p1, *p2, *p3; printf("input three integer n1,n2,n3:"); scanf("%d…