ASP.NET打印
要实现的功能是这样的,现在根据需求生成了一张合同页面,合同页面是由Table组成,问题是怎么样能打印出和这个页面!将图片上的信息打印出来!...
要实现的功能是这样的,现在根据需求生成了一张合同页面,合同页面是由Table组成,问题是怎么样能打印出和这个页面!
将图片上的信息打印出来! 展开
将图片上的信息打印出来! 展开
展开全部
直接打印
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head runat="server">
<title>打印预览</title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script>
var hkey_root, hkey_path, hkey_key
hkey_root = "HKEY_CURRENT_USER"
hkey_path = "file://software//Microsoft//Internet Explorer\\PageSetup\\"
//设置网页打印的页眉页脚为空
function pagesetup_null() {
try {
var RegWsh = new ActiveXObject("WScript.Shell")
hkey_key = "header"
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "")
hkey_key = "footer"
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "")
} catch (e)
}
//设置网页打印的页眉页脚为默认值
function pagesetup_default() {
try {
var RegWsh = new ActiveXObject("WScript.Shell")
hkey_key = "header"
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "&w&b页码,&p/&P")
hkey_key = "footer"
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "&u&b&d")
} catch (e)
}
function setdivhidden(id) {//把指定id以外的层统统隐藏
var divs = document.getElementsByTagName("DIV");
for (var i = 0; i < divs.length; i++) {
if (divs.item(i).id != id)
divs.item(i).style.display = "none";
}
}
function setdivvisible(id) {//把指定id以外的层统统显示
var divs = document.getElementsByTagName("DIV");
for (var i = 0; i < divs.length; i++) {
if (divs.item(i).id != id)
divs.item(i).style.display = "block";
}
}
function printpr() //预览函数
{
pagesetup_null(); //预览之前去掉页眉,页脚
setdivhidden("div1"); //打印之前先隐藏不想打印输出的元素
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser); //在body标签内加入html(WebBrowser activeX控件)
WebBrowser1.ExecWB(7, 1); //打印预览
WebBrowser1.outerHTML = ""; //从代码中清除插入的html代码
pagesetup_default(); //预览结束后页眉页脚恢复默认值
setdivvisible("div1"); //预览结束后显示按钮
}
function print() //打印函数
{
pagesetup_null(); //打印之前去掉页眉,页脚
setdivhidden("div1"); //打印之前先隐藏不想打印输出的元素
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser); //在body标签内加入html(WebBrowser activeX控件)
WebBrowser1.ExecWB(6, 1); //打印
WebBrowser1.outerHTML = ""; //从代码中清除插入的html代码
pagesetup_default(); //打印结束后页眉页脚恢复默认值
setdivvisible("div1"); //打印结束后显示按钮
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="div0">
<input id="btnClose" type="button" onclick="Javascript:window.opener=null;window.close()"
value="关 闭" />
<input type="button" value="打印预览" onclick="printpr()">
<input type="button" onclick="print()" value="打印">
</div>
<div id="div1">
<img alt="" src='<%=this.rooDir+this.Request.QueryString["URL"] %>' /></div>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head runat="server">
<title>打印预览</title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script>
var hkey_root, hkey_path, hkey_key
hkey_root = "HKEY_CURRENT_USER"
hkey_path = "file://software//Microsoft//Internet Explorer\\PageSetup\\"
//设置网页打印的页眉页脚为空
function pagesetup_null() {
try {
var RegWsh = new ActiveXObject("WScript.Shell")
hkey_key = "header"
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "")
hkey_key = "footer"
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "")
} catch (e)
}
//设置网页打印的页眉页脚为默认值
function pagesetup_default() {
try {
var RegWsh = new ActiveXObject("WScript.Shell")
hkey_key = "header"
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "&w&b页码,&p/&P")
hkey_key = "footer"
RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "&u&b&d")
} catch (e)
}
function setdivhidden(id) {//把指定id以外的层统统隐藏
var divs = document.getElementsByTagName("DIV");
for (var i = 0; i < divs.length; i++) {
if (divs.item(i).id != id)
divs.item(i).style.display = "none";
}
}
function setdivvisible(id) {//把指定id以外的层统统显示
var divs = document.getElementsByTagName("DIV");
for (var i = 0; i < divs.length; i++) {
if (divs.item(i).id != id)
divs.item(i).style.display = "block";
}
}
function printpr() //预览函数
{
pagesetup_null(); //预览之前去掉页眉,页脚
setdivhidden("div1"); //打印之前先隐藏不想打印输出的元素
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser); //在body标签内加入html(WebBrowser activeX控件)
WebBrowser1.ExecWB(7, 1); //打印预览
WebBrowser1.outerHTML = ""; //从代码中清除插入的html代码
pagesetup_default(); //预览结束后页眉页脚恢复默认值
setdivvisible("div1"); //预览结束后显示按钮
}
function print() //打印函数
{
pagesetup_null(); //打印之前去掉页眉,页脚
setdivhidden("div1"); //打印之前先隐藏不想打印输出的元素
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser); //在body标签内加入html(WebBrowser activeX控件)
WebBrowser1.ExecWB(6, 1); //打印
WebBrowser1.outerHTML = ""; //从代码中清除插入的html代码
pagesetup_default(); //打印结束后页眉页脚恢复默认值
setdivvisible("div1"); //打印结束后显示按钮
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="div0">
<input id="btnClose" type="button" onclick="Javascript:window.opener=null;window.close()"
value="关 闭" />
<input type="button" value="打印预览" onclick="printpr()">
<input type="button" onclick="print()" value="打印">
</div>
<div id="div1">
<img alt="" src='<%=this.rooDir+this.Request.QueryString["URL"] %>' /></div>
</form>
</body>
</html>
展开全部
要将打印机和程序进行接口连接。
我觉得应该使用水晶报表或是Grid++Report,打印前设计好表格样式,打印出来直接就是表格。
我觉得应该使用水晶报表或是Grid++Report,打印前设计好表格样式,打印出来直接就是表格。
更多追问追答
追问
具体怎么实现
!
追答
图太小看不清楚,你的那个合同表是不是有很多参数是从其它页面传递过来的?
如果那样的话就用水晶报表或者Grid++Report。
水晶报表MSDN上有详细说明,前提是你得导入水晶报表COM组件。(我没怎么用过水晶报表。)
Grid++Report倒是用过几次,它是第三方组件,国人开发研制。有官网,你可以百度一下,下载一个,目前出到哪个版本我不是太清楚。。。
下载后装一下,软件本身就有实用例子,你多看看练习练习就能上手了。。我当时就是这样学的。Grid++Report在设计表格的时候可以设置参数,设置你从其它页面传递过来的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你数据已经显示完了,我觉得你可以直接用一个简单的js就实现了对这个页面的打印了
追问
怎么实现!
追答
具体代码我不记得了,网上搜下到处都是。就很简单的几句就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询