小票由于纸张没有确定的高度,根据内容多少,小票打印机出多少纸,在设置纸张的时候,需要把纸张设置成不定高的纸张。
简短问答:
小票打印 ,参考样例18 http://www.c-lodop.com/demolist/PrintSample18.html
(小票针式打印 建议用 ADD_PRINT_TEXT文本,不用htm超文本,纸张高度不定容易引起 htm 中排版变形)

小票一般内容简短,有文本线条二维码条码之类的都可能,可以直接用纯文本进行设计,纯文本不会像超文本一样受浏览器解析的影响,(关于纯文本和超文本 相关博文:LODOP中的纯文本和超文本打印项

小票出纸的高度是怎么确定的呢:是由以下几个数值的合计组成的
高度1:打印项的上边距
高度2:打印项和打印项之间的距离
高度3:打印项本身的高度
高度4:纸张语句设置的下方留白高度
PS:如果有虚线可打区域,或整体偏移值,也会受这些的影响(可打区域相关博文:LODOOP中的各种边距 打印项、整体偏移、可打区域、内部边距Lodop打印控件打印机可打区域的影响 设置纸张边缘为基点LODOP中预览界面查看打印机的可打区域具体值

例如:如图,测试代码用到的打印项:两个纯文本,两个实心矩形。(实心矩形和纯文本宽高一致,由于纯文本没有背景色的设置,默认无背景色,这里用实心矩形当作背景色可以更直观的查看到文本项本身的宽高区域。)
情况1:第一个项实心矩形顶边距为0,高度为60。(第一个纯文本同样高和顶边距)
第二个项实心矩形顶边距为60,高度为60.(第二个纯文本同样高和顶边距)
设置纸张不定高,下方留白高度为0。
效果:纸张高度为120,为两个打印项的高度60+60之和。

情况2(测试内容超出):第一个项实心矩形顶边距为0,高度为60。(第一个纯文本同样高和顶边距)
第二个项实心矩形顶边距为60,高度为60.(第二个纯文本同样高和顶边距)
设置纸张不定高,下方留白高度为0。
效果:纸张高度为两个打印项的高度60+60之和。
相关博文:LODOP打印超过后隐藏内容样式
由相关博文可知,纯文本超过打印项高度会隐藏,由情况1,可知打印项高度会影响纸张的高度,如情况1,两个文本项之间存在间距,这间距是打印项高度造成的。
一般小票比较简单,内容就是商品和价格,估计最大的文本的值,设计合适的宽高,如果商品名字很长,宽高不够,会隐藏后面的内容。

情况:3:第一个项实心矩形顶边距为10,高度为60。(第一个纯文本同样高和顶边距)
第二个项实心矩形顶边距为80,高度为60.(第二个纯文本同样高和顶边距)
设置纸张不定高,下方留白高度为60。
效果:纸张高度为顶边距10+打印项高度60+两个纯文本打印项的间隔(80-60-10)+第二个打印项高度60+下方留白60

也就是纸张高度=打印项高度累计+打印项间隔高度+顶边距+底边距(下方留白),无整体偏移可打区域等情况下。

测试代码的宽度设定的好像有差异,不过这里演示不定高,和高度有关,宽度就不改了,因为之前截好图了。
具体效果如图:

测试代码:

<a href="javascript:prn1_preview()">打印项高度(无边距)</a><br>
<a href="javascript:prn2_preview()">打印项高度内容超出(无边距)</a><br>
<a href="javascript:prn3_preview()">打印项高度内容超出(有上下边距)</a><br>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function prn1_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.SET_PRINTER_INDEX("Microsoft XPS Document Writer");//指定某虚拟打印机
LODOP.SET_PRINT_PAGESIZE(3,1385,0,"");//这里3表示纵向打印且纸高“按内容的高度”;1200表示纸宽138.5mm;0表示页底空白0mm
LODOP.ADD_PRINT_SHAPE(4,0,0,119,60,0,1,"#0080FF");//实心矩形,上左边距都是0,宽119,高 60.
LODOP.ADD_PRINT_SHAPE(4,60,0,119,60,0,1,"#80FF80");//实心矩形,上边距都是60,宽119,高 60.
LODOP.ADD_PRINT_TEXT(0,0,119,60,"新加文本1");
LODOP.ADD_PRINT_TEXT(60,0,119,60,"新加文本1");
LODOP.PREVIEW();
};
function prn2_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.SET_PRINTER_INDEX("Microsoft XPS Document Writer");//指定某虚拟打印机
LODOP.SET_PRINT_PAGESIZE(3,1200,0,"");//这里3表示纵向打印且纸高“按内容的高度”;1200表示纸宽138.5mm;0表示页底空白0mm
LODOP.ADD_PRINT_SHAPE(4,0,0,119,60,0,1,"#0080FF");//实心矩形,上左边距都是0,宽119,高 60.
LODOP.ADD_PRINT_SHAPE(4,60,0,119,60,0,1,"#80FF80");//实心矩形,上边距都是60,宽119,高 60.
LODOP.ADD_PRINT_TEXT(0,0,119,60," Lodop(标音:劳道谱,俗称:露肚皮)是专业WEB控件,用它既可裁剪输出页面内容,又可用程序代码直接实现复杂打印。控件功能强大,却简单易用,所有调用如同JavaScript扩展语句,主要接口函数如下:");
LODOP.ADD_PRINT_TEXT(60,0,119,60," Lodop(标音:劳道谱,俗称:露肚皮)是专业WEB控件,用它既可裁剪输出页面内容,又可用程序代码直接实现复杂打印。控件功能强大,却简单易用,所有调用如同JavaScript扩展语句,主要接口函数如下:");
LODOP.PRINT_DESIGN();
};
function prn3_preview() {
LODOP=getLodop();
LODOP.PRINT_INIT("");
LODOP.SET_PRINTER_INDEX("Microsoft XPS Document Writer");//指定某虚拟打印机
LODOP.SET_PRINT_PAGESIZE(3,1385,60,"");//这里3表示纵向打印且纸高“按内容的高度”;1200表示纸宽138.5mm;60表示页底空白6mm
LODOP.ADD_PRINT_SHAPE(4,10,0,119,60,0,1,"#0080FF");//实心矩形,上左边距都是0,宽119,高 60.
LODOP.ADD_PRINT_SHAPE(4,80,0,119,60,0,1,"#80FF80");//实心矩形,上边距都是60,宽119,高 60.
LODOP.ADD_PRINT_TEXT(10,0,119,60,"新加文本1");
LODOP.ADD_PRINT_TEXT(80,0,119,60,"新加文本1");
LODOP.PREVIEW();
};
</script>

