LabVIEWForum.de
IE: Drucklayout mit ActiveX - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: IE: Drucklayout mit ActiveX (/Thread-IE-Drucklayout-mit-ActiveX)



IE: Drucklayout mit ActiveX - oppossom - 31.03.2006 21:45

Hi!

Ich bin gerade dabei, einen HTML Report über Internet Explorer zu drucken, allerdings gibt es da immer diese lästigen Kopf- und Fußzeilen.
Laut MSDN kann man die über den Variant pvaIn ausschalten, nur bin ich leider völlig planlos, was dieses pvaIn für Werte erwartet bzw. wie ich die zu einem Variant zusammensetze...

Hoffe, dass mir hier jemand weiterhelfen kann!

Lg Stefan


IE: Drucklayout mit ActiveX - oppossom - 01.04.2006 00:48

Hi!

hab etwas anderes gefunden, womit es auch funktioniert:
in der registry unter HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerPageSetup einfach die keys header und footer auf empty string setzen...

lg


IE: Drucklayout mit ActiveX - cb - 01.04.2006 07:19

wenn du HTML kannst, dann kannst du auch etwas anders vorgehen:

du erstellst die HTML-Seite "von Hand", sprich, du erzeugst mit LV eine Text-Datei mit HTML-Code, die du temporär speicherst. In diese HTML-Datei kannst du z.B. auch CSS einfügen ( dann wird der Report noch n büschen schöner ...).

Wenn die HTMl-Seite fertig ist, fügst du diese in ein IE-Control ein: erstelle ein Sub-VI mit einem Active-X Container und füge ein Browser-OBjekt ein. Auf dieses Objekt hast du dann den vollen Active-X zugriff, inclusive Drucken (man hat dann sogar die Wahl, ob man den Drucker-Auswahl-Dialog anzeigen möchte ...)

zugegeben, das ist deutlich mehr Arbeit als der Standard-Report. Aber: einmal erstellt ist es flexibler und wiederverwendbar ...


IE: Drucklayout mit ActiveX - oppossom - 01.04.2006 07:48

Das ist im Grunde genommen die Methode die ich gewählt habe.
ActiveX erstellen, Internet Explorer reinladen, mit Navigate die Seite laden und anschlißend mit ExecWB und OLECMDID_PRINT drucken.

nur tritt eben genau das Problem auf, dass ich da den Standard Header und Footer Text auf den Ausdruck bekomme. Oder kann ich das auch über ActiveX ausschalten, ohne die Registry manipulieren zu müssen? (wäre mir auch sympathischer Wink )

Lg


IE: Drucklayout mit ActiveX - cb - 01.04.2006 10:41

hurgs ... ich habs grad mal probiert.

Das Problem scheint zu sein, dass es nicht so einfach ist, die Datenstruktur SAFEARRAY in LabVIEW zusammenzubauen. Ich hab leider auch zu wenig Detailwissen über die Variants, dass ich dir jetzt auf die Schnelle was basteln könnte.

Einfach ein String-Array mit "to Variant" gehts auf jeden Fall nicht. Was mir nun zu kompliziert war, aber doch noch eine Möglichkeit sein könnte, die SAFEARRAY Struktur byteweise zusammenbauen und dann mit flattend string to variant in einen Variant umbauen. Das wird aber mit Sicherheit kompliziert ...

ich frag mal in einem anderen Forum nach. Vielleicht hat da schonmal jemand was in der Richtung gemacht ...


IE: Drucklayout mit ActiveX - oppossom - 01.04.2006 19:52

Das String Array to Variant hab ich auch erfolglos versucht ...

Safearray byteweise zusammen bauen klingt schon mal ganz gut, kannst du mir vielleicht einen Denkanstoß geben, wie sowas funktioniert?
Example Code wie man das zB in VisualBasic oder C macht, gibt es genug (siehe zb mein Link am Beginn des Threads), nur hab ich leider keine Ahnung, wie ich das in LV umsetzen soll...

Lg