C# WPF发票打印

微信公众号:Dotnet9,网站:Dotnet9。问题或建议,请网站留言;

如果您觉得Dotnet9对您有帮助,欢迎赞赏

C# WPF发票打印

内容目录

  1. 实现效果
  2. 业务场景
  3. 编码实现
  4. 本文参考
  5. 源码下载

1.实现效果

发票界面


C# WPF发票打印_第1张图片

PDF打印结果

C# WPF发票打印_第2张图片

2.业务场景

界面作为发票预览,按客户需求可打印成发票纸张给客户。

3.编码实现

3.1 添加Nuget库

站长使用 .Net Core 3.1 创建的WPF工程,创建“Invoice”解决方案后,需要添加两个Nuget库:MaterialDesignThemes和MaterialDesignColors,上图的效果是使用该控件库实现的,非常强大。


C# WPF发票打印_第3张图片

3.2 工程结构

不需要截图,只修改了两个文件,App.xaml添加MD控件样式,MainWindow主窗口实现效果。

3.3 App.xaml引入MD控件样式


    
        
            
                
                
            
            
            
            
            
            
            
            
            
            
            
        
    

3.4 主窗体 MainWindow.xaml

整体布局,看上图加上下面的界面代码,本文基本就是布局 + 打印操作,全在这个界面,直接看代码吧,不细说了:


    
        
            
            
                
                    
                    
                    
                

                
                    
                    
                

                
                    
                        
                            
                            
                        

                        
                            
                            
                                
                                
                            
                            
                                
                                
                            
                        
                        
                            
                            
                            
                            
                        
                        
                        
                    

                    
                        
                            
                            
                            
                            
                        

                        
                        
                        
                        
                    

                    

                    
                        
                            
                                
                                    
                                    
                                    
                                    
                                

                                
                                
                                
                                
                            
                        
                        
                            
                                
                                    
                                    
                                    
                                    
                                

                                
                                
                                
                                
                            
                        
                        
                            
                                
                                    
                                    
                                    
                                    
                                

                                
                                
                                
                                
                            
                        
                    
                

                
                    
                        
                            
                            
                            
                        

                        
                        
                        
                    
                    
                    
                        
                            
                            
                            
                        

                        
                            
                                
                                
                            
                            
                                
                                
                            
                        

                        

                        
                    
                    

                    
                        
                            
                            
                        

                        
                            
                            
                            
                        
                    
                
            
        
    

后台发票打印操作

private void Button_Click(object sender, RoutedEventArgs e)
{
    try
    {
        this.IsEnabled = false;
        PrintDialog printDialog = new PrintDialog();
        if (printDialog.ShowDialog() == true)
        {
            printDialog.PrintVisual(print, "发票");
        }
    }
    finally
    {
        this.IsEnabled = true;
    }
}

4.本文参考


Design com WPF大神的学习视频::Invoice Screen and Print to PDF

开源控件库:MaterialDesignInXamlToolkit

本站对MD开源控件库的介绍:控件介绍

5.代码下载

文章中代码已经全部贴出,添加Nuget包,复制文中代码就可以运行了。

除非注明,文章均由 Dotnet9 整理发布,欢迎转载

转载请注明本文地址:https://dotnet9.com/6777.html

欢迎扫描下方二维码关注 Dotnet9 的微信公众号,本站会及时推送最新技术文章


C# WPF发票打印_第4张图片

你可能感兴趣的:(C# WPF发票打印)