Originally Posted by
mieke
Zo'n tunnelvisie op die printdialoog dat ik helemaal vergeet om ook een file mee te sturen op de eoa manier....
Omdat je zei dat het printen van de PDF zelf al wel werkte na het drukken op OK, gingen wij ervanuit dat je die code er wel al in had zitten. Vandaar dat wij vroegen om die code (na de PD.Execute).
Maar als je dat nog niet hebt dan wordt het inderdaad een heel ander verhaal. Want er zijn niet zoveel gratis PDF-reader componenten.
Zelf gebruik ik:
Delphi Code:
function ExecAssociatedApp(const FileName: string; Action: string = ''): boolean;
var
rs: Word;
Shw: integer;
begin
Shw := SW_SHOW;
// if Action = 'print' then Shw := SW_SHOWMINIMIZED;
rs := ShellApi.ShellExecute(0, pchar(Action), pchar(FileName), nil, nil, Shw);
Result := rs > 32;
end;
//...
if ExecAssociatedApp(FileTemp, 'print') then ;
Alleen dat commando print dan wel ALTIJD naar de standaard printer.
(Je zou de standaard printer onder Windows eerst aan kunnen passen en na de printopdracht weer terug kunnen zetten)
Bij bovenstaande methode is het overigens sinds de laatste versie van Adobe Reader het probleem dat de instantie van Reader zelf in de lucht blijft na het printen. Dat gebeurde bij oudere versies en andere PDF readers niet. Maar dat is een 'bug' in Adobe Reader.
Bookmarks