delphi打印各类文档  
官方Delphi 学习QQ群: 682628230(三千人)\n
频道

delphi打印各类文档


ShellExecute(Handle, 'print', PChar('c:/document.doc'), nil, nil, SW_HIDE) ;
 
  1. Drop a TComboBox on a form. Name it "cboPrinter". Set Style to csDropDownLidt
  2. Put the next two lines in the form's OnCreate even handler:
     //have available printers in the combo box  cboPrinter.Items.Assign(printer.Printers);  //pre-select the default / active printer  cboPrinter.ItemIndex := printer.PrinterIndex;  
Now, here's the function you can use to print any document type to a specified printer:
 uses shellapi, printers;
 
 procedure PrintDocument(const documentToPrint : string) ;
 var  printCommand : string;
 printerInfo : string;
 Device, Driver, Port: array[0..255] of Char;
 hDeviceMode: THandle;
 begin  
 if Printer.PrinterIndex = cboPrinter.ItemIndex then  begin  printCommand := 'print';
 printerInfo := '';
 end
 else
 begin  printCommand := 'printto';
 Printer.PrinterIndex := cboPrinter.ItemIndex;
 Printer.GetPrinter(Device, Driver, Port, hDeviceMode) ;
 printerInfo := Format('"%s" "%s" "%s"', [Device, Driver, Port]) ;
 end;
 
 ShellExecute(Application.Handle, PChar(printCommand), PChar(documentToPrint), PChar(printerInfo), nil, SW_HIDE) ;
 end; 

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.098784923553467 seconds