有的打印机不支持自定义纸张,或不支持当前设置的纸张尺寸,会造成纸张尺寸和代码里设置的尺寸不一致的情况。
现象:
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设置纸张无效问题的更多相关文章

  1. Android中Listview点击item不变颜色以及设置listselector 无效

    Android中Listview点击item不变颜色以及设置listselector 无效 这是同一个问题,Listview中点击item是会变颜色的,因为listview设置了默认的listsele ...

  2. 通过inflate获取布局,设置layoutparams无效

    给ll——addtiem当设置layoutparams无效时,试着修改上一个布局的属性

  3. mysql datetime设置now()无效,直接用程序设置默认值比较好

    mysql datetime设置now()无效的,没有此用法,datetime类型不能设置函数式默认值,只能通过触发器等来搞.想设置默认值,只能使用timestamp类型,然后默认值设置为:CURRE ...

  4. 用css3动画 @keyframes里设置transform:rotate(); 控制动画暂停和运动用属性:animation-play-state:paused暂停,在微信和safari里设置paused无效,在QQ里是正常的

    这几天遇到了两个很奇葩的问题,终于找到原因,趁还记得解决方法,赶紧记下来: 用css3动画 @keyframes里设置transform:rotate(); 控制动画暂停和运动可以用属性:animat ...

  5. WebStorm在Font设置FontSize无效解决方法

    我的WebStorm设置了主题.所以直接在File-Settings-Editor-Font设置了无效.它会提醒你要在主题里面改.主题在哪里呢 找到File-Settings-Editor-Color ...

  6. 【ABAP系列】SAP Smartforms 设置纸张打印格式

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP Smartforms 设 ...

  7. bootstrap-multiselect 设置单选无效(设置单选依然是复选框)

    bootstrap-multiselect 的使用介绍:https://www.cnblogs.com/landeanfen/p/5013452.html bootstrap-multiselect ...

  8. 微信小程序的button按钮设置宽度无效

    亲,你是不是也遇到了微信小程序的button按钮设置宽度无效.让我来告诉你怎么弄 方法1. 样式中加入!important,即:width: 100% !important; wxss代码示例 1 2 ...

  9. Lodop打印控件打印机可打区域的影响 设置纸张边缘为基点

    由于打印机千差万别,打印开发也要注意针对客户各种打印机进行处理,Lodop提供了打印维护(PRINT_SETUP)可针对每个客户端进行微调,保存结果保存在客户端本地,对其他访问网站的客户没有影响. 由 ...

随机推荐

  1. SQL SERVER 2008 存储过程传表参数

      最近项目使用到了存储过程传入表类型参数. --定义表类型 create type t_table_type as table ( id int, name varchar(32), sex var ...

  2. v-model原理解析

    vue中v-model可以实现数据的双向绑定,但是为什么这个指令就可以实现数据的双向绑定呢? 其实v-model是vue的一个语法糖.即利用v-model绑定数据后,既绑定了数据,又添加了一个inpu ...

  3. mysql基础篇--表的管理

    表的创建 常见的数据类型 数值型: 整型 tinyint.smallint.mediumint.int/integer.bigint 特点: 1.如果不设置无符号还是有符号,默认是有符号,如果想设置无 ...

  4. ansible模块补充

    1.fetch模块, 将远程机器上的文件拉取到本地,以ip或者主机名生成目录,并保留原来的目录结构,与copy模块的功能相反. 主要参数 : dest  --  目标地址 src -- 源地址 例子 ...

  5. 利用XtraBackup给MYSQL热备(基于数据文件)

    利用XtraBackup给MYSQL热备(基于数据文件) By JRoBot on 2013 年 11 月 26 日 | Leave a response 利用XtraBackup给MYSQL热备(基 ...

  6. F. Make Them Similar ( 暴力折半枚举 + 小技巧 )

    传送门 题意: 给你 n 个数 a[ 1 ]  ~ a[ n ], n <= 100: 让你找一个 x , 使得 a[ 1 ] = a[ 1 ] ^ x ~ a[ n ] = a[ n ] ^ ...

  7. mkfs/mk2fs/fsck/e2fsck/tune2fs/blkid

    mkfs 格式化创建Linux文件系统的工具 centos 6 使用xfs文件系统 fsck 检测及修复文件系统的工具 当磁盘出现逻辑错误的时候,可以尝试修复. fsck -t ext2|ext3 / ...

  8. python常用模块(不定期更新)

    前言: 随着python开发项目越来越大,显然应该把不同功能的代码放到不同的.py文件里,每一个.py文件叫一个模块:模块分为(1)内置标准模块(2)第三方模块(3)自定义模块 这三种.这篇博客就是用 ...

  9. win10下安装docker

    win10下安装docker 1. 启用Hyper-V 打开控制面板 - 程序和功能 - 启用或关闭Windows功能,勾选Hyper-V,然后点击确定(整个过程需要重新启动几次),如图: 安装Doc ...

  10. 在windows10 Linux (centos7)中安装go golang (够浪) 并测试运行

    官方下载安装页面 https://golang.org/doc/install git主页 https://github.com/golang/go 相关下载地址 https://golang.org ...