Drucken eines WPF-FlowDocuments

Ich erstelle eine Demo-App in WPF, die für mich neu ist. Ich zeige derzeit Text in einem FlowDocument an und muss ihn drucken.

Der verwendete Code sieht folgendermaßen aus:

        PrintDialog pd = new PrintDialog();
        fd.PageHeight = pd.PrintableAreaHeight;
        fd.PageWidth = pd.PrintableAreaWidth;
        fd.PagePadding = new Thickness(50);
        fd.ColumnGap = 0;
        fd.ColumnWidth = pd.PrintableAreaWidth;

        IDocumentPaginatorSource dps = fd;
        pd.PrintDocument(dps.DocumentPaginator, "flow doc");

fd ist mein FlowDocument, und im Moment verwende ich den Standarddrucker, anstatt dem Benutzer zu erlauben, Druckoptionen anzugeben. Es funktioniert einwandfrei, mit der Ausnahme, dass das auf dem Bildschirm angezeigte FlowDocument nach dem Drucken des Dokuments so geändert wurde, dass es die Einstellungen verwendet, die ich für den Druck festgelegt habe.

Ich kann dieses Problem beheben, indem ich nach dem Drucken alles manuell zurücksetze. Ist dies jedoch der beste Weg? Soll ich eine Kopie des FlowDocument erstellen, bevor ich es drucke? Oder gibt es einen anderen Ansatz, den ich berücksichtigen sollte?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage