由于打印机千差万别,打印开发也要注意针对客户各种打印机进行处理,Lodop提供了打印维护(PRINT_SETUP)可针对每个客户端进行微调,保存结果保存在客户端本地,对其他访问网站的客户没有影响。

由于打印机的限制,有些打印机不能打印某些规格的纸张,或打印区域有限制,不是所有打印机都支持自定义纸张,也不是所有打印机可打区域都相同,在打印预览界面里选择真实打印机,有时候预览能看到一些虚线,这些虚线是打印机的可打区域,受打印机的影响。
虚线外是不可打的,因此Lodop对打印项的top、left等起始点默认是从可打区域的边缘为起始位置的,这样可以避免有内容超过可打区域造成打印不全,但是这样一来不同打印机可打区域不同,所以坐标的基点不同,也就造成内容在纸张中位置不同,如果不想这样,也可以设置以纸张边缘为基点,那么起始位置就不再是可打区域的边缘了,需要注意内容不要在可打区域外输出。

如图,左侧是默认以可打区域(不同打印机可打区域不同)为基点,打印项top、left均设置成0,却还有边距,这是由于默认不是以纸张边缘为基点。
右侧是设置以纸张边缘为基点后,打印项起始位置变成了纸张最左上角,由于在可打区域外,因此那部分打印不出来,该top、left的依据是纸张边缘。

top值为0,left为0,应该是在纸张的最左上角位置显示,用虚拟打印机可以看出,top值为0,left为0确实是在纸张的最左上角,然而实际用打印机打印中不一定在最左上角。

虚线是打印机的可打印区域边界,也就是打印机走纸的物理边界。

不同的打印机边界值不同,一般是1——5mm的差异。
打印机预留的物理边距,不可以取消,有个别打印可以提供修改,具体查看一下相应的打印管理程序。

以可打区域为基点,能保证内容不会超出可打区域,从而把内容都打印出来。
以纸张边缘为基点,能更好的设计,让不同打印机内容在纸张中的位置一样。
可根据需要,选择默认,或以纸张边缘为基点(设置以纸张边缘为基点需要加如下语句)
LODOP.SET_PRINT_MODE("POS_BASEON_PAPER",true);//设置以纸张边缘为基点

注意:可打区域外是打印不出来的,和打印机有关。
设置以纸张为基点,只是设计的内容的坐标定位的位置有关,如图所示。

Lodop打印控件打印机可打区域的影响 设置纸张边缘为基点的更多相关文章

  1. Lodop打印控件在页面如何使用

    Lodop打印控件部署到web服务器简单,在页面的使用方法也简单,是非常容易和方便使用的打印控件.客户端本地打印角色(即用户访问网站后 用自己链接的打印机进行客户端本地打印),步骤很少,部署简单:Lo ...

  2. Lodop打印控件传入css样式、看是否传入正确样式

    Lodop中可以传入页面存在的css样式,也可以是拼接后的新样式,例如本博客的其他博文:Lodop打印如何隐藏table某一列 需要打印的页面,样式不一定都是行内样式,style样式单独写在页面上,或 ...

  3. Lodop打印控件 超文本自动分页

    Lodop打印控件打印html超文本,通常传入一个超文本内容可能会超过纸张,如果要拆分每页显示哪些然后手动分页比较麻烦,Lodop中的超文本都有自动分页的特点.自动分页的依据:1.超文本超过设置的打印 ...

  4. LODOP打印控件进行批量打印

    Lodop打印控件批量打印的方式:1.批量打印每页内容相同的:(1)批量打印相同内容的很多纸张,可以设置打印份数,把该内容打印出多份.2.批量打印每页不同内容的:(1)通过在一个任务中分页,循环添加页 ...

  5. Lodop打印控件设置表格次页偏移

    Lodop打印控件有很好的自动分页功能,超文本table表格一页装不下,自动分到第二页,第三页……通常表格之前还会有一些内容,比如标题,制表人名称日期什么的杂七杂八的东西,这种东西会占用一定的空间,这 ...

  6. Lodop打印控件指定打印任务某几页

    使用Lodop打印控件进行打印开发,有时候一个任务里有多页,例如各种合同之类的,客户端用户在使用过程中,可能有某一页打印后发现需要修改,这时候不必再把整个任务重新打印一遍,只需要打印需要修改的那页重新 ...

  7. Lodop打印控件 打印‘接下一页’‘以下空白’

    Lodop打印控件中,超文本超过设置的打印项高度 或超过纸张,就会自动分页,纯文本通过设置为多页项也可以根据打印项高度自动分页,Lodop中还提供了许多手动分页的方法,对于多页文档中(自动分页或手动分 ...

  8. LODOP打印控件关联输出各内容

    Lodop打印控件利用SET_PRINT_STYLEA里面的“LinkedItem”可以把多个独立的内容关联起来,让它们顺序打印.这样,就可以实现很多效果,例如一些内容紧跟着表格下方输出,关联表格后就 ...

  9. Lodop打印控件里SET_PRINT_STYLE和SET_PRINT_STYLEA

    LODOP.SET_PRINT_STYLE 对该语句后面的打印项样式设置效果.LODOP.SET_PRINT_STYLEA 针对第一个参数设置的打印项样式设置效果.这两个语句,作用范围不同. 在设置字 ...

随机推荐

  1. docker 7 docker的帮助命令

    docker的帮助命令 [root@t-docker chenzx]# docker info [root@t-docker chenzx]# docker version [root@t-docke ...

  2. leetcode 74. Search a 2D Matrix 、240. Search a 2D Matrix II

    74. Search a 2D Matrix 整个二维数组是有序排列的,可以把这个想象成一个有序的一维数组,然后用二分找中间值就好了. 这个时候需要将全部的长度转换为相应的坐标,/col获得x坐标,% ...

  3. django一般架构思维导图

    本例已django项目名称为myblog,其下面有2个应用blog和comment介绍:

  4. 输出 1-100 内的奇数和偶数,并对其分别求和(while嵌套if-else循环)

    package com.summer.cn; /** * @author Summer * 输出 1-100 内的奇数和偶数,并对其分别求和 * while嵌套if-else循环 */ public ...

  5. Java关系运算

    关系运算符用来比较两个值的关系.关系运算符是二元运算符,运算结果是 boolean 型.当运算符对应的关系成立时,运算结果是 true,否则是 false. 关系表达式是由关系运算符连接起来的表达式. ...

  6. <计算机网络>运输层

    端口号:通常在一台主机上运行多个网络应用程序,IP地址标识一台主机,而端口号标识特定的进程.端口是一个16bits的数,其大小在0-65535之间.0-1023之间的端口号叫做周知端口号 套接字:从网 ...

  7. Java NIO4:缓冲区Buffer(续)

    一.什么是缓冲区      一个缓冲区对象是固定数量的数据的容器,其作用是一个存储器,或者分段运输区,在这里数据可被存储并在之后用于检索.缓冲区像前篇文章讨论的那样被写满和释放,对于每个非布尔原始数据 ...

  8. python内建的命名空间研究

    python内建的命名空间研究 说明: python内置模块的命名空间.python在启动的时候会自动为我们载入很多内置的函数.类,比如 dict,list,type,print,这些都位于 __bu ...

  9. Objective-C Programming The Big Nerd Ranch Guide 笔记 19-37

    Properties are either atomic or nonatomic, The difference has to do with multithreading. atomic is t ...

  10. Git安装以及常用命令(图文详解)

    **Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...