Как распечатать PRN file?

Previous  Top  Next

    
 

 

 

Code:

uses

Printers, Winspool;

 

function SpoolFile(const FileName, PrinterName: string): Integer;

var

Buffer: record

   JobInfo: record // ADDJOB_INFO_1

     Path: PChar;

     JobID: DWORD;

   end;

   PathBuffer: array[0..255] of Char;

end;

SizeNeeded: DWORD;

Handle: THandle;

PrtName: string;

ok: Boolean;

begin

// Flush job to printer

PrtName := PrinterName;

if PrtName = '' then

   PrtName := Printer.Printers[Printer.PrinterIndex]; // Default printer name

ok := False;

if OpenPrinter(PChar(PrtName), Handle, nil) then

   if AddJob(Handle, 1, @Buffer, SizeOf(Buffer), SizeNeeded) then

     if CopyFile(PChar(FileName), Buffer.JobInfo.Path, True) then

       if ScheduleJob(Handle, Buffer.JobInfo.JobID) then

         ok := True;

if not ok then Result := GetLastError

else

   Result := 0;

end;

 

 

procedure TForm1.Button1Click(Sender: TObject);

begin

if SpoolFile('c:\test.prn', Printer.Printers[0]) = 0 then

   ShowMessage('No error...');

end;

 

©Drkb::03227

Взято с сайта http://www.swissdelphicenter.ch/en/tipsindex.php