0

我正在开发 WPF 应用程序。在这里我必须处理一些打印格式。为了解决打印的分页问题,​​我使用以下代码:

     private void Button_Click(object sender, RoutedEventArgs e)
    {
        // Create a PrintDialog
        PrintDialog printDlg = new PrintDialog();
        
        // Create a FlowDocument dynamically.
        FlowDocument doc = CreateFlowDocument();
        doc.Name = "FlowDoc";
        doc.PageHeight = printDlg.PrintableAreaHeight;
        doc.PageWidth = printDlg.PrintableAreaWidth;
        // Create IDocumentPaginatorSource from FlowDocument
        IDocumentPaginatorSource idpSource = doc;
        // Call PrintDocument method to send document to printer
        printDlg.PrintDocument(idpSource.DocumentPaginator, "Hello WPF Printing."); 

    }

private FlowDocument CreateFlowDocument()
    {

        // Create a FlowDocument
        FlowDocument doc = new FlowDocument();
        int i = 0;
        while (i <2)
        {
            // Create first Paragraph
            Paragraph p1 = new Paragraph();
            MyUserControl comp = new MyUserControl ();
            p1.BorderBrush = new SolidColorBrush(Color.FromRgb(79, 129, 189));
            p1.BorderThickness = new Thickness(3);
            p1.Inlines.Add(comp); 
            // Add Paragraph to Section
            doc.Blocks.Add(p1);
            // Add Section to FlowDocument
            //doc.Blocks.Add(sec);
            i++;
        }
     
        return doc;

    }

这段代码对我来说很好。

问题 :

我只是在使用此代码时遇到了 UI 问题。

这是我现在在纸上得到的印刷品:

在此处输入图像描述

这是我需要在纸上打印的:

在此处输入图像描述

请提供一些想法和代码,以便我可以解决这个问题。

提前致谢。

4

0 回答 0