Wątek przeniesiony 2016-10-28 23:32 z Newbie przez furious programming.

Jak wydrukować plik PDF?

0

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?

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):

  1. 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).
  2. W Twoim programie wydajesz polecenia temu narzędziu według specyfikacji: https://github.com/sumatrapdfreader/sumatrapdf/wiki/Command-line-arguments#printing-options
  3. 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

1 użytkowników online, w tym zalogowanych: 0, gości: 1