Seitenvorschau



  • Hallo,

    ich weiß, die Frage hat eigentlich nichts mit MFC zu tun, aber vielleicht kann mir trotzdem jemand helfen.

    Mein Problem besteht darin, daß ich eine Verwaltungssoftware geschrieben habe und somit auch eine Druckfunktion zur Verfügung (Tabellen u.s.w.) zur Verfügung stellen muß.
    Einen eigenen Druckmanager zu implementieren, der schlau genug ist, alles so zu ordnen damit der Ausdruck halbwegs annehmbar ist, kostst viel Zeit und Mühe.
    Deshalb möchte ich gerne die Druckfunktion und Seitenvorschau des Standard-Browsers nehmen (z.B. IE). Ich generiere also eine HTML Seite mit den zu druckenden Daten und öffne diese mit dem Browser. Den Code dafür hab ich (ist ja nur eine Zeile).

    Meine erste Frage: Kann ich auch irgendwie direkt die Seitenansicht des Browsers ansprechen ? Das heißt ich hab eine HTML Seite erstellt und möchte, daß sich der Browser öffnet und gerade zur Seitenansicht übergeht. Gibt es da eine Möglichkeit ?`

    Meine zweite Frage: Gibt es vielleicht eine bessere Idee, die Druckfunktion zu realisieren. Wie findet Ihr die Idee, das über den Browser zu machen ?



  • Solange der Anwender damit zufrieden ist...

    Für den Fall, dass Du mit der MFC programmierst: CHtmlView kann ich da empfehlen. Erstens bräuchtest Du den IE nicht und drucken kann die auch. Müsstest die Klasse vielleicht ein wenig modifizieren. Ob das wirklich geht, weiß ich leider nicht.



  • CHtmlView kann ich da empfehlen. Erstens bräuchtest Du den IE nicht und drucken kann die auch.

    Wer's glaubt! CHtmlView benutzt das OLE-Interface des IE. Und so toll ist der nicht.

    Was sind das für Daten, die dargestellt werden? Tabellen und Text? Schau Dich doch mal um ob es nicht eine Lib gibt, die Dir aus einer Vorlage RTF-Dokumente erstellt.



  • Na ja, ich dachte mir eine so ausgereifte Seitenvorschau wie beim IE kann ich nicht selber schreiben. Außerdem kann ich in der HTML Seite alles so formatieren, wie ich gerne möchte ... so erscheint es auch auf der Seitenvorschau und auf dem Drucker. Per Hand programmieren ... oh je...

    Kann mir vielleicht jemand erklären, wie das Drucken mit einer HtmlView geht oder hat noch jemand eine Antwort auf die obrigen zwei Fragen ?



  • @Frank: Ja, Tabellen und Textfelder (wie z.B. Name: xxxx)



  • @Frank: Ich meinte damit, dass nicht extra der IExpl gestartet werden muss. Und da die HtmlView alles mitbringt, was benötigt wird, vor allem die Druckfunktionen, wäre das sicherlich eine Überlegung wert.



  • CHtmlView::ExecWB(IDM_PRINTPREVIEW,

    kannste mal probieren



  • Ehm, wo wir gerade mal nen Thread zum Thema Seitenansicht offen haben. Wenn ich ein Enhanced Metafile (EMF) mit einem CMetaFileDC erstelle und dann dieses Drucken will, dann ist der Druck perfekt, genau so wie ich ihn haben will. Die Voransicht ist aber falsch. Es liegt höchstw*****einlich daran, dass das PreviewDC Druckerauflösung erwartet, das Metafile mit PlayEnhMetaFile aber in Bildschirmauflösung da rein geknallt wird... Hat jemand einen Workaround für diesen Bug??? Alle Umrechnungs- und Skalierungsfaktoren die ich ausprobiert habe laufen nur unter bestimmten Systemkonfigurationen... 😕


Anmelden zum Antworten