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打印图片水平 ...
随机推荐
- 使用laravel jwt-auth post提交数据一直出现 'error' => 'invalid_credentials'
注意,laravel 对密码使用Hash加密,检查一下数据库user表中的password有没有Hash加密过 没仔细看文档坑死我了
- Linux 设置系统编码
1.locale -a查看系统支持的语言2.进入etc/sysconfig/3.编辑i18n4.修改lang 5.设置完成后刷新:i18n source /etc/sysconfig/i18n
- Kotlin函数式编程范式深入剖析
继续学习Kotlin的函数式编程,先定义一个高阶函数: 其实上面这种调用方式在Kotlin用得不多,反而是将Lambda表达式放到方法体中使用得较频繁,如下: 接下来定义一个扩展方法,用来对字符串进行 ...
- 11-Flutter移动电商实战-首页_屏幕适配方案和制作
1.flutter_ScreenUtil插件简介 flutter_ScreenUtil屏幕适配方案,让你的UI在不同尺寸的屏幕上都能显示合理的布局. 插件会让你先设置一个UI稿的尺寸,他会根据这个尺寸 ...
- cube.js 学习 cube docker-compose 运行
cube.js 官方为我们也提供了backeng 部署的模型,为了测试方便以下是一个使用docker-compose 运行的demo 项目是一个集成gitbase 的demo,实际可以按照自己的项目修 ...
- SQL必知必会收集学习
1.按查询列位置排序:如按第一列 降序排序 desc
- LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力
二次联通门 : LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力 /* LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力 叫做计算几 ...
- 同期群分析(Cohort Analysis)
什么是同期群? 将相同时间段内具有共同行为特征的用户划分为同一个群体,其被称为同期群.“共同行为特征”是指在某个时间段内的行为相似.最常见的是按不同时间的新增用户来划分,然后分析留存率.当然也可以按其 ...
- 转载:四两拨千斤:借助Spark GraphX将QQ千亿关系链计算提速20倍
四两拨千斤:借助Spark GraphX将QQ千亿关系链计算提速20倍 时间 2016-07-22 16:57:00 炼数成金 相似文章 (5) 原文 http://www.dataguru.cn/ ...
- office2010安装不了提示已经安装32位的了怎么办
1.打开控制面板,查看是否有安装的程序没有拆卸,如果没有继续往下看,如果有直接拆卸掉,再进行下面的步骤. 2.首先打开注册列表.按下win+R键即可打开,输入regedit,也可以在开始菜单中搜索re ...