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打印图片水平 ...
随机推荐
- 聊聊ThreadLocal源码(基于JDK1.8)
原文:https://cloud.tencent.com/developer/article/1333298 聊聊JDK源码中ThreadLocal的实现 主要方法: ThreadLocal的get方 ...
- 【实战3】记一次内网中反弹shell的艰难历程
# 0x00 前言 最近在客户现场对内网服务器进行渗透测试,发现了大量的弱口令,本次历程就是从这里开始··· # 0x01 弱口令 对目标ip进行端口扫描,开放端口为80,445,1433,3389- ...
- jquery对象转成dom对象
jQuery库本质上还是JavaScript代码,它只是对JavaScript语言进行包装处理,为的是提供更好更方便快捷的DOM处理与开发中经常使用的功能.我们使用jQuery的同时也能混合Java ...
- java代码获取项目版本号实例
package com.hzcominfo.application.etl.settings.web.controller.highconfig; import com.hzcominfo.appli ...
- 项目alpha冲刺-总结
作业要求 这个作业属于哪个课程 软件工程1916-W(福州大学) 这个作业要求在哪里 项目Alpha冲刺 团队名称 基于云的胜利冲锋队 项目名称 云评:高校学生成绩综合评估及可视化分析平台 这个作业的 ...
- python开发笔记之zip()函数用法详解
今天分享一篇关于python下的zip()函数用法. zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素按顺序组合成一个tuple,每个tuple中包含的是原 ...
- python遇到动态函数---TypeError: unbound method a() must be called with A instance as first argument (got nothing instead)
TypeError: unbound method a() must be called with A instance as first argument (got nothing instead) ...
- Sql语句中Like嵌套用法
一般的Like用法: SELECT U_NAME FROM T_USER WHERE U_NAME LIKE '%A%' 但是,我此次like关键字后面的对应值是一个变量,需要用select语句来实现 ...
- JAVA常用处理数据
price(350)*(10/100) price.multiply(maxPayIntegrateRate.divide(new BigDecimal("100.0")) max ...
- go的接口内部实现
1 前言 1.1 Go汇编 Go语言被定义为一门系统编程语言,与C语言一样通过编译器生成可直接运行的二进制文件.这一点与Java,PHP,Python等编程语言存在很大的不同,这些语言都是运行在基于C ...