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等可以输出超文本的表格,超文有超过打印项高度或纸张高度自动分页 ...
随机推荐
- linux 服务器配置 ASF 云挂卡
关于社区打不开:https://github.com/zyfworks/AnotherSteamCommunityFix 下载asf:https://github.com/JustArchi/Arch ...
- Python基础初始之二
1.格式化的输出 当你遇到这样的需要:字符串中想让某些位置变成动态可传入的,首先考虑用格式化输出 1.格式化输出:% 2. 格式化输出:format 3. 格式化输出:f 2.运算符 3.编码 待续
- 基于思岚A1激光雷达+OpenGL+VS2017的Ramer-Douglas-Peucker算法的实现
时隔两年 又借到了之前的那个激光雷达,最老版本的思岚A1,甚至不支持新的固件,并且转接板也不见了,看了下淘宝店卖¥80,但是官方提供了一个基于STM32的实现方式,于是我估摸着这个转接板只是一个普通的 ...
- 001_Visual Studio 显示数组波形
视频教程:https://v.qq.com/x/page/z3039pr02eh.html 资料下载:https://download.csdn.net/download/xiaoguoge11/12 ...
- idea中properties配置文件 注释显示中文乱码问题
- SVN 常用 还原项目
1.先修改本来两个文件,然后再提交到SVN 2.在日志界面,查看提交的文件,找到对应的版本号 3.找到对应的版本号(这里的版本号是1995,我提交生成的版本号 的前一个版本 才是我未作出修改的版本), ...
- Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式CentOS7-1810下实现
iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...
- 干货 | 10分钟搞懂branch and bound(分支定界)算法的代码实现附带java代码
Outline 前言 Example-1 Example-2 运行说明 00 前言 前面一篇文章我们讲了branch and bound算法的相关概念.可能大家对精确算法实现的印象大概只有一个,调用求 ...
- Git常用命令及常见报错:You have not concluded your merge (MERGE_HEAD exists)、清理无效的远程追踪分支
一.常用命令 切换到master分支:git checkout master 查看已有本地及远程分支:git branch -a(先git pull拉下全部数据) 查看远程分支:git branch ...
- shell脚本编程之变量的小用法
变量赋值 ${parameter:-word}:如果parameter为空或未定义,则变量展开为"word":否则,展开为parameter的值: ${parameter:+wor ...