图示:

注意单位的不同,PAZESIZE的默认缺省单位是0.1mm,打印项的默认缺省单位是px。

LODOP纸张高度不定的纯文本累计高度的更多相关文章

  1. LODOP中纸张高度不定超文本和纯文本对比

    关于纸张高度不定的小票打印,建议使用纯文本进行设计,避免纸张高度引起变形,或超文本解析差异造成一些影响:LODOP纸张高度不定的纯文本累计高度 上面的链接的博文里,纯文本可通过间距和高度值累计,得出最 ...

  2. Lodop纯文本英文-等符号自动换行问题

    ADD_PRINT_TEXT纯文本,宽度不够,高度足够,超宽会自动换行,高度不够会隐藏后面的内容.在超宽自动换行的时候,如果有-或()之类的,英文单词不拆分,或其他一些认为是不拆分的情况,会造成还没有 ...

  3. LODOP中的纯文本和超文本打印项

    LODOP中的的打印项,有超文本也有纯文本,超文本指的是用html语言,html里的标签为值的打印项,该种打印项会经过浏览器解析,LODOP本身不带解析超文本的引擎,调用的windows底层引擎,与i ...

  4. Lodop打印控件输出页码(超文本和纯文本页码)

    Lodop打印控件打印超文本既可以手动分页,也可以自动分页,自动分页可阅读本博客的另一篇博文:Lodop打印控件 超文本自动分页 自动分页的时候,往往是不知道需要打印的内容到底分了几页,也就不可能预先 ...

  5. 计算纯文本情况下RichTextBox实际高度的正确方法(.NET)

    2016-07-17重大更新           其实有更好.更系统的方法,也是最近才发现的,分享给大家!! /// <summary> /// /// </summary> ...

  6. 使用div模拟textarea,实现文本输入框高度自适应(附:js控制textarea实现文本输入框高度自适应)

    一.使用textarea标签进行多行文本的输入有很多限制,比如不能实现高度自适应,会出现难看的滚动条等问题. HTML5中添加了一个新属性contenteditable,该属性可以让input,tex ...

  7. 纯文本抽出程序库DMC TEXT FILTER

    因需而生,红樱枫为文本转换市场领航 --纯文本抽出程序库DMC TEXT FILTER,从需求中把握平衡 在高度数字化的今天,数字图书馆已经成为非常多人查询资料的有效途径.然而即使在畅通的宽带搜寻中一 ...

  8. 小tip: 如何让contenteditable元素只能输入纯文本

    div模拟textarea文本域轻松实现高度自适应 这篇文章发布于 2010年12月23日,星期四,22:07,归类于 css相关. 阅读 112630 次, 今日 40 次 by zhangxinx ...

  9. 限制可编辑div只能输入纯文本

    本博客转载自张鑫旭大神的一篇文章:小tip: 如何让contenteditable元素只能输入纯文本,原文地址:http://www.zhangxinxu.com/wordpress/2016/01/ ...

