Printer.BeginDoc;        
Printer.Canvas.StretchDraw(Rect,Image1.Picture.Graphic);   
Printer.EndDoc; 
不用上述方法。 
请问在下列原码如何更改。
AFileToPrint 要打印文本路径。
procedure   GoPrintFile(AFileToPrint:   string);
var
    Port,   FileToPrint:   TextFile;
    ALine: string;
begin
try
    AssignFile(FileToPrint,  AFileToPrint);
    Reset(FileToprint);
    AssignFile(Port,'lpt1');
    Rewrite(Port);
  try
  while  not  Eof(FileToPrint)  do
    begin
        Readln(FileToPrint,   ALine);
        Writeln(Port,   ALine);
    end;
    finally
      closefile(Port) ;
      closefile(FileToPrint);
    end;
except
on E: Exception do
   application.MessageBox(PChar(E.Message),'提示',mb_ok+mb_iconquestion);
end;
end;

解决方案 »

  1.   

    直接向端口发送可方便写打印机进纸或退纸控制指令指令:
    如果能调用Epson 控制指令打印图片也可以。望高手指点。
      

  2.   

    代码 功能             代码            功能
    LF 换行             ESC m                局部切割
    CR 回车             ESC o            印章
    ESC SP 设置右边界             ESC q            释放纸
    ESC ! 设置打印方式 ESC r            选择打印颜色
    ESC * 设置位映射方式 ESC z            设置或取消两页并行打印
    ESC @ 初始化打印机 ESC BEL            蜂鸣器ON/OFF
    ESC R 选择国际字符子集 ESC c5            禁止/使能面板开关
    ESC d 打印及N行进纸 ESC c6            禁止/使能ON-LINE开关
    ESC t 选择字符码表 ESC p            产生指定脉冲
    ESC l 选择或取消倒过来的字符ESC V               发送打印机状态
    ESC c0 选择打印页             ESC ~        LED ON/OFF
    FF 打印送出单页 HT           水平TAB
    RS 流水TAB ESC % 选择或取消用户自定义字符集
    ESC 2 选择行间距为1/6英寸 ESC & 定义用户自定义字符集
    ESC 3 设置行进为最小间距 ESC D 设置TAB位置
    ESC < 返回行首 ESC i 全切割
    ESC C 设置单页长度 ESC f 设单页等待时间
    ESC F 选择或取消单页退纸区 ESC e 打印病退回N行
    ESC J 以最小间距进行打印和进纸 ESC c4 选择打印纸及检测器(终止打印)
    ESC K 以最小间距进行打印和退纸 ESC c3 选择纸结束信号输出
    ESC U 选择或取消单向打印 ESC c1 选择行间距
    中文模式下的命令
    代码 功能 代码 功能
    FS & 选择中文字符模式 FS – n 设置中文字符下划线模式开关
    FS . 取消中文模式 FS ! n 选择中文字体他是用点针的。不知道图片打出来是什么样子 ,还真没试过。
      

  3.   

    感谢楼上参与!
    新贴:
    http://topic.csdn.net/u/20090222/12/c9793b35-d635-470f-9b67-94c54b926b98.html