LODOP设置某打印项锁定下边距
LODOP中的打印项定位都是按照top值(顶边距),left(左边距)来决定的 ,不能直接设置某打印项的下边距。
此外,打印项的位置还受PRINT_INTA的前两个整体偏移值,打印机可打区域的影响。
该文测试下锁定下边距,以及锁定下边距后打印项位置是否和整体偏移,打印机可打区域等有关。
LODOP.SET_PRINT_STYLEA(0,"Vorient",1);
该语句用来设置锁定下边距,锁定后,切换不同纸张,该内容距离纸张下方的距离是相同的。(整体偏移和可打区域会影响,查看本博客下方)
锁定的下边距的值是:PRINT_INITA的height-打印项的top-打印项的height=下边距
该文锁定了一个纯文本,由于纯文本本身没有背景色,不容易看出纯文本设置的height高度,所以加了个矩形 ,矩形同样加了锁定下边距。
矩形和纯文本都锁定下边距20mm。
前面还有一个不锁定下边距的纯文本和矩形对照,两组纯文本和实心矩形的参数是一样的,打印项的顶边距都是20mm,高度都是40mm。
测试1:(xps虚拟打印机,A4纸张,纸高297mm,无整体偏移)
PRINT_INTA的top:0mm
PRINT_INTA的height:50mm
打印项top:20mm
打印项height:10mm
未锁定下边距的:距离纸张上方:20mm,距离纸张下方:297mm-20mm-10mm=267mm
锁定下边距的:距离纸张上方:267mm,距离纸张下方:297mm-267mm-10mm=20mm
测试2:(同上,不换参数,换纸张,A6纸张,纸高148mm)
未锁定下边距的:距离纸张上方:20mm,距离纸张下方:148mm-20mm-10mm=118mm
锁定下边距的:距离纸张上方:118mm,距离纸张下方:148mm-118mm-10mm=20mm
结果:不设置下边距锁定,换纸张大小,距离纸张上方不变。
设置下边距锁定,换纸张大小,距离纸张下方不变
测试3修改参数(设置整体向下偏移20mm,其余同测试1,纸张A4高297mm)
未锁定下边距的:距离纸张上方:40mm(20的INITA的整体偏移值+打印项top值),距离纸张下方:297mm-40mm=257mm
锁定下边距的:距离纸张上方:287mm,距离纸张下方:297mm-287mm-10mm=0mm
结果:设置整体偏移值后,该页所有打印项均偏移,包括固定下边距也会偏移。
测试4,(其余同测试3,换带可打区域的打印机)
未锁定下边距的:距离纸张上方:40mm(20的INITA的整体偏移值+打印项top值),距离纸张下方:297mm-40mm=257mm(默认以可打区域为基点,在不加以纸张为基点的情况下)
锁定下边距的:距离纸张上方:278mm+4.2mm=282.2(4.2是可打区域的上边距),距离纸张下方:297mm-282.2mm-10mm=4.8mm(可打区域的下边距4.8mm)
结果:默认以可打区域为基点,锁定的下边距也是根据的可打区域。
最后结果(测试3是距离纸张下方0mm,测试4是距离可打区域下方0mm,距离纸张下方有可打区域边距值):
整体偏移会影响锁定的下边距 ,锁定的下边距默认是以可打区域为基点的。
测试代码:
<a href="javascript:p1();">锁定下边距</a>
<script language="javascript" src="LodopFuncs.js"></script>
<script>
var LODOP;
function p1(){
LODOP=getLodop();
LODOP.PRINT_INITA("0mm","0mm","200mm","50mm","任务名");
LODOP.ADD_PRINT_SHAPE(4,"20mm","0mm","40mm","10mm",0,1,"#FF80FF");
LODOP.ADD_PRINT_TEXT("20mm","0mm","40mm","10mm","这是没锁定下边距的");
LODOP.ADD_PRINT_SHAPE(4,"20mm","0mm","40mm","10mm",0,1,"#FFFF80");
LODOP.SET_PRINT_STYLEA(0,"Vorient",1);
LODOP.ADD_PRINT_TEXT("20mm","0mm","40mm","10mm","这是一个文本");
LODOP.SET_PRINT_STYLEA(0,"Vorient",1);
LODOP.PRINT_DESIGN();
};
//锁定到的下边距为50mm-20mm-10mmm
//PRINT_INITA的height-打印项的top-打印项的height=下边距
</script>
测试1:如上代码,A4纸张
测试2:如上代码,A6纸张
测试3:LODOP.PRINT_INITA("20mm","0mm","200mm","50mm","任务名");,其他同测试1。
测试4:代码同测试3,换可打区域的打印机
图示:

