java套打
1:套打可能是以后软件开发可能会涉及到的功能,主要麻烦地方就是需要精确定位,光是打印发票还好,要是打印那种协议类型的特别麻烦,不仅长而且需要的数据多 ,定位麻烦。
2:而且大多数情况是需要去除页眉页脚的,一般使用的是activix来控制页眉页脚,以及边距的控制
3:然而activix操作注册列表是被ie浏览器安全控制所禁止的,我们需要将站点添加到信任站点中,并且在自定义级别中将有关activix使用都设为允许,就可以进行打印了
4:下面是网上找到的代码
var HKEY_Root, HKEY_Path, HKEY_Key;
HKEY_Root = "HKEY_CURRENT_USER";
HKEY_Path = "\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
var head, foot, top, bottom, left, right;
//取得页面打印设置的原参数数据
function PageSetup_temp() {
try {
var Wsh = new ActiveXObject("WScript.Shell");
HKEY_Key = "header";
//取得页眉默认值
head = Wsh.RegRead(HKEY_Root + HKEY_Path + HKEY_Key);
HKEY_Key = "footer";
//取得页脚默认值
foot = Wsh.RegRead(HKEY_Root + HKEY_Path + HKEY_Key);
HKEY_Key = "margin_bottom";
//取得下页边距
bottom = Wsh.RegRead(HKEY_Root + HKEY_Path + HKEY_Key);
HKEY_Key = "margin_left";
//取得左页边距
left = Wsh.RegRead(HKEY_Root + HKEY_Path + HKEY_Key);
HKEY_Key = "margin_right";
//取得右页边距
right = Wsh.RegRead(HKEY_Root + HKEY_Path + HKEY_Key);
HKEY_Key = "margin_top";
//取得上页边距
top = Wsh.RegRead(HKEY_Root + HKEY_Path + HKEY_Key);
} catch(e) {
alert("不允许ActiveX控件"+e);
}
alert(left+":"+bottom+":"+top+":"+right);
}
//设置网页打印的页眉页脚和页边距
function PageSetup_Null() {
try {
var Wsh = new ActiveXObject("WScript.Shell");
HKEY_Key = "header";
//设置页眉(为空)
Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, "");
HKEY_Key = "footer";
//设置页脚(为空)
Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, "");
HKEY_Key = "margin_bottom";
//设置下页边距(0)
Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, "0");
HKEY_Key = "margin_left";
//设置左页边距(0)
Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, "0.1");
HKEY_Key = "margin_right";
//设置右页边距(0)
Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, "0");
HKEY_Key = "margin_top";
//设置上页边距(8)
Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, "0.7");
} catch(e) {
alert("不允许ActiveX控件22"+e.message);
}
}
//设置网页打印的页眉页脚和页边距为默认值
function PageSetup_Default() {
try {
var Wsh = new ActiveXObject("WScript.Shell");
HKEY_Key = "header";
HKEY_Key = "header";
//还原页眉
Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, head);
HKEY_Key = "footer";
//还原页脚
Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, foot);
HKEY_Key = "margin_bottom";
//还原下页边距
Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, bottom);
HKEY_Key = "margin_left";
//还原左页边距
Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, left);
HKEY_Key = "margin_right";
//还原右页边距
Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, right);
HKEY_Key = "margin_top";
//还原上页边距
Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, top);
} catch(e) {
alert("不允许ActiveX控件11");
}
}
java套打的更多相关文章
- Java套接字
前言: 本文补充一下Java关于套接字方面的内容,因为其应用相对比较简单,所以下面介绍两个程序实例. ------------------------------------------------- ...
- [置顶] Java套接字Socket编程
1)概念 网络编程基本模型就客户端到服务器的模型,也就是我们常见的C/S模型.简单的说就是两个进程间相互通信的过程.即通信双方一方作为服务器等待客户端提出请求并给以回应,另一方作为客户端向服务器提出请 ...
- java套接字(socket)实例
客户端socket 流程: 1.连接远程主机 2.发送数据 3.接收数据 4.关闭流与socket连接 实例: import java.io.*; import java.net.Socket; im ...
- Java套接字Socket编程--TCP参数
在Java的Socket中,主要包含了以下可设置的TCP参数. 属性 说明 默认值 SO_TIMEOUT 对ServerSocket来说表示等待连接的最长空等待时间; 对Socket来说表示读数据最长 ...
- Java套接字实现应用程序对数据库的访问
最近在完成软件体系结构上机实验时,遇到一个有点点小难度的选做题,题目信息如下: 利用套接字技术实现应用程序中对数据库的访问.应用程序只是利用套接字连接向服务器发送一个查询的条件,而服务器负责对数据库的 ...
- 用java套接字创建HTTP客户与服务器程序
最近再学习java的web编程,发现用java创建一个小的服务器和客户端是如此的简单,引用经典图书<Tomcat与Java Web开发技术详解(第二版)>(孙卫琴) 根据书中案例敲代码自己 ...
- Java套接字socket编程笔记
相对于C和C++来说,Java中的socket编程是比较简单的,比较多的细节都已经被封装好了,每次创建socket连接只需要知道地址和端口即可. 在了解socket编程之前,我们先来了解一下读写数据的 ...
- java套打快递单
package org.sq.common.utils; import org.apache.commons.codec.binary.Base64;import org.apache.http.en ...
- java套接字实现接口访问
是学校博客上的:http://blog.csdn.net/z69183787/article/details/17580325
随机推荐
- TeamViewer11 万全免费
下载地址:百度网盘 c4xm TeamViewer 是一款简单易用且功能强大的远程控制软件,它能穿越内网,摆脱路由器或防火墙的限制,任何一方都不需要拥有固定IP地址.让不懂技术的朋友也能远程控制电脑, ...
- Java 多线程 -- 理解锁:手动实现可重入锁和不可重入锁
JDK提供的大多数内置锁都是可重入的,也就是 说,如果某个线程试图获取一个已经由它自己持有的锁时,那么这个请求会立 刻成功,并且会将这个锁的计数值加1,而当线程退出同步代码块时,计数器 将会递减,当计 ...
- 在Eclipse上实现简单的JDBC增删查改操作
在Javaweb的学习里,学到了如何完成简单的增删查改操作,在这里撰写一篇文章以便自己整理回忆. 首先要建立一些包和导入一些文件.建一些类.具体框架如图 编写Product类 public clas ...
- C#多线程(14):任务基础②
目录 判断任务状态 再说父子任务 组合任务/延续任务 复杂的延续任务 并行(异步)处理任务 并行(同步)处理任务 并行任务的 Task.WhenAny 并行任务状态 循环中值变化问题 定时任务 Tas ...
- 2、flink入门程序Wordcount和sql实现
一.DataStream Wordcount 代码地址:https://gitee.com/nltxwz_xxd/abc_bigdata 基于scala实现 maven依赖如下: <depend ...
- Java初学者最近三次作业的心得体会
作为一个初学者,简单的谈一下自己的作业心得体会.如果你是完全没有接触过Java的学习,本篇博文可能会有些收获,如果你已经学习Java有一段时间了,那么可以放弃这篇文章了,因为这篇文章讲解的是基本的东西 ...
- 【JAVA基础】10 Object类
1. Object类概述 是类层次结构的根类 每个类都使用 Object 作为超类 所有类都直接或者间接的继承自该类 所有对象(包括数组)都实现这个类的方法. 2. Object的构造方法 publi ...
- Python内置函数enumerate()
enumerate()是Python的内置函数. help(enumerate) Help on class enumerate in module builtins: class enumerate ...
- optparse--强大的命令行参数处理包
optparse,它功能强大,而且易于使用,可以方便地生成标准的.符合Unix/Posix 规范的命令行说明. optparse的简单示例: from optparse import OptionPa ...
- Tomcat中的类是怎么被一步步加载的?
了解Tomcat的类加载机制,原来一切是这么的简单. 一.类加载 在JVM中并不是一次性把所有的文件都加载到,而是一步一步的,按照需要来加载. 比如JVM启动时,会通过不同的类加载器加载不同的类.当用 ...