Jak wydrukować plik PDF w Delphi? Przegrzebałem większość metod z Googli i niestety ciągle to samo - drukuje, ale odpala się Adobe Reader. Jak wydrukować to bez pojawiania się czegokolwiek na ekranie?
0
2
Szkoda, że nie podałeś przykładów, które testowałeś; A może ShellExecute z trybem print
?
ShellExecute(Handle, 'print', 'document.pdf', nil, nil, SW_HIDE);
1
Ja widzę takie rozwiązanie (choć zapewne istnieją inne):
- Bierzesz jakieś konsolowe narzędzie i kładziesz obok Twojego programu w Delphi. To narzędzie to może być: https://github.com/sumatrapdfreader/sumatrapdf/releases (nie sprawdzałem, ale znalazłem).
- W Twoim programie wydajesz polecenia temu narzędziu według specyfikacji: https://github.com/sumatrapdfreader/sumatrapdf/wiki/Command-line-arguments#printing-options
- Polecenia możesz wydawać w Delphi przy użyciu CreateProcess albo ShellExecute. Któreś z nich, albo oba powinny pozwolić na ukrycie okienka konsoli :)
2
za pomocą SumatraPDF: https://github.com/sumatrapdfreader/sumatrapdf/wiki/Command-line-arguments
np. wydrukuj na drukarkę domyślną 3 kopie pliku instrukcja.pdf w rozmiarze oryginalnym bez pokazywania oknac:\sumatra\sumatrapdf.exe -print-settings "3x,noscale" -print-to-default -silent -exit-when-done c:\instrukcja.pdf