主题地址:
http://topic.youkuaiyun.com/u/20090120/15/37eb8830-733a-465c-ab13-4d810384f1d8.html
问题摘录:
在开发环境:Delphi+MS_Sql2000+Fastreport
遇到以下问题: 打印机装在一台win2000的操作系统上,如果内网网络客机为相同平台时(win2000),通过Fastreport打印报表时, Fastreport发送到打印机上的报表大小约为100K左右!!!
但如果内网客户平台为WinXP时,Fastreport发送到打印机的报表大小会增加到10M左右大小!!!!反之,如果打印机装在WinXP上,通过网络客机为XP系统的平台打印时,报表大小都为100K左右,但用WIN2000或其他不同平台打印到XP平台上的打印机,报表大小都为10M左右大小!!!
答案摘录:(未验证)
1:
不同操作系统打印本来就是有问题;
这点微软都无法做到统一啊,你看看WORD。
2:
FarstPeport 可以设定自动连接远程打印机,不需要发送过去再打印,发送信息是自动完成的。
如下:
// 设定自动连接远程打印机
FRFCDN.PrintOptions.Printer := //172.24.81.95/PrinterName;
还有一种方法,就是保存 Report 为 JPG 图片,你可以把这个图片传过去,然后打印。
如下:
procedure THP_PPS_Frm.jpgfile(p_data: string; p_type: string); //Create JPG file
Var
FRJPEGExport: TfrxJPEGExport;
begin
FRJPEGExport.FileName := 'D:/aaa.JPG';
FRJPEGExport.Monochrome := true;
FRJPEGExport.Resolution := 512;
FRJPEGExport.ShowDialog := false;
end;