使用批处理修改web打印设置笔记【适用于IE】
2009-03-17 11:08
1086 查看
最近由于要实现电力发票打印功能,为了让要打印的信息和发票的对应位置吻合,就不得不调整WEB页面页边距以及去掉页眉页脚,上网查了很多资料发现IE没有自带这些设置打印机的功能,无法使用纯javascript设置。
前几天上网查了资料,可以通过修改注册表达到去除页眉页脚的效果,可是试了一下后发现IE不允许直接修改注册表。后面又想到了两种解决办法:1)营业员通过IE的“页面设置”功能再结合我们提供的设置参数设置打印效果;2)我们提供一个批处理文件,其中已经设置好了必要的参数,营业员只需运行一次该批处理文件即可。
我选则了第二种方法,以前没写过批处理文件,但听说很容易,通过查资料看了一些写批处理文件的语法,但是这次用到的语法很少,写了一个简单的文件,主要设置页面的页边距以及去掉页眉页脚。具体代码如下:
@echo off
echo 正在修改页面设置...
reg add "HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/PageSetup" /v footer /t REG_SZ /d "" /f
reg add "HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/PageSetup" /v header /t REG_SZ /d "" /f
reg add "HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/PageSetup" /v margin_bottom /t REG_SZ /d "0.75" /f
reg add "HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/PageSetup" /v margin_left /t REG_SZ /d "0.75" /f
reg add "HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/PageSetup" /v margin_right /t REG_SZ /d "0.75" /f
reg add "HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/PageSetup" /v margin_top /t REG_SZ /d "0.1" /f
pause
echo on
虽然代码很简单,但是花了一个上午的时间,我写完这些代码后运行后IE中的“页面设置”和注册表中对应的值没有任何变化,开始我没使用pause,运行完后没有停止,所以也不知道出了什么错误,通过上网查资料发现了pause语句,于是把它用上了,这是才发现提示“reg不是内部或外部命令 也不是可运行的程序或批处理文件”,上网查了一些资料都没解决,而且发现很少人问这种问题,后面我发现在命令行中输入任何命令都提示“××不是内部或外部命令”,我根据这条线索上网搜索找到了解决办法,原因是不知什么时候环境变量被修改了,把环境变量中的path路径改成“%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem”就可以了。
注册表中设置的边距单位不是毫米,我现在还不知道是什么,我设置注册表中的值为0.75时,IE页面的值为19.05mm。
前几天上网查了资料,可以通过修改注册表达到去除页眉页脚的效果,可是试了一下后发现IE不允许直接修改注册表。后面又想到了两种解决办法:1)营业员通过IE的“页面设置”功能再结合我们提供的设置参数设置打印效果;2)我们提供一个批处理文件,其中已经设置好了必要的参数,营业员只需运行一次该批处理文件即可。
我选则了第二种方法,以前没写过批处理文件,但听说很容易,通过查资料看了一些写批处理文件的语法,但是这次用到的语法很少,写了一个简单的文件,主要设置页面的页边距以及去掉页眉页脚。具体代码如下:
@echo off
echo 正在修改页面设置...
reg add "HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/PageSetup" /v footer /t REG_SZ /d "" /f
reg add "HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/PageSetup" /v header /t REG_SZ /d "" /f
reg add "HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/PageSetup" /v margin_bottom /t REG_SZ /d "0.75" /f
reg add "HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/PageSetup" /v margin_left /t REG_SZ /d "0.75" /f
reg add "HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/PageSetup" /v margin_right /t REG_SZ /d "0.75" /f
reg add "HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/PageSetup" /v margin_top /t REG_SZ /d "0.1" /f
pause
echo on
虽然代码很简单,但是花了一个上午的时间,我写完这些代码后运行后IE中的“页面设置”和注册表中对应的值没有任何变化,开始我没使用pause,运行完后没有停止,所以也不知道出了什么错误,通过上网查资料发现了pause语句,于是把它用上了,这是才发现提示“reg不是内部或外部命令 也不是可运行的程序或批处理文件”,上网查了一些资料都没解决,而且发现很少人问这种问题,后面我发现在命令行中输入任何命令都提示“××不是内部或外部命令”,我根据这条线索上网搜索找到了解决办法,原因是不知什么时候环境变量被修改了,把环境变量中的path路径改成“%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem”就可以了。
注册表中设置的边距单位不是毫米,我现在还不知道是什么,我设置注册表中的值为0.75时,IE页面的值为19.05mm。
相关文章推荐
- 使用批处理修改web打印设置笔记 适用于IE
- WEB打印设置解决方案一(通过修改注册表改变IE打印设置)
- WEB打印设置 方案一(修改注册表改变IE打印设置)
- 使用ScriptX进行复杂的WEB打印设置--WEB打印系列教程之五
- 使用Js脚本 修改控制IE的注册表相关设置(activex等)
- WEB打印系列教程之三--使用WScript.Shell进行复杂的WEB打印设置
- [导入]WYSIWYG Web Editor: FCKeditor 2.2 的设置.修改.使用 和 FreeTextBox的简介
- WEB打印系列教程之二--使用WScript.Shell通过编程方式进行复杂的WEB打印设置
- WEB打印系列教程之二--使用IE的打印功能进行一般的网页打印
- 使用脚本修改IE的局域网设置-自动配置脚本
- 使用Js脚本 修改控制IE的注册表相关设置(activex等)
- WEB打印设置 方案二(利用ScriptX.cab控件改变IE打印设置)
- 使用Js脚本 修改控制IE的注册表相关设置(activex等)
- IE下使用js与自带ActiveX控制web打印
- Linux使用笔记4-添加用户变量(设置自己的命令,修改默认python版本等)
- 使用IE内置组件实现web页面打印 --终于找到了
- 使用Js脚本 修改控制IE的注册表相关设置(activex等)
- 使用Js脚本 修改控制IE的注册表相关设置(activex等)
- ScriptX IE打印 页面自适应 大小 适用于IE7一下的web打印
- Web打印中使用ScriptX做页面设置