LODOP设置纸张无效问题
有的打印机不支持自定义纸张,或不支持当前设置的纸张尺寸,会造成纸张尺寸和代码里设置的尺寸不一致的情况。
现象:
1.代码一样,纸张语句设置正确,有的打印机纸张正常,有的打印机不正常。
2.代码一样,纸张语句设置正确,宽度正常,高度不正常。(或相反)
3.代码一样,纸张语句设置正确,虚拟打印机测试正常,真实打印机不正常。
简短问答区域:
纸张设置,参考样例5 http://www.c-lodop.com/demolist/PrintSample5.html
用xps或pdf虚拟打印机测试一下(测试可用样例5),如果虚拟打印机输出的是正确的纸张,真实打印机不是,可能是打印机不支持该自定义纸张。
选择该真实打印机,在打印预览下方状态栏查看一下纸张大小,有的打印机不支持该自定义纸张。
用官网样例5直接输入尺寸,在预览里选择不同打印机 ,对比预览效果,有的打印机不支持自定义纸张,有的有可打区域。
打印机不支持就不行了,不用自定义纸张,选择打印机本身自带的纸张试试,打印机自带的纸张肯定支持。
参考样例5步骤3http://www.c-lodop.com/demolist/PrintSample5.html,获取打印机的纸张列表,纸张语句宽高设置成0,第四个参数纸张名称在宽高无效情况下会有效,就会根据纸张名称走,获取的是打印机本身自带的纸张名称,所以一定会支持打印机自带的纸张。
如果打印机自带的纸张没有所需要的尺寸,LODOP设置的自定义纸张不支持,那么就没办法了,只能换打印机或换用打印机支持的纸张。
纸张的一些优先级 http://blog.sina.com.cn/s/blog_721e77e50100wto6.html
非简单问答,正文介绍:
由于打印机千差万别,不是所有打印机都支持LODOP自定义纸张,而且打印机可打区域本身也有差异。关于不同打印机的不同问题,可以用打印维护微调(相关博文:Lodop打印维护PRINT_SETUP本地缓存ini文件、LODOP不同打印机出现偏移问题、LODOP批量打印多页模版进行维护)
如果是不支持自定义纸张,而内容又和纸张有关,那么就不好调整了,打印机本身不支持这种纸张就不行了。
如何测试某个打印机是否支持当前设置的纸张,可用官网样例5直接输入尺寸,在预览里选择不同打印机 ,对比预览效果。
在预览里直接选择不同打印机进行预览对比:
测试代码:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<a href="javascript:prn1_preview()">不同打印机纸张不同,纸张无效</a><br>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function prn1_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.SET_PRINT_PAGESIZE(1,800,600,"");//设置纸张为80mm*60mm
LODOP.ADD_PRINT_HTM(42,30,300,100,"<body style=\"margin:50px\">\r\n HTML Demo content\r\n <br><font color=\"#FF0000\">Double click me and modify...</font>\r\n</body>");
//LODOP.PRINT_DESIGN();
LODOP.PREVIEW();
};
</script>
</body>
预览选择不同打印机效果图示:
LODOP设置纸张无效问题的更多相关文章
- Android中Listview点击item不变颜色以及设置listselector 无效
Android中Listview点击item不变颜色以及设置listselector 无效 这是同一个问题,Listview中点击item是会变颜色的,因为listview设置了默认的listsele ...
- 通过inflate获取布局,设置layoutparams无效
给ll——addtiem当设置layoutparams无效时,试着修改上一个布局的属性
- mysql datetime设置now()无效,直接用程序设置默认值比较好
mysql datetime设置now()无效的,没有此用法,datetime类型不能设置函数式默认值,只能通过触发器等来搞.想设置默认值,只能使用timestamp类型,然后默认值设置为:CURRE ...
- 用css3动画 @keyframes里设置transform:rotate(); 控制动画暂停和运动用属性:animation-play-state:paused暂停,在微信和safari里设置paused无效,在QQ里是正常的
这几天遇到了两个很奇葩的问题,终于找到原因,趁还记得解决方法,赶紧记下来: 用css3动画 @keyframes里设置transform:rotate(); 控制动画暂停和运动可以用属性:animat ...
- WebStorm在Font设置FontSize无效解决方法
我的WebStorm设置了主题.所以直接在File-Settings-Editor-Font设置了无效.它会提醒你要在主题里面改.主题在哪里呢 找到File-Settings-Editor-Color ...
- 【ABAP系列】SAP Smartforms 设置纸张打印格式
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP Smartforms 设 ...
- bootstrap-multiselect 设置单选无效(设置单选依然是复选框)
bootstrap-multiselect 的使用介绍:https://www.cnblogs.com/landeanfen/p/5013452.html bootstrap-multiselect ...
- 微信小程序的button按钮设置宽度无效
亲,你是不是也遇到了微信小程序的button按钮设置宽度无效.让我来告诉你怎么弄 方法1. 样式中加入!important,即:width: 100% !important; wxss代码示例 1 2 ...
- Lodop打印控件打印机可打区域的影响 设置纸张边缘为基点
由于打印机千差万别,打印开发也要注意针对客户各种打印机进行处理,Lodop提供了打印维护(PRINT_SETUP)可针对每个客户端进行微调,保存结果保存在客户端本地,对其他访问网站的客户没有影响. 由 ...
随机推荐
- 关于operator void* 操作符
在<大规模C++程序设计>这本书中谈到了迭代器模式. 他提供了这样的一个迭代器的例子 这个for循环中判断终止的写法,有点意思,做一下记录. 这个地方的本质是这样的:C++ 编译器 ...
- sem_open 信号量操作
sem_open,计算机用语.意思是创建并初始化有名信号量或打开一个已存在的有名信号量 sem_init:初始化信号量sem_t,初始化的时候可以指定信号量的初始值,以及是否可以在多进程间共享. se ...
- DataSet,DataTable,DataView、DataRelation
一.创建Dataset和DataTable DataSet ds = new DataSet();//DataSetName默认为"NewDataSet" DataTable ta ...
- Spring自动注入Bean
通过@Autowired或@Resource来实现在Bean中自动注入的功能,但还要在配置文件中写Bean定义,下面我们将介绍如何注解Bean,从而从XML配置文件 中完全移除Bean定义的配置. 1 ...
- Win10远程桌面 报错:CredSSP加密Oracle修正……
解决方法: 运行 gpedit.msc 本地组策略: 计算机配置>管理模板>系统>凭据分配>加密Oracle修正 选择启用并选择易受攻击. 参考: https://blog.c ...
- 文件和I/O
一.读写文本数据 (1)使用open()函数配合rt模式读取文本文件的内容:( t 为默认的文本模式) (2)执行写入操作,使用wt模式,如果待操作文件已存在,会清除并覆盖其原先的内容: (3)对已存 ...
- vue-cli3运行本地项目后,端口不随设置的随便变化
今天群里有个端友说到了这个,没当回事,devserver中虽然设置了端口,但是启动本地项目后,端口还是随便更换,网上回去初始化了一下项目,结果也遇到这情况了,刚好,我们只需要 npm install ...
- tarjan——校园网(缩点,再构图)
P2746 [USACO5.3]校园网Network of Schools 任务一:求缩完点后入度为0的点的个数(有向边) 任务二:求缩完点后入度为0和出度为0的最大值(要把图构造成强连通分量) 注意 ...
- 指针——可能我学的还只是c++的皮毛
C. 线性链表的插入与删除 单点时限: 2.0 sec 内存限制: 256 MB 实现线性链表的插入与删除操作 只需完成给定函数的定义. NODE* insertLinklist(NODE* head ...
- 前端逼死强迫症系列之Html
概述 HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他,这样就可以让浏览器 ...