GeckoBrowser - zmiana ustawień drukowania

0

Witam. Mam problem.

W moim programie jes jedna forma, która ma służyć do wyświetlenia faktury.
Program wygenerował już ją wcześniej i zapisał do pliku XML w folderze tymczasowym.
W tym momencie chiciałbym wyświetlić ten dokument w programie i po naciśnięciu przycisku drukuj chciałbym aby faktura się wydrukowała.

Problem leży w tym, że WebBrowser, który działa na siliniku InternetExplorera kompletnie się do tego zadanie nie nadaje, gdyż zupełnie źle interpretuje CSSa, który został użyty do wystylowania XMLa. Dlatego właśnie chciałem zrobić coś na silniku firefoxa.

Pierwsza próba to użycie TMozillaBrowser. Wszystko łasnie, przeglądarka siedzi już na formie, wyświetla ładnie fakturę i tu stoję. Pod przycisk drukujący podpinam MozillaBrowser1.Navigate('javascript: window.print'). Wyskakuje okienko drukowania, wybieram drukarkę itp, klikam drukuj i najzwyczajniej w śiwecie nie drukuje. Próbowałem przez OLE, ale w tym wypadku nie wiem jak zmienić ustawienia tej przeglądarki aby drukowała tła (co jest mi potrzebne).

Drugie podejście to komponent GeckoBrowser. Tu działało najwięcej. Komponent siedzi na formie, faktura wyświetlona window.print() wyświetla okienko ustawień i drukuje. No ale... Nie ma drukuje teł, które ustawiłem w CSS, oraz drukuje w narożnikach informacje o dokumencie. Po znawigowaniu tego browsera na about:config widze, że ma ustawione print.print_bgimages i print.print_bgcolors na true, a jedna uparła sie i nie drukuje. Aby program sięskompilował muszą być też w folderze z brogramem biblioteki DLL GRE. tam jest folder greprefs i plik all.js, ale zmieniam tam co chcę, a komponent sie tego nie ima.

Jak jużkompletnie nie będę wiedział co zrobić to chyba użyję firefox portable z rozszerzeniem printcmdline, no ale wtedy nie mogę wybrać drukarki, którą chciałbym drukować.

Najbardziej jednak liczę, że ktoś bedzie wiedział gdzie można ustawić tego GeckoBrowsera.

Liczę na pomoc. Pozdrawiam.

0

Tu jest paragraf o drukowaniu, może się przyda:
http://delphi.mozdev.org/articles/taming_the_lizard_with_delphi.html

Pozdrawiam

0

Byłem na tej stronie już parę razy i czytałem to o drukowaniu, ale przejrzałem jeszcze raz.

Wszystko byłoby dobrze. Strona wczytuje się, ustawienia strony się wyświetlają, i kiedy je ustawię ręcznie to drukowanie przebiega tak, jakbym sobie tego życzył (czyli z tłami). Niestety nie chciałbym zmuszać użytkownika do kożdorazowego ustawiania tych parametrów. Chciałem znaleźć miejsce gdzie były ustawione, więc przeszukałem katalog kontroliki i znalazłem znowu plik all.js. Zmodyfikowałem tam parametry drukowania i nawet po skierowaniu kontrolki na adres about:config te zmiany figurują, jednak przy drukowaniu dokumentu kontrolka ich nie uwzględnia.

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