WEB打印系列教程之二——使用IE的打印功能进行一般的网页打印

核心提示:本篇内容讲述利用IE提供的简单的打印功能,进行打印的设置。

    在我们进行web开发的时候,通常会需要用到打印,然而,由于web技术的限制及考虑到安全的问题,一直以来,web打印的功能都是非常弱的,对此,我们也只能接受。也许你在开发过程中经常会遇见客户对你说,“你们系统的打印太差了,你看看excel的打印多好啊,”,面对这样的用户,我们除了苦笑,还能说什么呢?如果你对着他们去解释什么是BS架构,什么是CS架构,不但不能够解决问题,反而会招致用户的反感。

    那么,我们是不是就什么都不能做了呢?答案当然是否定的。利用现有的web技术,再加上针对求的灵活实现,我们也可以做出漂亮的打印出来。

    在接下来的几篇文章里,我将分别介绍几种打印的方法或技术。这些方法有的很简单,有的稍微复杂一点。我们还是从基础做起,先了解最简单的打印技术,然后再一步一步提高,这样也有利于消化技术。

本篇内容讲述利用IE提供的简单的打印功能,进行打印的设置以及打印。

在IE里打印,我们可以通过javascript来调用window.print()函数实现。下面是一个简单的代码示例。

1.

 

点击“打印”后,即可弹出打印窗口,如下图。 
 

通过这个函数,可以实现最简单的打印功能。如果我们要对纸张,页边距进行设置,那该怎么做呢? 我们知道,我们可以方便地通过 Internet Explorer 用户界面更改页边距、页眉和页脚设置和默认 Internet Explorer 打印机,IE也提供了一个叫WebBrowser 控件来供我们调用,通过调用,可以在页面上调出打印的设置窗口,在设置窗口里,用户可以更改页边距、页眉和页脚设置等。(但是,在 Internet Explorer 或 WebBrowser 控件下没有以编程方式更改这些设置的方法。在本系列教程的第三篇,我将介绍如何在页面上通过编程的方式来更改设置。)我们可以在页面上输入如下代码来调用WebBrowser 控件。

<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"   id=wb name=wb ></OBJECT>     
<input type='button' value='打印' onclick='javascript:wb.ExecWB(6,1)'/>   
<input type='button' value='打印预览' onclick='javascript:wb.ExecWB(7,1)'/>   
<input type='button' value='页面设置' onclick='javascript:wb.ExecWB(8,1)'/>   

 

 

 

 

 

上例中的OBJECT就是IE提供的打印控件,叫WebBrowser,我们在网页中可以用我们设置的id或name来引用它。
这个对象有很用法,其中涉及到打印的有下面三项。
wb.ExecWB(6,1)
打印
wb.ExecWB(7,1)
打印预览
wb.ExecWB(8,1)
打印页面设置

点击“打印”按钮,即可弹出和window.print()函数一样的窗口。 点击打印预览,即可预览当前页面。



 

点击“页面设置”,即可弹出页面设置窗口,在设置窗口里,可以对边距,页眉等进行详细设置。

 

 

通过以上三个功能,我们就可以进行简单的打印和设置了,对于一般的打印需求来说基本足够。

这里需要说明的是,“页面设置”中的各个值,是存储在用户的注册表中。

下面是 Microsoft Internet Explorer 访问打印设置的方式:

对于页边距,Microsoft Internet Explorer 首先尝试从以下注册表项中获取值:

1.       HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup

如果没有此项,Internet Explorer 将通过从以下注册表项中复制值来创建此项:

1.       HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\PageSetup

如果没有此项,将提供默认值。

对于页眉和页脚,将从以下项中获取值:

1.       HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup

如果没有此项,将提供默认值。

页边距的默认值是 0.75,

对于 Internet Explorer 默认打印机,默认值将从以下项提供:

1.       HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup\printer

请注意,这些值作用于整个系统,影响着当前用户的 WebBrowser 控件和 Internet Explorer 的所有实例。因此,如果你设置了第一张网页的页眉是“AJava.org”,那么第二张网页的页眉也是它。

那么,有没有一种办法,能够在程序里对这些选项进行设置,而不需要用户每次都手工来设置呢?请看《[AJava原创]WEB打印系列教程之三--通过编程方式进行复杂的WEB打印设置》

 

JS 实现在IE浏览器下的打印功能的去掉页眉页尾代码 阅读详情

相关推荐

WEB打印系列教程之四--使用ScriptX进行复杂的WEB打印设置、使用jatoolsPrinter控件进行WEB打印设置

