Drukowanie WebBrowser i orientacja strony.

Odpowiedz Nowy wątek
2011-10-04 15:05
0

Witam!

W programie do drukowania raportów chciałem wykorzystać WebBrowser. Strona jest tworzona dynamicznie, potem ładowana do WebBrowsera i trzeba ja wydrukować. Drukuję za pomocą:

WB.ControlInterface.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, vIn, vOut) ;

Problem jest taki, ze zawsze drukuje stronę pionowo, a ja potrzebuje poziomo. Wywołanie przed tym Printer,Orientation:=poLandscape; nic nie dało, tak samo jak dodanie do formatki PrinterSetupDialog i ustawienie w nim na poziomą. Odpaliłem IE, wszedłem w ustawienia strony i tam zmieniłem. Ofc przy ponownym uruchomieniu nie zapamietał tej zmiany. Ktoś ma pomysł jak rozwiazać ten problem?
Piszę w Delpi6.

edytowany 1x, ostatnio: misiakufal, 2011-10-04 15:16

Pozostało 580 znaków

2011-10-04 15:20
0

http://www.scalabium.com/faq/dct0020.htm


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2011-10-04 16:47
0

Misiekd

Już sie prawie cieszyłem ze się udało, a tutaj dalej zonk:/

Ta funkcja, którą podałeś, powinna być wywołana po otworzeniu urządzenia (funkcja OpenThePrinterDevice; z FAQ#19 na tej stronie). Zrobiełem tak jak tam było napisane, czyli

OpenThePrinterDevice;
SetPrinterSettings(Printer);

oczywiscie zmienne

FDevice: PChar;
FDriver: PChar;
FPort: PChar;
DeviceMode: THandle;
DevMode: PDeviceMode;

zadeklarowane globalnie, zeby obie procedury mogły się do nich odwoływać
Napisałem sobie krótki program, (http://www.misiakufal.pl/pt1.rar). Na formiw WebBrowser, obok 3 buttony. Pierwszy łąduke stronę do WB, drugi wykonuje ww procedury a trzeciu drukuje za pomocą

WB.ControlInterface.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, vIn, vOut) ;

Jednak nadal pionowe strony...:/

edytowany 1x, ostatnio: misiakufal, 2011-10-04 16:48

Pozostało 580 znaków

2011-10-04 19:22
0

zobacz to
http://support.microsoft.com/kb/236777


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2011-10-04 19:54
0

sprawdzałem, cytat:
"Może się zdarzyć, że trzeba programowo zmienić ustawienia drukowania w programie Internet Explorer lub formancie WebBrowser. Tylko ustawienia dotyczące marginesów strony oraz nagłówka i stopki mogą być zmienione w ten sposób. Jednak nie można zmienić w ten sposób innych ustawień, takich jak orientacja strony czy drukarka."

Swoją drogą strasznie dziwne, ze takiej podstawowej rzeczy nie da się zmienić:/ no cóż. Teraz może inne pytanie. Skoro z tym są takie problemy, czy są jakieś darmowe dobre komponenty do zastosowania komercyjnego do tworzenia raportów? znalazłem coś takiego: http://freereport.sourceforge.net/en/index.php wersje sprzed 9 lat, 2002r.. zainstalowałem ale jeszcze nie testowałem. Warte to coś?

edytowany 2x, ostatnio: misiakufal, 2011-10-04 20:03

Pozostało 580 znaków

2011-10-04 21:36

w zależności od wersji delphi masz tam quickreport (chyba do wersji 7 i w 2k9), ravereport (D7) i w XE2 jest fastreport. O ile w QR i RR wydruki da się robić o tyle w FR to sama przyjemność.
FreeReport to protoplasta FR. Jeśli nie potrzebujesz wydruków na igłówki i kupy eksportów (w tym do PDF) to FreeReport jest rozwiązaniem


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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