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; 

相关阅读 >>

Delphi xe2获取文件的 md5、crc、sha-1、sha-256、sha-512

Delphi getprocessidentity 获取当前登录状态的管理员

Delphi paramstr 获取外部参数

Delphi lockbox 做加密解密

Delphi listbox自动获取列表框中的组件焦点

Delphi memo 控件光标定位

Delphi tnethttpclient https忽略证书验证

Delphi使用sqlite数据库时的中文路径问题

Delphi动态创建组件,并释放内存

Delphi ttask无法传递参数的一个解决方案

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...