在以前的几篇文章里,介绍的都是如何利用IE本身提供的控件在进行打印设置,这种方法有它的局限:不能够以编程的方式进行页面方向的设置,而这有时很重要。下面本道就给大家介绍一下,如何使用一个叫ScriptX的控件来进行复杂一点的打印设置。ScriptX是一个叫MeadCo的国外公司的产品,它分为基础版(免费)和高级版(收费),基础版可以对 页眉,页脚,页边距,纸张方向进行设置。高级版有一些额外的功能,由于是收费的,需要付费以后才能用到你系统中,这里就不介绍了。ScriptX的最新版是6.4,可以在以下地址下载。S

Magister_Feng的专栏 3941

【HTML】HTML浏览器打印自定义页眉页脚

1、IE(Internet Explorer)浏览(V) 注册表位置 计算机\HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup 代码 说明 示例 &w 标题 ...

少莫千华 1万+

jatoolsPrinter实现web打印功能

实现WEB在线打印功能的方法很多,有些人直接用浏览器自带的打印功能实现在线打印,有些人是用js编码来实现打印功能,更加有些公司把这种功能实现作为一个产品编写给用户使用(像今天要说的jatoolsPrinter控件)····方法很多(这些区别这不赘言,可以查阅网络,会有答案),但是目的都是要完成web的打印功能。        今天这篇博客主要是在说说怎么利用jatoolsPrinter打印控件来完

Q 1万+

使用浏览器自带打印功能,去除页眉页脚,横屏打印等

HTML代码

ful1021的专栏 7092

使用FastReport.net 报表在网页上实现打印功能

这些年的工作当中,最早是在8年前接触到FastReport这个报表工具,从名字上来看,直译过来就是快速报表,正所谓天下武功,唯快不破,FastReport报表早些年确实是制作报表的不二之选,8年前的工作中,涉入到了医疗行业,项目中要使用FastReport.net 打印基因检测报告,效果确实是满足了项目要求。 最新版FastReport.net支持.net core 鸡肋的FastRepo...

weixin_33725807的博客 3552

Lodop Web打印控件使用教程:免费且功能全面

本文还有配套的精品资源,点击获取 简介:Web打印控件是实现网页打印功能的重要组成部分,Lodop作为其中一款免费且功能全面的解决方案,特别适合需要复杂打印功能的开发者。作为一个ActiveX插件,Lodop可以扩展浏览器功能,实现包括裁剪打印内容、自定义打印布局、多页打印、PDF预览等在内的高级打印操作。开发者可以通过查看示例文件学习如何集成和使用Lodop,以及如何通过...

weixin_33557333的博客 6125

【注册表】windows系统注册表常用修改方案

当我们使用了系统一段时间,装了很多的程序,常常会造成鼠标右键菜单中“新建”菜单的长度增加,这时,我们想减轻“新建”菜单的负担,我们可以修改注册表。在HKEY_LOCAL_MACHINE\Software\CLASSES\Drive\shell 下创建一个主键“Defrag”在右边窗口中把“默认”的值改为:“整理磁盘碎片” ,并在此主键“NewWindow”下创建一个主键“command”,单击“command”,在右边窗口中把“默认”的值改为“C:\WINDOWS\defrag.exe %1”。

学习 记录 总结 分享 1万+

精通IE浏览器的网页打印技巧与实践

WebBrowser控件是.NET Framework提供的一个组件,它内置了IE浏览器的引擎,因此可以加载和显示HTML页面。这个组件不仅支持页面的加载和导航,还支持打印以及打印预览功能。通过编程方式调用WebBrowser组件的打印功能,可以实现对Web页面的自动打印操作,这对于批量打印Web报告、文档等场景非常有用。打印预览功能允许用户在打印之前查看页面在纸张上的最终效果。它的重要性不言而喻,尤其是在需要精确布局和格式化的文档中。通过预览,用户可以:预览页面布局,确认是否符合预期。

weixin_33628677的博客 1086

WEB打印系列教程之二--使用IE的打印功能进行一般的网页打印

 在我们进行web开发的时候,通常会需要用到打印,然而,由于web技术的限制及考虑到安全的问题,一直以来,web打印的功能都是非常弱的,对此,我们也只能接受。也许你在开发过程中经常会遇见客户对你说,“你们系统的打印太差了,你看看excel的打印多好啊,”,面对这样的用户,我们除了苦笑,还能说什么呢?如果你对着他们去解释什么是BS架构,什么是CS架构,不但不能够解决问题,反而会招致用户的反感。

peterlinxt的专栏 589

这是一个web打印控件,所见即所得。

