0

我知道这是 vfp 程序员的老话题。尽管如此,我还是想寻求可以改善我特定案例的打印时间的建议。

我最近要求更改用 vfp 编写的报告。它使用 fputs 等命令。用户在点阵打印机中打印此报告,当然:没问题。但是用户要求在报告中添加列和一些复杂的计算。我们试图避免纸张尺寸发生变化。所以我最初的解决方案是使用报表设计器重新设计报表,并将页面方向设置为横向。结果打印的时候很慢。当我打开打印队列时,它甚至显示错误 - 打印状态!

我试图在我的本地 PC(我编译 exe 的机器)中安装打印机驱动程序并选择了这台打印机,同时选中和取消选中“保存打印机环境”。结果还是一样。

有什么建议么?欢迎我的案例的其他技巧。提前致谢。

4

4 回答 4

1

有时,不确定是否是您的情况,在 VFP 中创建报告时,它会根据用于开发它的计算机(即:您的机器)保存打印机环境。要检查,并且由于所有报告都只是重命名的 .DBF 表,请尝试以下操作。以表格形式打开报告

USE YourReport.frx   (you have to explicitly include the .frx extension)
BROWSE

报告的第一行是您的环境信息,包括纸张尺寸信息、方向甚至打印机信息。双击“Expr”列。在本专栏中,您可能需要的唯一内容是

方向=1(或 0)

它可能有其他东西,看起来像 DRIVER=winspool DEVICE=\some\printershare OUTPUT=IP_192.168.1.22 ORIENTATION=1 PAPERSIZE=1 SCALE=100 ASCII=0 COPIES=1 DEFAULTSOURCE=15 PRINTQUALITY=600 COLOR=2 DUPLEX =2 YRESOLUTION=600 TTOPTION=3 整理=0

您可以删除它的其余部分。接下来,关闭此列并在大约 10 个列上选择“Tag”和“Tag2”。它们也是 MEMO 类型的字段。打开它们。从这两列中删除所有数据......但仅限第一行!!!!如果您打开它们,您会看到更多关于打印机的嵌入内容,只需将其完全删除即可。不要对所有行进行全局替换以空白,因为这会杀死报告内容......只有第一行。

话虽如此,我不能保证,但这可能是罪魁祸首……但话又说回来,在旧的点阵打印机上进行直接输出实际上可能比打印机驱动程序所做的所有花哨的渲染要快。

于 2012-04-27T10:54:06.670 回答
0

试图通过 Windows 驱动程序将报表设计器中的报表打印到点阵打印机的速度永远不会很快。

这就是他们最初使用命令进行报告的原因。

您的选择是将打印机更改为激光打印机(我猜可能不可能)或将报告更改回旧样式。

于 2012-04-29T22:31:59.850 回答
0

在带有 VFP 报告的点阵打印机上快速打印几乎不难,您应该在原始模式下进行,而不是在 ?? 或者 ???方式,我的意思是这样的 API 调用:

--- RawPrint VCX ---

http://www.universalthread.com/ViewPageNewDownload.aspx?ID=9556

您可以使用带有某种“格式”支持的包装器,它是一种商业软件,但如果您需要使用这种打印机进行大量报告,那么它是值得的:

--- DosPrint 4 ---

http://www.victorespina.com.ve/hs/es/index.php/DOSPrint4_%28VFP%29

(免责声明:DosPrint 4 的开发者是我的朋友,我和他一起在西班牙 MS-VFP 新闻组和http://Portalfox.com上测试和支持以前版本的 DosPrint 3 )

于 2012-05-03T15:32:22.647 回答
0

尝试使用 Microsoft Generic Text only 打印驱动程序

于 2012-11-07T16:34:57.300 回答