使用ScriptX控件进行Web横向打印
一个需求需要采用横向打印,目前采用IE自身的打印功能(WebBrowser.ExecWB控件)很难进行横向设置,默认需要调用document.all.WebBrowser.ExecWB(8,1);打开打印设置对话框进行人工设置,颇为不方便,本次采用ActiveX控件,也即第三方的ScriptX控件进行横向设置。
ScriptX基本功能免费,但高级功能是收费的,下面我就把最近在项目中使用ScriptX的经验总结一下。
1. 首先把ScriptX.cab放在一个目录下面,比如根目录
2. 目前html5 doc需要把object放在head之外
引入如下
...
</head>
<object id="factory" style="display: none" viewastext classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
codebase="ScriptX.cab#Version=5,60,0,360"></object>
<body>
...
3. 设置打印属性
function InitPrinterSetting() {
factory.printing.header = "";//页眉
factory.printing.footer = "";//页脚
factory.printing.leftMargin = 1.0;//左边距
factory.printing.topMargin = 1.3;//上边距
factory.printing.rightMargin = 1.0;//右边距
factory.printing.bottomMargin = 1.3;//下边距
factory.printing.portrait = false;//打印方向,true:纵向.false:横向
}
4. 如下style用于去除打印
<style media="print">
.Noprint{display:none;} <!--用本样式在打印时隐藏非打印项目-->
.PageNext{page-break-after: always;} <!--控制分页-->
</style>
完整代码如下(附件可下载):
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PrintPreviewAndUnion.aspx.cs" Inherits="TMIS.WebApp.CustomerMA.PrintPreviewAndUnion" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script type="text/javascript" src="../Scripts/lib/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="../Scripts/lib/jquery-ui-1.8.5.custom.min.js"></script>
<script type="text/javascript" src="../Scripts/lib/jquery.formatCurrency-1.4.0.min.js"></script>
<script type="text/javascript" src="../Scripts/lib/jquery.utils.js"></script>
<script type="text/javascript" src="../Scripts/lib/jquery.numeric.pack.js"></script>
<script type="text/javascript" src="../Scripts/lib/jquery.timepickr.min.js"></script>
<title>WebPrint</title>
<script type="text/javascript">
function PrintPage() {
factory.DoPrint(false);//设置为false,直接打印
}
function InitPrinterSetting() {
factory.printing.header = "";//页眉
factory.printing.footer = "";//页脚
factory.printing.leftMargin = 1.0;//左边距
factory.printing.topMargin = 1.3;//上边距
factory.printing.rightMargin = 1.0;//右边距
factory.printing.bottomMargin = 1.3;//下边距
factory.printing.portrait = false;//打印方向,true:纵向.false:横向
}
$(document).ready(function () {
InitPrinterSetting();
})
</script>
<style media="print">
.Noprint{display:none;} <!--用本样式在打印时隐藏非打印项目-->
.PageNext{page-break-after: always;} <!--控制分页-->
</style>
</head>
<object id="factory" style="display: none" viewastext classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
codebase="ScriptX.cab#Version=5,60,0,360"></object>
<OBJECT id="WebBrowser" height="0" width="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" VIEWASTEXT></OBJECT>
<body>
<form id="form1" runat="server">
<div>
<center>
<div class="div_content" style="border-color:white;">
<div style='text-align:center; padding-top:15px; padding-bottom:15px;' class='Noprint' >
<input id="btnPrint" type="button" value="直接打印" style="width: 90px;height:31px;"/>
<input id='btnYes' value='打印预览' type='button' οnclick='document.all.WebBrowser.ExecWB(7,1);' style='width: 90px;height:31px;' />
</div>
<div id="print_div_receipt" style="width:950px;margin:0 auto " >
<div style="width:950px; margin:0 auto">
<div style="font-size:20px; line-height:160%; padding:20px;">
<div style="padding-bottom:10px;"></div>
<span style="font-size:30px; font-family:宋体;"><b>打印内容</b></span>
</div>
</div>
</div>
</div>
</center>
</div>
</form>
</body>
</html>
使用ScriptX控件进行Web横向打印的更多相关文章
- 使用MeadCo's ScriptX控件做WEB打印
官方网址:http://www.meadroid.com/scriptx/index.asp MeadCo's ScriptX控件有两种使用方式,一种是做为免费版本使用,一种是做为收费版本使用,免费版 ...
- 使用ScriptX控件实现IE浏览器分页打印功能
之前讲过js调用ie浏览器自带打印的用法,今天讲使用插件的方式.浏览器自带打印不能控制页边距.页眉页脚等选项,尤其是如果分页打印的话,无法自动将前一页标题带到本页,所以不适用多页打印的功能.使用Scr ...
- winform使用Barcodex控件预览和打印一维码
1.控件下载. http://files.cnblogs.com/files/masonblog/barcodex.zip . 包含barcodex.ocx控件.barcodex帮助文档.两个winf ...
- 基于MVC4+EasyUI的Web开发框架经验总结(2)- 使用EasyUI的树控件构建Web界面
最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...
- 使用EasyUI的树控件构建Web界面
最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...
- 基类包括字段“ScriptManager1”,但其类型(System.Web.UI.ScriptManager)与控件(System.Web.UI.ScriptManager)的类型不兼容
首先说下原先的情况,就是原本老项目的Web解决方案是使用.net framework 2.0的老版本, 所以机器也安装过Microsoft ASP.NET 2.0 AJAX Extensions..A ...
- Html控件和Web控件(转)
作为一名ASP.NET的初学者,了解并且区别一些混淆概念是很必须的,今天这篇博文 就是主要向大家介绍一下Html控件和Web控件.在ASP.net中,用户界面控件主要就是 Html控件和Web控件,在 ...
- (转)基于MVC4+EasyUI的Web开发框架经验总结(2)- 使用EasyUI的树控件构建Web界面
http://www.cnblogs.com/wuhuacong/p/3669575.html 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开 ...
- 关于使用smsx.cab控件做web打印使用方法(转)
注意:在使用之前先告诉下我的痛苦经历 在做WEB项目是我的JSP页面在jsp文件夹里,我把smsx.cab放在js文件夹里(jsp和js是用级别目录) 在本机上测试可以正确下载控件,但是部署到测试服务 ...
随机推荐
- app测试的一些较为重要的测试点
安装测试 从不同的手机所自带的不同的版本的软件商城里面下载抖音并安装查看是否成功 安装后是否能正常运行安装后的文件和文件夹是否写到了指定的目录里 安装过程中取消安装,安装的文件是否在指定的目录里 安装 ...
- SpringMVC(六):分层整合SSM
环境搭建 版本: MySQL 8 SpringMVC+Spring+Mybatis C3P0连接池 数据库建表 CREATE DATABASE `ssmbuild`; `ssmbuild` DROP ...
- MTK Android Camera运行流程
Android Camera 运行流程 总体架构1.CameraService服务的注册2.Client端的应用层到JNI层Camera App-JNI3.Client到Service的连接4.HAL ...
- (js描述的)数据结构[树结构之红黑树](13)
1.二叉送搜索树的缺点: 2.红黑树难度: 3.红黑树五大规则: 4.红黑树五大规则的作用: 5.红黑树二大变换: 1)变色 2)旋转 6.红黑树的插入五种变换情况: 先声明--------插入的数据 ...
- JAVA debug 调试demo
1.设置断点,在代码的行号后面鼠标左键即可2.想要看调用方法的执行流程,那么调用方法也要加断点. package day6_debug; /* * 1.设置断点,在代码的行号后面鼠标左键即可 * 2. ...
- shell命令-if语句
判断参数的个数 -ne 不等于 -eq 等于 -gt 大于 -lt 小于 -ge 大于等于 -le 小于等于 if [ "$#" -ne 1 ];then echo "n ...
- EXPLAIN 关键字可以 查看 sql执行 的详细过程
EXPLAIN SELECT n_did,n_count,n_total,d_last_exchange FROM player_con_record WHERE n_roleid=1 AND n_f ...
- AJ学IOS 之微博项目实战(11)发送微博自定义TextView实现带占位文字
AJ分享,必须精品 一:效果 二:代码: 由于系统自带的UITextField:和UITextView:不能满足我们的需求,所以我们需要自己设计一个. UITextField: 1.文字永远是一行,不 ...
- AJ整理问题之:NSTimer准确吗?
NSTimer准确吗? 问题:NSTimer准确吗?如果不准确,怎么办? NSTimer的工作原理:假设timer每隔一段时间执行一次事件,很均匀的(例如每隔多少秒),假设在某一时刻cpu在做疯狂的大 ...
- android学习笔记——利用BaseAdapter生成40个列表项
RT: main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns ...