LODOP中的RightMargin右边距和BottomMargin下边距
LODOP中的打印项,例如ADD_PRINT_HTM,参数分别为顶边距,左边距,宽,高,打印项内容。
第三四参数宽高,除了可以用值和百分比,还可以用RightMargin和BottomMargin变相控制宽高。
RightMargin右边距和BottomMargin下边距容易被误解为:设置右边距和下边距后,打印项内部的内容和纸张的距离就是右边距和下边距了。
实际上不是这样的,打印项在纸张中的位置,还是通过前两个参数顶边距和左边距固定位置,这两个右边距和下边距只是变相控制不固定宽高的内容的宽高。如果是内容超出了纸张,用这个设置右边距下边距是没有效果的,因为宽高样式本身在内容里指定了,超出纸张,可以调整样式,有些样式不是自己写的,或者也可以用整页缩放Full-Page或溢出缩放(整页缩放相关博文:LODOP整页缩放,宽度、高度溢出缩放)
左边距:打印项距离纸张左侧的距离。
顶边距:打印项距离纸张上方的距离。
右边距(变相控制宽):左边距控制打印项的初始位置,打印项内容宽高不固定情况下,距离右边纸张的距离。相当于变相控制了宽度,即是 纸张宽度-左边距-右边距=打印项的宽度。
下边距(变相控制高):顶边距控制打印项的初始位置,打印项内容宽高不固定情况下,距离下边纸张的距离。相当于变相控制了高度,即是 纸张高度-顶边距-下边距=打印项的高度。
也就是说,这个变相控制是有条件的,打印项内容在不定宽高的时候才有效。如果打印项本身样式里设置了具体的宽高,不会按照这个改变内容本身的宽高,打印项内容也不会到右边或下边去。
测试代码:
<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>
<div id="d1">
<table width="300" border=1 style="border-collapse:collapse;table-layout:fixed;" >
<tr>
<td width="51" height="16">1</td>
<td width="51" height="16">333</td>
</tr>
</table>
</div>
<div id="d2">
<table width="100%" height="100%" border=1 style="border-collapse:collapse;" >
<tr>
<td width="40%">1</td>
<td width="60">333</td>
</tr>
</table>
</div>
<a href="javascript:prn1_preview()">设置了具体宽高值的表格</a><br>
<a href="javascript:prn2_preview()">设置的百分比宽高值</a><br>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function prn1_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.SET_PRINT_PAGESIZE(1,1300,600,"");
LODOP.ADD_PRINT_HTM("2cm","1cm","RightMargin:1cm","BottomMargin:2cm",document.getElementById("d1").innerHTML);
LODOP.PRINT_DESIGN();
//LODOP.PREVIEW();
};
function prn2_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.SET_PRINT_PAGESIZE(1,1300,600,"");
LODOP.ADD_PRINT_HTM("2cm","1cm","RightMargin:1cm","BottomMargin:2cm",document.getElementById("d2").innerHTML);
LODOP.PRINT_DESIGN();
//LODOP.PREVIEW();
};
</script>
</body>
如测试代码和图示,两个表格,一个表格里用的是实际的数值宽高,一个用的是百分比,效果如图,用百分比的宽高。固定值的会按照html写的具体样式进行控制宽高,只有百分比的这种不固定的会按照右边距和下边距控制宽高。
图示:

LODOP中的RightMargin右边距和BottomMargin下边距的更多相关文章
- LODOP设置某打印项锁定下边距
LODOP中的打印项定位都是按照top值(顶边距),left(左边距)来决定的 ,不能直接设置某打印项的下边距.此外,打印项的位置还受PRINT_INTA的前两个整体偏移值,打印机可打区域的影响.该文 ...
- LODOP中的各种宽高和位置简短问答
LODOP中的位置边距,可查看本博客另一篇相关博文:LODOOP中的各种边距 打印项.整体偏移.可打区域.内部边距关于LODOP中的各种宽高,可查看本博文简短问答下方的正文:.该文其实有两个以前的相关 ...
- LODOP中tfoot和tbody中间线连不起来
这种情况发生在使用ADD_PRINT_TABLE时,ADD_PRINT_TABLE是Lodop中专门用来输出table表格的语句,它有很多特点,比如该语句不切行(详细可参考查看本博客相关博文:LODO ...
- LODOP中的纯文本和超文本打印项
LODOP中的的打印项,有超文本也有纯文本,超文本指的是用html语言,html里的标签为值的打印项,该种打印项会经过浏览器解析,LODOP本身不带解析超文本的引擎,调用的windows底层引擎,与i ...
- LODOP中ADD_PRINT_TABLE、HTM、HTML表格自动分页测试
LODOP中超文本超过打印项高度会自动分页,那么对于超大行,该行处在分页高度位置会怎样呢?本文用来测试一下三个语句对html中table中超大行在分页高度位置的处理. 测试结果:ADD_PRINT_T ...
- LODOP中page-break-before:always给div分页
Lodop中超过超文本打印项高度会自动分页:Lodop打印控件 超文本自动分页Lodop中还有NewPage和NewPageA,用于手动分页:Lodop强制分页LODOP.NewPage()和LODO ...
- Lodop中特殊符号¥打印设计和预览不同
Lodop中¥符号样式改变问题 Lodop中对超文本样式的解析,虽然说是按照调用的本机ie引擎,但是调用的ie版本可能不同,导致在ie下是一种样式,预览又是另一种样式.可能是有些样式没有具体设置,走的 ...
- O(n) 取得数组中每个元素右边最后一个比它大的元素
题目 2019.9.7,icpc徐州网络赛的E题 XKC's basketball team ,计蒜客上还可以做. 链接:https://nanti.jisuanke.com/t/41387 Inpu ...
- LODOP中table自动分页补线加border
LODOP中可以用ADD_PRINT_TABLE.ADD_PRINT_HTM.ADD_PRINT_HTML.ADD_PRINT_TBURL等可以输出超文本的表格,超文有超过打印项高度或纸张高度自动分页 ...
随机推荐
- 调试中行支付demo
用eclipse调试中行支付demo,本来报错. 让我同学帮我远程看了下,他删了服务器,又添加服务器,然后竟然可以运行了,牛逼! 原来报错: at java.net.URLClassLoader$1. ...
- Linux的rwx
- Codeforces H. Malek Dance Club(找规律)
题目描述: Malek Dance Club time limit per test 1 second memory limit per test 256 megabytes input standa ...
- 一些带dga域名的恶意软件
04/02/2019 06:17下午 6,488,759 f4f242a50ba9efa1593beba6208a2508_PWS.win32.Simda_1250_DGADNS.pcap Simda ...
- python笔记41-虚拟环境virtualenv
前言 如果你是一个python初学者,我是不建议你搞python虚拟环境的,我看到很多python的初学者同学,使用最新版的pycharm,新建一个工程时候默认就是venu虚拟环境. 然后在使用cmd ...
- Python 爬虫js加密破解(四) 360云盘登录password加密
登录链接:https://yunpan.360.cn/mindex/login 这是一个md5 加密算法,直接使用 md5加密即可实现 本文讲解的是如何抠出js,运行代码 第一部:抓包 如图 第二步: ...
- Tortoise Git 安装 及报错处理
TortoiseGit安装详解: https://www.cnblogs.com/xinlj/p/5978730.html Tortoise Git 错误处理 disconnected no supp ...
- js访问对象属性的方式“.”与“[]”的区别
. 和 [] 没多大区别,作用完全相同.但是 一般情况下建议使用 . 写法,这样比较接近其它语言的面向对象写法,易读 如果属性名是动态的(比如变量中),只能使用 [] 写法.如 var person= ...
- jQuery通用遍历方法each的实现
each介绍 jQuery 的 each 方法,作为一个通用遍历方法,可用于遍历对象和数组. 语法为: jQuery.each(object, [callback]) 回调函数拥有两个参数:第一个为对 ...
- The Open Source Business Model is Under Siege
https://www.influxdata.com/blog/the-open-source-database-business-model-is-under-siege/ A few weeks ...