我知道这对于vfp程序员来说是个老话题。不过,我想提出一些建议,可以改善我的特定情况下的打印时间。
我最近要求更改用vfp编写的报告。它使用诸如fput等命令。用户在点阵打印机中打印此报告,当然:没问题。但是用户要求在报告中添加列和一些复杂的计算。我们试图避免纸张尺寸的变化。所以我最初的解决方案是使用报表设计器重新编写报表,并将页面方向设置为横向。打印时结果很慢。当我打开打印队列时,它甚至会显示错误 - 打印状态!
我已经尝试在我的本地PC(我编译exe的机器)中安装打印机驱动程序并选择了这台打印机,两者都选中了“保存打印机环境”并且未选中。结果仍然相同。
有什么建议吗?我的案例的其他技巧受到欢迎。提前谢谢。
答案 0 :(得分:1)
有时候,在VFP中创建报表时,不确定是否是您的情况,它会根据用于开发报表的计算机(即:您的计算机)保存打印机环境。要检查,并且由于所有报告都只是.DBF表重命名,请尝试以下操作。以表格形式打开报告
USE YourReport.frx (you have to explicitly include the .frx extension)
BROWSE
报告中的第一行是您的环境信息,其中包括纸张尺寸信息,方向甚至打印机信息。双击“Expr”列。您可能需要的唯一内容是
ORIENTATION = 1(或0)
它可能有其他的东西,看起来像 DRIVER = WINSPOOL DEVICE = \一些\的PrinterShare OUTPUT = IP_192.168.1.22 ORIENTATION = 1 PAPERSIZE = 1 SCALE = 100 ASCII = 0 COPIES = 1 DEFAULTSOURCE = 15 打印质量= 600 COLOR = 2 DUPLEX = 2 YRESOLUTION = 600 TTOPTION = 3 COLLATE = 0
您可以删除其余部分。接下来,关闭此列并在“Tag”和“Tag2”上再选择大约10列。它们也是MEMO类型字段。打开它们。删除这两列中的所有数据......但仅限于第一行!!!!如果打开它们,您会看到有关打印机的更多嵌入式内容,只需将其完全删除即可。不要对所有行执行全局替换为空白,因为这将导致报告内容无效...仅限第一行。
所有这一切,我无法保证,但它可能是罪魁祸首......但是再说一次,在旧点阵打印机上直接输出实际上可能比打印机驱动程序所做的所有花哨渲染更快
答案 1 :(得分:0)
尝试通过Windows驱动程序从报表设计器打印报表到dotmatrix打印机从不可以快速接受。
这就是他们最初使用命令执行报告的原因。
您的选择是将打印机更换为激光打印机(可能我猜不太可能)或将报告更改为旧样式。
答案 2 :(得分:0)
使用VFP报告在点阵式打印机上快速打印并不困难,您应该在原始模式下进行打印,但不能在?要么 ???方式,我的意思是像这样的API调用:
--- RawPrint VCX ---
http://www.universalthread.com/ViewPageNewDownload.aspx?ID=9556
你可以使用一个包装器,它有一种“Formats”支持它是一个商业软件但是如果你需要用这种打印机做很多报告它是值得的:
--- DosPrint 4 ---
http://www.victorespina.com.ve/hs/es/index.php/DOSPrint4_%28VFP%29
(免责声明:DosPrint 4的开发者是我的朋友,我和他一起测试和支持西班牙MS-VFP新闻组上的先前版本DosPrint 3和http://Portalfox.com)
答案 3 :(得分:0)
尝试使用Microsoft Generic Text only打印驱动程序