Hallo zusammen,
ich sitze seit längerem mal wieder vor Delphi (XE2). Nun würde ich gerne mittels eines kleinen Programms, Flashfiles aufrufen (im Flash ändert sich nur etwas bei Interaktion des Nutzers) und ausdrucken. Es geht mir in erster Linie um die Druckfunktion (nicht um die Anzeige), da ich die Inhalte statisch als PDF haben möchte. Inhalte sind Tabellen, Diagramme und Texte.
1. Ansatz - Druckfunktion des Internet Explorers verwenden
-
Zunächst habe ich den Ansatz mit der Klasse TWebBrowser und folgender Methode umgesetzt.
WebBrowser1.ControlInterface.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, vIn, vOut);
Das macht schon so ziemlich das, was ich gerne hätte. Allerdings wird hierbei der gesamte Inhalt als ein Bild gedruckt / in das PDF eingefügt. Die Qualität ist leider nicht so super, eher etwas unscharf.
2. Ansatz - Druckfuntion des
ActiveX-Steuerelements verwenden
-
Wenn ich direkt im Browser mit der Maus (per Rechtsklick auf den Flash Inhalt) das Flash Popup Menu (siehe Anhang) aufrufe und hier die Druckfunktion auswähle und so mein PDF generiere, wird der Inhalt nicht als Bild gedruckt sondern zeichenweise. Somit habe ich eine super Qualität im Ausdruck / PDF und kann zudem die Zahlen, Texte usw. im generierten PDF markieren, kopieren usw... Um diesen Ausdruck zu automatisieren, verwende ich die Klasse TShockwaveFlash. Leider kann ich die Druckfunktion nicht finden bzw. weiß ich nicht so recht, wie ich das nun umsetzen kann. Auch stundenlanges googlen hat nichts gebracht. Vielleicht hat jemand Erfahrung mit der Klasse TShockwaveFlash und kann helfen..?
Beste Grüße
Stefan