前面的博文Lodop打印语句最基本结构介绍(什么是一个任务),一个任务只能有一个打印语句(最后PRINT,PRINTA,PREVIEW等),如果执行多个,LODOP会弹出多次,C-LODOP会提示窗口已打开等,可查看本博客相关博文. 一个任务中如果执行了两个PRINT,由于打印后lodop会自动清理前面的任务,不只是打印内容,还有打印初始化的语句等全部清理,所以连续执行两个,会导致后面的一个PRINT打出来是空白的.如果想一个任务中第二个也有内容,可用该语句:LODOP. SET_PRINT_M…
一般情况下打印执行了PRINT()或PRINTA(),就会加入打印机队列,如果打印机脱机,就会在队列里排队,当打印机连上并取消脱机的时候,正在排队的任务就会打出,所以一般建议用是否加入队列来判断打印成功.关于打印成功前面有相关博文:LODOP获取打印机状态码和状态码含义测试.LODOP获取打印成功,是否加入队列由于打印机千差万别,状态码不一定准确,所以建议使用简单的方法判断打印成功,加入队列就算成功.但是如果是没成功加入队列,可以再重新打一下,上面有个博文是加入队列后成功或失败进行提示的,修改一…
有的打印机不支持自定义纸张,或不支持当前设置的纸张尺寸,会造成纸张尺寸和代码里设置的尺寸不一致的情况.现象:1.代码一样,纸张语句设置正确,有的打印机纸张正常,有的打印机不正常.2.代码一样,纸张语句设置正确,宽度正常,高度不正常.(或相反)3.代码一样,纸张语句设置正确,虚拟打印机测试正常,真实打印机不正常. 简短问答区域:纸张设置,参考样例5 http://www.c-lodop.com/demolist/PrintSample5.html用xps或pdf虚拟打印机测试一下(测试可用样例5)…
原文:https://m.baidu.com/from=1086k/bd_page_type=1/ssid=0/uid=0/pu=usm@0,sz@1320_1002,ta@iphone_2_5.1_2_6.9/baiduid=89C87C5450E76D9DFFA1093D21A5EFF1/w=0_10_win10usb无密码打印机共享/t=iphone/l=3/tc?ref=www_iphone&lid=18412989436411350504&order=2&fm=alop&…
最近需要做一个打印的功能,于是在网上找到了这么一个方法. [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] public class DOCINFOA { [MarshalAs(UnmanagedType.LPStr)] public string pDocName; [MarshalAs(UnmanagedType.LPStr)] public string pOutputFile; [MarshalAs(Unmanag…
LODOP中打印机的选择有优先级的存在,如果程序中指定的是错误的打印机,那么会走下一个优先级,这样,就可能存在选择了打印机无效,从默认打印机打印出来了,可以在代码里加判断避免这一点. 打印机优先级简介:第一优先级:SET_PRINTER_INDEX等程序代码里指定的打印机.第二优先级:上次在预览界面的打印设置中选择的打印机,Lodop按任务名对应记忆下来.第三优先级:操作系统选择的默认打印机.默认打印机优先级最低,当前两个优先级不存在或没生效时,会走最低的默认打印机优先级. 可以在预览或打印前,…
LODOP中的打印项定位都是按照top值(顶边距),left(左边距)来决定的 ,不能直接设置某打印项的下边距.此外,打印项的位置还受PRINT_INTA的前两个整体偏移值,打印机可打区域的影响.该文测试下锁定下边距,以及锁定下边距后打印项位置是否和整体偏移,打印机可打区域等有关. LODOP.SET_PRINT_STYLEA(0,"Vorient",1);该语句用来设置锁定下边距,锁定后,切换不同纸张,该内容距离纸张下方的距离是相同的.(整体偏移和可打区域会影响,查看本博客下方)锁定…
在LODOP中,超文本超过打印项高度会自动分页,自动分页有两种情况:超过设置的打印项高度,超过纸张.这里是指高度,超过纸张宽度的超文本不会显示,会隐藏掉. 如果你不了解什么是LODOP中的超文本打印项,什么是LODOP中的纯文本打印项,可查看本博客相关介绍博文: 因为超文本超打印项高度或纸张高度,会自动分页,这个是是无法去掉的,所以以下三种方法只是变通实现.如何只打印一页:1.缩放,整页缩放或高度溢出缩放.2.如果没有表格项,把内容放到ADD_PRINT_TABLE的一个单元格中.3.后面的都不…
前面有一篇博文是介绍JS模版的加载和赋值,赋值有两种,详细可查看本博客的那篇博文:LodopJS代码模版的加载和赋值简单来说,就是打印项的值是变量,在添加打印项前进行赋值:打印项的值是字符串,给打印项设置类名,可以在添加打印项只有按照类名赋值(也可以是序号等),详细可查看上面链接里的博文. 对于打印项的模版本身是变量的这种模版,直接使用打印设计返回的值都不是变量,可以手动修改成变量,或者在需要是变量的打印项后面加这句LODOP.SET_PRINT_STYLEA(1,"ContentVName&q…
LODOP的语句是普通的语句,可以通过JS判断确定要执行哪个,或通过循环循环执行一些语句.如果需要执行某些打印项在哪些条件下不打印,不需要通过代码删除打印项,类似LODOP.SET_PRINT_STYLEA(2,'Deleted',true);这种语句,只能在打印设计和维护内嵌时执行,弹出方式或打印预览是没有效果的,具体可查看本博客另一篇详细测试博文:Lodop删除语句Deleted只能内嵌设计维护可用 其实,如果某些打印项在某些条件下不需要打印,不需要删除该打印项本身,可以不执行添加该打印项的…