随机推荐

  1. java学习笔记15-封装

    把属性(成员变量)设置为私有(private),把方法设置为共有的(public),假如外界想要得到或者改变某个属性,只能通过方法来办到,这其实是封装的思想之一. 新建一个Student类,这个类有几 ...

  2. zznu-oj-2134- 发红包!!!-【多项式加法,模拟题目】

    2134: 发红包!!! 题目描述 给你两个最简多项式,请输出两个多项式相加后的结果.给定的多项式的格式为ax^num1+bx^num2+...其中x前面的a,b代表系数num代表指数(次方数),输入 ...

  3. JAVA遇见HTML——JSP篇(JSP状态管理)

    案例:Cookie在登录中的应用 URL编码与解码的工具类解决中文乱码的问题,这个工具类在java.net.*包里 编码:URLEncoder.encode(String s,String enc)/ ...

  4. Nginx HTTP服务器配置模板

    https://github.com/h5bp/server-configs-nginx

  5. [SaSS] Using Object like style to create class dynamiclly

    $black: #; $white: #fff; $yellow: #ffe183; $dark-red: #e70404; $dark-green: #0d8268; $cloud-blue: #d ...

  6. 组件化网页开发 / 步骤二 · 2-11 jquery的ajax方法 以及下一章跨域没懂

    1,根据2-11课程老师的提示,自己封装 $.ajax 2,第三章,跨域,没看懂

  7. 037_自动添加防火墙规则,开启某些服务或端口(适用于 RHEL7)

    #!/bin/bash#设置变量定义需要添加到防火墙规则的服务和端口号#使用 firewall-cmd --get-services 可以查看 firewall 支持哪些服务 service=&quo ...

  8. springboot项目:以run as-->spring boot app方式启动,配置热部署(亲测可用!!!)

    1.在pom.xml中添加热部署依赖 <!-- 热部署 --> <!-- devtools可以实现页面热部署(即页面修改后会立即生效, 这个可以直接在application.prop ...

  9. 51nod 1412

    考虑到只与深度和点的个数有关$f[n][d]$ 表示 $n$ 个点,深度为 $d$ 的 $AVL$ 树有多少种 枚举左子树大小为 $i$, 进行转移并且深度为 $logn$ 级别 $f[n][d] = ...

  10. [Luogu] 最小差值生成树

    https://www.luogu.org/recordnew/show/6125570 思路就是巧妙的枚举所有的生成树,取最优值首先按照边权排序找出第一颗最小生成树(l, r),其中l表示最小边的编 ...