这是一个web打印控件,所见即所得。 有感于IE的打印无法控制,自己用delphi开发了一个web打印控件。 该控件只有一个方法PrintWeb,只要形成了需要打印的静态页面(input需要转换,否则打印结果不好看,可以参加demo中的input结果)做为参数传递给PrintWeb即可,参数形式例如:http://127.0.0.1:8100/printDemo.htm。 需要开放ie的ActiveX的权限。 如果要正常运行例子,需要修改路径:printMe.PrintWeb("file://e:/download/printDemo.htm"); ActiveX的定义如下: <OBJECT id="printMe" classid="clsid:143F250B-1922-43A8-8C56-4D61C2834078" height="0" width="0"> </OBJECT> 使用前请先注册TJCYOfficeControlXControl.ocx控件。

【深度学习-番外1】Win10系统搭建VSCode+Anaconda+Pytorch+CUDA深度学习环境和框架全过程

本文将介绍在Windows 10系统下搭建深度学习环境的完整过程,包括安装Anaconda、CUDA、NVIDIA显卡驱动以及Pytorch框架。后续本专栏的Python语言下的深度学习环境都以本篇搭建的为准。

fengzhuqiaoqiu的博客 4002

WEB打印系列教程之一--基于Web的打印方案比较分析、使用IE的打印功能进行一般的网页打印

<br />应用web化,不论对开发商,还是对用户来说,实在是一种很经济的选择,因为基于web的应用,客户端的规则很简单,容易学习,容易维护,容易发布。但对程序员来说,因为浏览器的局限性,却要面对很多挑战。怎么样来进行基于web的套打,就是这么一个令多数程序员头痛不已的问题。 <br />基于web的套打,难度在于要将浏览器中呈现的html,精确地打印到票据中,而且能够实现对分页位置的控制。下面就ie浏览器所能采用的套打解决方案,来个汇总分析,希望对大家有所帮助。 <br />一、浏览器的打印功能菜单<br

Magister_Feng的专栏 2798

轻量级替代方案:用AIFlowy + Ollama在本地快速搭建一个可用的AI智能体平台

本文介绍了如何使用AIFlowy和Ollama在本地快速搭建轻量级AI智能体平台,涵盖从环境准备到智能体集成的全流程。通过简化部署步骤和优化性能,15分钟内即可完成搭建,适用于原型验证和小团队协作,显著提升开发效率。

weixin_29207533的博客 220

java web调用ie 打印 有遗漏_[AJava原创]WEB打印系列教程之二--使用IE的打印功能进行一般的网页打印...

在我们进行web开发的时候,通常会需要用到打印,然而,由于web技术的限制及考虑到安全的问题,一直以来,web打印的功能都是非常弱的,对此,我们也只能接受。也许你在开发过程中经常会遇见客户对你说,“你们系统的打印太差了,你看看excel的打印多好啊,”,面对这样的用户,我们除了苦笑,还能说什么呢?如果你对着他们去解释什么是BS架构,什么是CS架构,不但不能够解决问题,反而会招致用户的反感。那么,我...

weixin_36143290的博客 180

从mseed到SAC格式转换全攻略:mseed2sac工具安装与批量处理技巧

本文详细介绍了如何将mseed格式的地震数据高效转换为SAC格式,涵盖mseed2sac工具的安装、单文件转换技巧、批量处理自动化实现以及元数据高级处理策略。通过具体命令和脚本示例,帮助地震学研究者快速掌握数据预处理的关键技术,提升波形数据分析效率。

ruby5的博客 927

基于YOLO+DeepSeek的农作物病虫害检测系统

本系统是一个基于YOLO+DeepSeek的农作物病虫害检测系统。 可使用YOLOV1-YOLOV12的任意模型进行目标检测。可以实现检测图片、批量检测图片、视频检测、摄像头检测四种方式。

qq_51977316的博客 1809

[AJava原创]WEB打印系列教程之二--使用IE的打印功能进行一般的网页打印

<br />在我们进行web开发的时候,通常会需要用到打印,然而,由于web技术的限制及考虑到安全的问题,一直以来,web打印的功能都是非常弱的,对此,我们也只能接受。也许你在开发过程中经常会遇见客户对你说,“你们系统的打印太差了,你看看excel的打印多好啊,”,面对这样的用户,我们除了苦笑,还能说什么呢?如果你对着他们去解释什么是BS架构,什么是CS架构,不但不能够解决问题,反而会招致用户的反感。<br />那么,我们是不是就什么都不能做了呢?答案当然是否定的。利用现有的web技术,再加上针对求的灵活实

319

一文学会Cadence Sigrity PDN仿真——硬件新手小白都能看懂的保姆级教程

电源完整性的仿真,实际上是在仿真以及优化系统中的等效串联电阻。知道了仿真以及优化的目标之后,接下来就是要弄明白这个串联电阻从哪儿来以及怎么优化。整个系统中的串联电阻实际上由三部分组成:没有相位的阻抗,有相位的容抗和感抗,得益于相位,在某个特定的频点,容抗和感抗会大小相等,相位相反而相互抵消,这时候整个系统中就剩下了阻抗,所以整个系统的串联电阻达到了一个最低值,这种现象就是----谐振。当系统处于谐振点时候,整个系统会有一个最小的串联电阻,所以第一个优化电阻的手段就是让谐振来的更频繁一点。

