MICR检查打印无法在Windows-7上运行

时间:2014-04-18 19:17:05

标签: windows-7 powerbuilder micr

我维护一个PowerBuilder Classic 12.5应用程序,该应用程序具有在Source Technologies MICR打印机上打印检查的功能。该应用程序在Windows XP环境中运行良好。我们正在尝试迁移到Windows-7操作系统,支票打印不再有效。

这是问题所在。 PowerBuilder发出PrintOpen后跟几个Print命令,将命令字符串发送到打印机以解锁MICR模式和各种安全字体:

il_job = PrintOpen( )  
Print(il_job,'&%STF[password]$')  
Print(il_job,'&%SMCPFFFF$')    
Print(il_job,'&%STP10003$')    
Print(il_job,'&%STP10002$')    
Print(il_job,'&%STP10001$')    
Print(il_job,'&%1B$&u600D')    
Print(il_job,'&%1B$*t600R')   

这在XP上工作正常,如果您将打印机重定向到“打印到文件”,您可以在文件中看到命令字符串。

在Windows-7中,打印机无法识别命令字符串,实际上只是在支票库上打印命令。如果执行相同的“打印到文件”,则可以在其中看到命令,但命令字符串中的每个字符都由其他字符分隔。

以下是从“打印到”文件中获取的示例,您可以通过查看星号(*)前面的每个字符来查看字符串'&%SMCPFFFF$'

*p171Y&*p50X%*p100XS*p150XM*p200XC*p250XP*p300XF*p350XF*p400XF*p450XF*p500X$   

这似乎是一个打印驱动程序问题,事实上,Source Technologies现在提供了一个我们被告知使用的“通用打印驱动程序”。我们的PC支持人员能够通过重新安装我们在Windows XP上使用的旧打印驱动程序暂时使支票打印工作,但是一旦打印机关闭再打开,它就会重置为新的通用驱动程序。

我尝试使用PrintDefineFontPrintSetFont,将字体设置为Courier Regular 8pt(这是Source Technologies的技术支持人员告诉我们我们需要的),但这没有帮助:

PrintDefineFont(il_job, 1, "Courier", -8, 400, Fixed!, AnyFont!, FALSE, FALSE)  
PrintSetFont(il_job, 1)   

任何人都可以帮我解决这个问题吗?或者建议我可以在哪里获得帮助 谢谢。

3 个答案:

答案 0 :(得分:0)

试试这个:添加一台新打印机。选择打印机连接的端口。选择制造商:Generic,Printer:Generic / Text only。当您打印到此打印机时,它应该准确地将Print语句中的内容发送到打印机。

答案 1 :(得分:0)

谢谢Hugh,我尝试了你的建议听起来不错,但不幸的是它没有效果 事实上,截至昨天我确实解决了最后一个打印问题。我必须单独处理每种特殊字体(微线,签名,检查金额等),并使用PrintDefineFont / PrintSetFont,嵌入式打印机命令字符串重置字体,以及将数据窗口中的列控件更改为一个文本控件(一个打印机命令字符串被移动到这个字段和数据中,一个工作,另一个没有)。
感谢您的帮助。
莱斯

答案 2 :(得分:0)

请右键单击您的软件,然后进入兼容模式,然后在其中选择“ Windows XP SP3”,单击“应用”,然后单击“确定”。

确认软件现在是否可以完美发送打印命令?