加载中…
正文 字体大小:

【错误还原】Lodop多张空白页测试2

(2017-09-23 09:35:49)
标签:

lodop

web打印控件

c-lodop

it

【错误还原】Lodop多出空白页测试
上面这个链接是以前的一个超文本自动分页,最后却出现了空白页的问题
该问题产生的原因是,超文本中有不可见内容,所以占了空间,导致分出了空白页。

此问题可以通过给超文本加背景色,或者排查超文本内容解决。
若空白页出现背景色,说明有不可见内容。
----------
最近测试发现了一个可以产生空白页的方法:内容偏移出纸张。
正常代码,内容都在纸张里,一共只有一页:
  LODOP.PRINT_INIT("");
  LODOP.SET_PRINT_PAGESIZE(0,400,400,"");
  LODOP.ADD_PRINT_TEXT(10,10,260,39,"打印内容");     
  LODOP.PREVIEW();
【错误还原】Lodop多张空白页测试2
 
然而,如果内容偏移出纸张,就可能导致空白页,有内容,但是已经偏移出纸张的范围内,导致有多个空白页。
PRINT_INITA的前两个参数可以设置所有打印项的整体偏移值,PRINT_INITA 参数第一个top整体偏移的上边距,第二个left整体偏移的左边距。
如果打印项都偏移出了纸张,可能造成空白页。

空白页代码,内容偏移出了纸张:
  LODOP.PRINT_INITA("40mm","40mm","40mm","40mm","");
  LODOP.SET_PRINT_PAGESIZE(0,400,400,"");
  LODOP.ADD_PRINT_TEXT(10,10,260,39,"打印内容");     
  LODOP.PREVIEW();
如下图,INITA前两个偏移值40mm,距顶边,距左边,都偏移了40mm,而纸张本身是400X400(也就是40mmX40mm,纸张默认单位是0.1mm),因此所有打印项都偏移出了纸张外,造成了两张空白页的现象。
【错误还原】Lodop多张空白页测试2
 
打印设计随意拖动纸钉引起
在打印设计界面,移动打印设计的可视化编辑区域就是偏移,通常情况下左上角的纸钉是固定的,但是点击可以解锁,之后可以拖动可视化编辑区域。
如果有人设置的纸张较小,左上角一块编辑区域不好看,然后把纸钉钉在中间位置,这时候查看生成的代码会发现会产生偏移值,内容偏移出了纸张,可能就是空白页了。
如果只是向左偏移,不会分页成多张空白页会显示一页空白。
【错误还原】Lodop多张空白页测试2
【错误还原】Lodop多张空白页测试2
 
然而如果整体偏移到下方,就会根据打印项偏移超出的高度,分页成多个空白页
【错误还原】Lodop多张空白页测试2
【错误还原】Lodop多张空白页测试2
单位:
PRINT_INITA,默认单位是px。
SET_PRINT_PAGESIZE,默认单位0.1mm。
如果要使用其他单位,需要用""字符串,字符串的时候单位不能省略。

PRINT_INITA(前两个参数是整体偏移,后两个是打印设计的可视化编辑区域大小)四个参数的默认单位是px,缺省长度单位为px,打印设计界面拖动纸钉生成前两个偏移的单位是px。
SET_PRINT_PAGESIZE(第二三参数是纸张大小),纸张宽高的参数默认是01.mm,缺省长度单位为0.1mm。

单位换算,参考样例29 http://www.c-lodop.com/demolist/PrintSample29.html
这里的px不是像素,是绝对长度单位,1px等于1/96英寸,与正常DPI显示设置的像素值相等。
如果是超文本中设置的css样式等,如果使用px等像素单位就可能会受一些分辨率之类的影响。


(1)PRINT_INITA偏移,不要偏移出纸张。偏移出纸张,可能造成一页空白,或多张空白页。
(2)如果不要偏移,在打印设计界面不要随意移动纸钉



 


 

0

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有