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)可针对每个客户端进行微调,保存结果保存在客户端本地,对其他访问网站的客户没有影响. 由 ...
随机推荐
- Anton and Chess(模拟+思维)
http://codeforces.com/group/1EzrFFyOc0/contest/734/problem/D 题意:就是给你一个很大的棋盘,给你一个白棋的位置还有n个黑棋的位置,问你黑棋能 ...
- 从头至尾一点点实现自己的ViewPager效果
对于ViewPager,应该没有人在项目中没使用过它,效果非常的赞,使用也非常简单,但是如果自己来实现这样的效果,我想并非三下五除二的事了,这里涉及到怎么自定义ViewGroup了,它相比自定义Vie ...
- httprunnermanager环境搭建 -----转
转发自 https://www.cnblogs.com/tiechui2015/p/10017801.html 感谢大神 1,开源代码下载 这里的git下载地址是:https://github.c ...
- Appium自动化测试教程-自学网-安卓模拟器
安卓模拟器: 夜神模拟器安装配置 下载地址:https://www.yeshen.com 开启VT VT是什么?为什么要开启VT? VT,全称是Virtualization Technology,即是 ...
- js字符串字母大小写转换
toLocaleUpperCase 方法 返回一个字符串,其中所有的字母字符都被转换为大写,同时适应宿主环境的当前区域设置. stringVar.tolocaleUpperCase( )必选的 str ...
- Dynamic Data linq to SQL Web Application
微软提供了一个数据驱动网站模板,可以自动生成CRUD页面,使用过程中碰到些问题 1.首先是如何应用,只需要创建个context并且在Global.asax里面加入下面这一句就可以了 DefaultMo ...
- codevs 1166 矩阵取数游戏
二次联通门 : codevs 1166 矩阵取数游戏 /* codevs 1166 矩阵取数游戏 SB区间dp dp[l][r] = max (dp[l + 1][r] + number[l], dp ...
- SpringAOP配置与使用(示例)
1.pom.xml追加 spring-aspects aspectjrt 为控制器以外的类织入切面 2.新建spring-aop.xml <?xml version="1.0" ...
- java代理,手把手交你写java代理
一:常用的java代理模式 一般经常做java开发的知道java的代理模式一共有三种,第一种也就是静态代理,这种用法比较简单,没有什么魔法棒,比较好理解,另外两种分别是JDK代理和cglib代理,他们 ...
- 【ElasticSearch+NetCore 第二篇】Nest封装
using Elasticsearch.Net; using Nest; using System; using System.Collections.Generic; using System.Li ...