LODOP设置某打印项锁定下边距的更多相关文章
- LODOP关联,打印项序号注意事项
之前也有介绍过打印项序号:Lodop打印控件里SET_PRINT_STYLE和SET_PRINT_STYLEA如果是个给打印项添加样式,最常用的是SET_PRINT_STYLEA(0.....),第一 ...
- LODOP中的RightMargin右边距和BottomMargin下边距
LODOP中的打印项,例如ADD_PRINT_HTM,参数分别为顶边距,左边距,宽,高,打印项内容.第三四参数宽高,除了可以用值和百分比,还可以用RightMargin和BottomMargin变相控 ...
- LODOOP中的各种边距 打印项、整体偏移、可打区域、内部边距
Lodop中的打印项内容位置定位,除了打印项本身的top,left值,也会受其他设定或打印机的影响.打印开发,先用虚拟打印机测试出正确结果,然后客户端用打印维护微调常见问题:1.设置打印项相对于纸张居 ...
- LODOP打印项水平居中
LODOP控制打印项水平居中,可以用如下语句,该语句控制的是打印项本身在纸张中水平居中.LODOP.SET_PRINT_STYLEA(0,"Horient",2);这个根据大的打印 ...
- LODOP中的纯文本和超文本打印项
LODOP中的的打印项,有超文本也有纯文本,超文本指的是用html语言,html里的标签为值的打印项,该种打印项会经过浏览器解析,LODOP本身不带解析超文本的引擎,调用的windows底层引擎,与i ...
- Lodop调整打印项输出顺序 覆盖与层级
Lodop中的打印项,如果有输出在同一位置,或部分位置重叠的地方,打印项之间是怎么覆盖的呢?在JS里,按照Lodop语句打印项先后的执行顺序,先执行的先输出,后执行的后输出,如果有后面的打印项和前面的 ...
- LODOP设置超文本不自动分页的方法
在LODOP中,超文本超过打印项高度会自动分页,自动分页有两种情况:超过设置的打印项高度,超过纸张.这里是指高度,超过纸张宽度的超文本不会显示,会隐藏掉. 如果你不了解什么是LODOP中的超文本打印项 ...
- LODOP设置判断后执行哪个
LODOP的语句是普通的语句,可以通过JS判断确定要执行哪个,或通过循环循环执行一些语句.如果需要执行某些打印项在哪些条件下不打印,不需要通过代码删除打印项,类似LODOP.SET_PRINT_STY ...
- LODOP中打印项水平居中简短问答
相关博文:LODOP打印项水平居中(超文本纯文本居中)LODOP打印超文本有边距不居中的情况2(超文本居中的一种) LODOP表格水平居中3(宽度为百分比)(超文本居中的一种) LODOP打印图片水平 ...
随机推荐
- 读react源码准备
git源码地址:https://github.com/facebook/react react 里面就是 react源码 react里面的react文件夹就是react源码,react源码非常的少,总 ...
- An exception has occurred, use %tb to see the full traceback.----parser.parse_args()报错
一.报错: 原因: 由于在jupyter notebook中,args不为空. 二.问题解决 改成args = parser.parse_args(args=[])
- 图森未来一道笔试题-迷宫难题【BFS找S->E的最短步数】
时间限制:3秒 空间限制:262144K 图森未来的自动驾驶小卡车今天被派到了一个陌生的迷宫内部运输一些货物. 工程师小图已经提前拿到了这个迷宫的地图,地图是一个n*m的字符矩阵,上面包含四种不同的字 ...
- 浏览器 cookie
Cookie 保存以下几方面的信息: Cookie的名字 Cookie的值 到期时间 所属域名(默认是当前域名) 生效的路径(默认是当前网址) Set-Cookie: name=value[; exp ...
- async-validator:Element表单验证
转载文章:Element表单验证(2) Element表单验证(2) 上篇讲的是async-validator的基本要素,那么,如何使用到Element中以及怎样优雅地使用,就在本篇. 上篇讲到a ...
- 101 More Security Best Practices for Kubernetes
https://rancher.com/blog/2019/2019-01-17-101-more-kubernetes-security-best-practices/ The CNCF recen ...
- web自动化测试-自动化测试模型介绍
一.线性测试 什么是线性测试? 通过录制或编写对应用程序的操作步骤产生相应的线性脚本,每个测试脚本相对独立,不产生依赖和调用,单纯的来模拟用户完整的操作场景 缺点 1.开发成本高,测试用例之间存在重复 ...
- LeetCode 732. My Calendar III
原题链接在这里:https://leetcode.com/problems/my-calendar-iii/ 题目: Implement a MyCalendarThree class to stor ...
- centos7最小化安装无法tab补全
yum install -y bash-completion 安装完后reboot重启生效
- Impala 介绍(转载)
一.简介 1.概述 Impala是Cloudera公司推出,提供对HDFS.Hbase数据的高性能.低延迟的交互式SQL查询功能. •基于Hive使用内存计算,兼顾数据仓库.具有实时.批处理.多并发等 ...