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打印图片水平 ...
随机推荐
- lock in share mode 和 select for update
lock in share mode 和 select for update 2018年07月11日 01:57:58 道不虚行只在人 阅读数 146 版权声明:欢迎转载,请注明出处 https ...
- header中Content-Disposition的作用与使用方法
下载文件的时候会使用: Content-disposition 是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件.Content-disposition其实可以控制用 ...
- Java.io.tmpdir介绍
System.getproperty(“java.io.tmpdir”)是获取操作系统缓存的临时目录,不同操作系统的缓存临时目录不一样, 在Windows的缓存目录为:C:\Users\登录用户~1\ ...
- Java内存区域与内存溢出异常(jdk 6,7,8)
运行时数据区域 Java虚拟机在执行Java程序的过程中会把它关联的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户 ...
- SQL查询结果拼接成字符串
sqlserver中将查询结果拼接成字符串 #for xml path(param)--将查询结果以xml格式输出 1 select id,name from table1 for xml pat ...
- C++对象内存模型1(堆栈模型)(转)
对象内存模型 一. 栈(Stack) VS. 堆(heap) 栈 由系统自动管理,以执行函数为单位 空间大小编译时确定(参数+局部变量) 函数执行时,系统自动分配一个stack 函数执行结束时,系统立 ...
- JavaScript基础07——BOM
BOM概念 BOM是Browser Object Model的缩写,简称浏览器对象模型.这个对象就是window BOM提供了独立于内容而与浏览器窗口进行交互的对象 ...
- 4-微信小程序开发(小程序默认页面函数说明)
https://www.cnblogs.com/yangfengwu/p/11601299.html 源码下载链接: 或者 首先说一下,怎么让自己的一个项目更改名字成为一个新的项目 然后用软件导入项目 ...
- Pollard-Rho算法求大数质因子
/* * 大整数分解到现在都是世界级的难题,但却是一个重要的研究方向,大整数在公共密钥的研究上有着重要的作用 * Pollard Rho算法的原理就是通过某种方法得到两个整数a和b.而待分解的大整数为 ...
- 浅谈SPFA判负环
目录 SPFA判负环 [前言] [不可代替性] [具体实现] SPFA的过程 判负环 [核心代码] [例题] SPFA判负环 有不足的地方请指出 本蒟蒻一定会修改吼 [前言] 最短路的求法中最广为人知 ...