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套打的更多相关文章

  1. Java套接字

    前言: 本文补充一下Java关于套接字方面的内容,因为其应用相对比较简单,所以下面介绍两个程序实例. ------------------------------------------------- ...

  2. [置顶] Java套接字Socket编程

    1)概念 网络编程基本模型就客户端到服务器的模型,也就是我们常见的C/S模型.简单的说就是两个进程间相互通信的过程.即通信双方一方作为服务器等待客户端提出请求并给以回应,另一方作为客户端向服务器提出请 ...

  3. java套接字(socket)实例

    客户端socket 流程: 1.连接远程主机 2.发送数据 3.接收数据 4.关闭流与socket连接 实例: import java.io.*; import java.net.Socket; im ...

  4. Java套接字Socket编程--TCP参数

    在Java的Socket中,主要包含了以下可设置的TCP参数. 属性 说明 默认值 SO_TIMEOUT 对ServerSocket来说表示等待连接的最长空等待时间; 对Socket来说表示读数据最长 ...

  5. Java套接字实现应用程序对数据库的访问

    最近在完成软件体系结构上机实验时,遇到一个有点点小难度的选做题,题目信息如下: 利用套接字技术实现应用程序中对数据库的访问.应用程序只是利用套接字连接向服务器发送一个查询的条件,而服务器负责对数据库的 ...

  6. 用java套接字创建HTTP客户与服务器程序

    最近再学习java的web编程,发现用java创建一个小的服务器和客户端是如此的简单,引用经典图书<Tomcat与Java Web开发技术详解(第二版)>(孙卫琴) 根据书中案例敲代码自己 ...

  7. Java套接字socket编程笔记

    相对于C和C++来说,Java中的socket编程是比较简单的,比较多的细节都已经被封装好了,每次创建socket连接只需要知道地址和端口即可. 在了解socket编程之前,我们先来了解一下读写数据的 ...

  8. java套打快递单

    package org.sq.common.utils; import org.apache.commons.codec.binary.Base64;import org.apache.http.en ...

  9. java套接字实现接口访问

    是学校博客上的:http://blog.csdn.net/z69183787/article/details/17580325

随机推荐

  1. ADO.Net和Entity Framework的区别联系

    它们有以下几点区别:1,ADO.Net是开发人员自己select.update等写sql语句,来实现对数据库的增删改查等操作:采用EF进行开发操作数据库的时候,只需要操作对象,这样做使开发更方便,此时 ...

  2. Python中实现按顺序遍历字典

    第一种方法: import collections d = collections.OrderedDict([('a',1),('b',2),('c',3)]) ''' 或者把上面的那一行改成: d ...

  3. Python(5)

    把 aaabbcccd 这种形式的字符串压缩成 a3b2c3d1 这种形式. print(''.join({i+str(s.count(i)) for i in s})) dic={} for i i ...

  4. Kubernetes产生背景、核心概念

    Kubernetes是什么 • Kubernetes是Google在2014年开源的一个容器集群管理系统,Kubernetes简称K8S. • Kubernetes用于容器化应用程序的部署,扩展和管理 ...

  5. POJ3460 Booksort

    飞来山上千寻塔,闻说鸡鸣见日升. 不畏浮云遮望眼,自缘身在最高层.--王安石 题目:Booksort 网址:http://poj.org/problem?id=3460 Description The ...

  6. 基于口令的密码(PBE)

    基于口令的密码(PBE) 基于口令的密码(Password Based Encryption,PBE)是一种基于口令生成密钥,并使用该密钥进行加密的方法.其中加密和解密使用的是同一个密钥. 根据用户自 ...

  7. 使用VSCode连接到IBM Cloud区块链网络

    文章目录 从IBM Cloud控制面板导出连接信息 在VSCode中创建gateway和wallet 在VSCode中提交transaction 上篇文章我们讲到怎么在IBM Cloud搭建区块链环境 ...

  8. Kubernetes-在Kubernetes集群上搭建HBase集群

    经过3天的努力,终于在Kubernetes上把HBase集群搭建起来了,搭建步骤如下. 创建HBase镜像   配置文件包含core-site.xml.hbase-site.xml.hdfs-site ...

  9. angular2相关

    脚手架安装一个项目 1.全局安装angular脚手架 npm install -g @angular/cli 2.初始化一个文件夹 ng new my-angular-demo 3.进入文件夹 cd ...

  10. Linked List-3

    第一篇终结Linked List(一).终结Linked List(二)主要讲了单链表的基础知识,接下来的第二篇主要讲一些比较经典的问题. 一.Count() 给一个单链表和一个整数,返回这个整数在链 ...