Я создаю демонстрационное приложение в WPF, что является новым для меня. В настоящее время я отображаю текст в FlowDocument, и мне нужно его распечатать.
Код, который я использую, выглядит следующим образом:
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 - это мой FlowDocument, и на данный момент я использую принтер по умолчанию вместо того, чтобы позволять пользователю указывать параметры печати. Он работает нормально, за исключением того, что после печати документа FlowDocument, отображаемый на экране, был изменен на использование параметров, указанных для печати.
Я могу исправить это, вручную сбросив все настройки после печати, но лучше ли это? Должен ли я сделать копию FlowDocument перед печатью? Или есть другой подход, который я должен рассмотреть?