Avoid multiple columns when printing a FlowDocument

I am writing printable code from FlowDocument.

PrintDialog printDialog = new PrintDialog(); bool? result = printDialog.ShowDialog(); if (result == true) { FlowDocument fd = new FlowDocument(); fd.Blocks.Add(new Paragraph(new Run(String.Format("Message:\r\n{0}\r\n", txtMessage.Text)))); fd.PageHeight = printDialog.PrintableAreaHeight; fd.PageWidth = printDialog.PrintableAreaWidth; printDialog.PrintDocument((fd as IDocumentPaginatorSource).DocumentPaginator, "print test"); } 

This code will print multiple columns on one page. How to avoid this?

+6
source share
1 answer

I understood. I need to set ColumnWidth of FlowDocument.

 fd.PagePadding = new Thickness(50); fd.ColumnGap = 0; fd.ColumnWidth = printDialog.PrintableAreaWidth; 
+10
source

Source: https://habr.com/ru/post/898242/


All Articles