我的应用程序将打印文件发送到另一台网络打印机

时间:2019-06-04 03:49:50

标签: windows delphi printing pos

问题仅在网络上的两台计算机上出现,第一个是数据库的服务器,另一个是客户端,两者都使用同一应用程序。服务器在自己的打印机上使用“酒吧”产品打印便笺,在客户端使用“厨房”产品打印便笺。注释会在30秒后自动使用计时器打印。有时,将打印到打印机的文件发送到厨房会在服务器的打印机上打印。这两种打印机都是缺货的,没有附加其他打印机,这种情况发生在几天(5-6)内,并持续到整个系统重启。当我手动打印时,笔记会正确连接到默认选择的打印机。打印机通过usb电缆连接。它们是不同的型号,并且使用不同的驱动程序。名称不同。

让Windows管理我的默认打印机已关闭。 关闭文件,打印机共享关闭。 两种打印机都不共享。

 RichEdit1.Lines.SaveToFile (FileName);    
 Printer.PrinterIndex:=-1;    
 RichEdit1.Print (FileName);    
 sleep(1000);    

我只需要默认状态下的每台计算机和应用程序即可使用自己的打印机进行打印

1 个答案:

答案 0 :(得分:2)

只需在代码开头添加一台Printer.Refresh,即可在使用打印机之前重新加载打印机列表。看起来它们在您的应用程序启动后会发生变化(这在我身上已经发生过几次,特别是对于那些可能会偶尔失去连接的网络打印机)。

 Printer.Refresh;

 RichEdit1.Lines.SaveToFile (FileName);    
 Printer.PrinterIndex:=-1;    
 RichEdit1.Print (FileName);    
 Sleep(1000);