参考
官方网站:https://www.lodop.net/index.html
官方文档:https://www.lodop.net/LodopDemo.html
官方问答:常见问答列表
官方博文:博文摘录
推荐博客:博客园-花谢悦神
注意事项
Lodop并非完全免费。
当你的程序采用预览打印语句(如PREVIEW、PREVIEWA等)且预览窗口正常大小时,是完全免费的,输出结果没有水印。
仅当采用直接打印语句(如PRINT、PRINTA等)或预览窗口过小时,打印结果的左下角会出现水印。要去掉水印需要按如下途径购买Lodop控件注册号并同时获得更多权益:http://www.c-lodop.com/Lodop_Lic.html
Lodop API整理
单位
Lodop函数的许多参数可声明使用in(英寸)、cm(厘米)、mm(毫米)、pt(磅)、px(1/96英寸)等绝对长度单位,其中部分函数(数据区域)的计量单位还可以使用百分比%,这类值是相对于纸张宽或高的比率。例如:
ADD_PRINT_RECT("0%","0%","100%","100%",0,1);
这行语句的参数含义是:矩形的上边距和左边距是0,其宽高与纸张的宽高100%一致。
任务名称
1 | LODOP.PRINT_INIT(taskName) |
不同打印任务,打印任务名称不能相同,会相互干扰,参考:
https://www.lodop.net/faq/pp17.html
https://www.lodop.net/faq/pp9.html
设置纸张大小
https://www.lodop.net/demolist/PrintSample5.html
1 | SET_PRINT_PAGESIZE(intOrient,intPageWidth,intPageHeight,strPageName) |
- intOrient:打印方向及纸张类型
- 1—纵向打印,固定纸张;
- 2—横向打印,固定纸张;
- 3—纵向打印,宽度固定,高度按打印内容的高度自适应(见样例18);
- 0—方向不定,由操作者自行选择或按打印机缺省设置。
- intPageWidth: 纸张宽,单位为0.1mm 譬如该参数值为45,则表示4.5mm,计量精度是0.1mm。
- intPageHeight:固定纸张时该参数是纸张高;高度自适应时该参数是纸张底边的空白高,计量单位与纸张宽一样。
- strPageName:纸张类型名,intPageWidth等于零时本参数才有效,具体名称参见操作系统打印服务属性中的格式定义。关键字
“CreateCustomPage”
会在系统内建立一个名称为“LodopCustomPage”
自定义纸张类型。
分页NewPage和NewPageA的区别
当前面的对象是一页时,两个效果是一样的;当前面的对象是多页时有差异。
例如,前面的对象占3页时,NEWPAGE
是从第2页开始,NEWPAGEA
是从第4页开始。如果是位置重复的话,用NEWPAGE
就覆盖了,位置不重复,就并列输出,NEWPAGEA
是顺序输出。
其他
打印模糊问题
如果使用ADD_PRINT_HTML
(图形模式),换成ADD_PRINT_HTM
(普通模式)试试。ADD_PRINT_HTML
(图形模式)适合高精度的图文打印机,有的打印机会模糊。
连续打印
例如:打印多行多列资产标签
思路:一行当做一张纸,一行能打印n个标签,每次打印标签控制打印起始点top left
参考:打印连续的纸张
打印常见名词解释
“横向打印”含义
https://www.lodop.net/blogs/Blog010.html