学习帮的博客 2万+

网页调用ie的打印功能

// 打印页面设置   function printsetup(){       wb.execwb(8,1);   }   // 打印页面预览   function printpreview(){               wb.execwb(7,1);   }     function printit(){       if (confirm('确定打

wangganggang90的专栏 5212

ATS Request中的PASID的作用是什么

摘要: PASID(进程地址空间标识符)是PCIe ATS(地址转换服务)中的关键组件,用于标识不同进程或虚拟机的地址空间。其主要作用包括:1)支持多进程共享设备时隔离地址空间;2)实现共享虚拟地址(SVA),允许用户态程序直接访问设备;3)提升虚拟化性能(如SIOV),通过PASID区分虚拟机请求;4)增强安全性,基于PASID限制设备内存访问权限。PASID通过20位标识符在TLP前缀中传递,与IOMMU协作完成地址转换与缓存,适用于高性能计算、AI及虚拟化场景,但依赖硬件支持和软件适配。

元直的博客 1562

【2025年华为秋招(AI)-11月19日-第一题(100分)- 选择题】(题目+思路+Java&C++&Python解析+在线测试)

本文摘要: 本文包含15道单选题和5道多选题,涵盖机器学习、深度学习、概率统计和数值计算等多个领域。单选题涉及Transformer的Softmax层作用、最小二乘法拟合、概率密度计算、注意力机制、反向传播问题、ROC曲线用途、截断误差来源等知识点。多选题考察大模型训练技术、BERT/GPT比较、强化学习对齐方法、CNN常见层以及PCA特性等内容。题目设计注重理论与实践结合,既包含数学推导,又关注前沿技术应用,全面检验读者对机器学习核心概念的理解能力。正确答案均附有详细解析,帮助理解相关技术原理。

m0_73659489的博客 146

IE浏览器使用JS打印部分网页

这学期刚刚才开始跟老师写项目,用的是ThinkCMF,不得不说这个框架真的不够友好,对于没接触过的人目录实在是看不懂。跑题了。。。 因为我这块后台逻辑我很早就写完了,然后老师就让我去写前端(不过这涉及到JS,好像说前端不大对)。 接到了一个打印功能。刚开始听得时候感觉很简单啊,不就是JS调用浏览器自带的打印功能,然后打印页面就好啦。然后就屁颠屁颠的去写。。。前提太多,跳过跳过。

Zh的博客 2419

大厂面试级C#上位机完整项目(终极版):工业级Modbus协议封装 + 标准多线程采集 + 全链路异常处理

(Modbus统一通信接口)、(采集服务接口)职责:定义所有核心操作的标准接口,屏蔽底层差异(RTU/TCP、串口/TCP),面向接口编程的核心体现。新增协议/采集方式,只需实现接口,核心代码零改动。/// 自定义Modbus通信异常类 - 大厂标准,区分通信异常和其他异常/// 包含异常信息+内部异常,可溯源完整错误堆栈,面试必写本次项目是对标大厂工控上位机岗位的终极版实战项目,所有代码、架构、设计都遵循大厂标准,覆盖了面试官考察的所有核心考点✅ 纯手写Modbus协议,体现你对协议底层的吃透。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 858

WEB打印系列教程之五--使用ScriptX进行复杂的WEB打印设置

在以前的几篇文章里,介绍的都是如何利用IE本身提供的控件在进行打印设置,这种方法有它的局限:不能够以编程的方式进行页面方向的设置,而这有时很重要。下面本道就给大家介绍一下,如何使用一个叫ScriptX的控件来进行复杂一点的打印设置。 ScriptX是一个叫MeadCo的国外公司的产品,它分为基础版(免费)和高级版(收费),基础版可以对 页眉,页脚,页边距,纸张方向进行设置。高级版有一些额外的功能

woshiliulei0的专栏 873

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

JS实现Web网页打印功能(IE)

问题描述: JS实现Web网页打印功能 问题解决: 这里主要使用WebBrowser控件的ExeWB在IE中打印功能的实现 WebBrowser介绍: WebBrowser是IE内置的浏览器控件,无需用户下载。与其相关的技术要求有:打印文档的生成、页面设置、打印操作的实现等几个环节。 一、WebBrowser控件 <object ID=...

djpmsoa95092的博客 467

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: 【转】WEB打印系列教程之一--基于Web的打印方案比较分析
下一篇: 【转】IE6/7/8/9中Table/Select的innerHTML赋值会报错
elementgod
博客等级 码龄19年 2粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值