Я создаю демонстрационное приложение в 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, прежде чем печатать ее? Или есть другой подход, который я должен рассмотреть?