uses
Printers, Shellapi; // das muss zu deiner USES klausel
// hier das beispiel, per knopf ausgelöst
procedure TForm1.Button1Click(Sender: TObject);
var
Device: array[0..255] of Char;
Driver: array[0..255] of Char;
Port: array[0..255] of Char;
S: string;
hDeviceMode: THandle;
documentname: string;
begin
Printer.PrinterIndex := -1; //
standart drucker auswählen
Printer.GetPrinter(Device, Driver, Port, hDeviceMode);
S := Format('"%s" "%s" "%s"', [Device, Driver, Port]);
documentname := 'c:\meindokument.doc'; // hier deine quelle angeben
ShellExecute(
Handle, 'printto', PChar(documentname), PChar(S), nil, SW_HIDE);
end;