Projekt-Anfragen: Tel: 07022/9319004 info@CodeDocu.de Software Entwicklung in C# WPF Asp.Net Core Vba Excel Word SQL-Server EF Linq, UWP Net
#

WPF: eine Seite in Druckvorschau anzeigen und drucken

 

Wie druckt man in WPF eine WPF Seite oder Control-Element in einer Druckvorschau aus?

 

Unter Microsoft Windows WPF gibt es keine richtige Lösung um eine Seite in der Druckvorschau anzuzeigen oder zu drucken.

Hier ist eine Lösung, mit welcher man WPF Controls, Windows oder Pages in einer Druckvorschau anzeigen kann und drucken kann.

Die Lösung funktioniert über eine Ausgabe des xpsDocuments, einer festen Pixel orientierten Druckausgabe.

Anschliessend wird die Seite mit einem Documentpreviewer angezeigt.

 

DruckVorschau einer WPF Anwendung:

 

Der folgende Code erstellt eine Druckvorschau

 

private void BtnPrint_Click(object sender, RoutedEventArgs e)

{

    Print_WPF_Preview(Grid_Plan);

}

 

 

public void Print_WPF_Preview(FrameworkElement wpf_Element)

{

    //------------< WPF_Print_current_Window >------------

    //--< create xps document >--

    XpsDocument doc = new XpsDocument("print_previw.xps"FileAccess.ReadWrite);

    XpsDocumentWriter writer = XpsDocument.CreateXpsDocumentWriter(doc);

    SerializerWriterCollator preview_Document = writer.CreateVisualsCollator();

    preview_Document.BeginBatchWrite();

    preview_Document.Write(wpf_Element);  //*this or wpf xaml control

    preview_Document.EndBatchWrite();

    //--</ create xps document >--

 

    //var doc2 = new XpsDocument("Druckausgabe.xps", FileAccess.Read);

 

    FixedDocumentSequence preview = doc.GetFixedDocumentSequence();

 

    var window = new Window();

    window.Content = new DocumentViewer { Document = preview };

    window.ShowDialog();

 

    doc.Close();

    //------------</ WPF_Print_current_Window >------------

 

 

}

 

 

Zur WPF seite muss man im Using Bereich die Verweise ergänzen:

using System.Windows.Documents;

using System.Windows.Documents.Serialization;

using System.Windows.Xps;

using System.Windows.Xps.Packaging;

 

Über Referenzes muss man eine neue Referenz setzen zu

Microsoft Printing

Microsoft Reachframework

 

 

Fehler:

The type or namespace name 'Packaging' does not exist in the namespace 'System.Windows.Xps' (are you missing an assembly reference?)

 

 

 

Referenz System.Printing

 

Und Referenz: Reachframework

 

 

 

 

Mobile
»
WPF: Explorer mit Pfad öffnen
»
WPF Documentviewer: Suchfeld und Toolbar ausblenden
»
PF Documentviewer Druckvorschau beim Drucken
»
WPF: eine Seite in Druckvorschau anzeigen und drucken
»
WPF: Drag Drop Beispiel
»
Popup Window für Mitarbeiter Auswahl
»
WPF : aktuelle Kalender Woche berechnen
»
Text aus PDF auslesen in C# mit iTextSharp
»
Send Emails mit WPF
»
WPF: erstellen einer selektierbaren Liste

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Info@CodeDocu.de