zoukankan      html  css  js  c++  java
  • [WPF 学习] 7.2 模板打印

    利用FlowDocument进行模板打印

    xaml

        <DockPanel >
            <Button  Content="Preview"  Margin="15" Click="Button_Click_1" DockPanel.Dock="Bottom" Height="76"/>
            <FlowDocumentPageViewer VerticalAlignment="Top" Width="300" Name="fd" BorderBrush="Blue" BorderThickness="2">
    
                <FlowDocument PagePadding="38" >
                    <Paragraph TextAlignment="Center">
                        <Run  FontFamily="宋体" FontWeight="Bold">酒店名称:</Run> [HotelName]
                    </Paragraph>
                    <BlockUIContainer>
                        <Line X1="0" Y1="0" X2="800" Y2="0" Stroke="Black"/>
                    </BlockUIContainer>
                    <Paragraph>
                        <Run FontWeight="Bold">日期:</Run> [Date]
                    </Paragraph>
    
                </FlowDocument>
            </FlowDocumentPageViewer>
    
        </DockPanel>
    
    

    代码

    
            private void Button_Click_1(object sender, RoutedEventArgs e)
            {
                var filename = @"test.xaml";
                using (FileStream fs = new FileStream(filename, FileMode.OpenOrCreate))
                {
                    XamlWriter.Save(fd.Document, fs);
                }
    
                var sts = File.ReadAllText(filename);
                sts = sts.Replace("[HotelName]", "NaradaHotel")
                       .Replace("[Date]", DateTime.Now.ToLongDateString());
    
                var d = ((IDocumentPaginatorSource)XamlReader.Parse(sts)).DocumentPaginator;
                PrintDialog pd = new PrintDialog();
                pd.PrintDocument(d, "test");
    
    
            }
    
    

    用String.Replace进行替换,不知道也没有其他办法?

  • 相关阅读:
    22:django 配置详解
    21:序列化django对象
    20:django中的安全问题
    19:django 分页
    HTML 标签(一)
    流程图学习绘制
    HTTP原理
    终端的颜色代码
    Python 进程 线程总结
    Python Select模型
  • 原文地址:https://www.cnblogs.com/catzhou/p/12505216.html
Copyright © 2011-2022 走看看