我有一些关于学生帐户的报告,是否可以将其打印到默认的物理打印机或软件打印机(如BioPDF打印机)中,以及如何用C#格式化文本。
我正在使用WPF使用C#编写我的代码。我很抱歉,因为我不知道在这个问题上应该提供什么样的信息,请耐心等待;)
//===================EDIT===========================
PrintDialog printDialog = new PrintDialog();
if (printDialog.ShowDialog().GetValueOrDefault(false))
{
printDialog.PrintVisual(listBox1, this.Title);
}
//我正在尝试打印ListBox的内容,但问题是我在视觉上使用阿拉伯语
<ListView HorizontalAlignment="Left" Margin="503,73,0,98" Name="listBoxEPayed" Width="410" MouseDoubleClick="listBoxEPayed_MouseDoubleClick">
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Header="الرقم" Width="50" DisplayMemberBinding="{Binding Path=ReportID}" />
<GridViewColumn Header="محرر الفاتوره" Width="100" DisplayMemberBinding="{Binding Path=UserName}" />
<GridViewColumn Header="قيمة المبلغ" Width="75" DisplayMemberBinding="{Binding Path=Cashamount}" />
<GridViewColumn Header="التاريخ" Width="120" DisplayMemberBinding="{Binding Path=Date}" />
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
//打印的结果是所有的字符都被打乱了。注意,我正在使用bioPDF打印机软件测试打印页面的布局。结果在这张照片里
发布于 2012-06-19 20:00:39
选项1:使用WPF表单打印出来。下面的代码片段来自SO问题( Printing of WPF Window on one page )
PrintDialog printDialog = new PrintDialog();
if (printDialog.ShowDialog().GetValueOrDefault(false))
{
printDialog.PrintVisual(this, this.Title);
}
问题是,窗户很可能不适合在一张纸上。
选项2:将您的数据绑定到一个报告解决方案,如Chrystal (现在由SAP拥有,有一个免费版本可用)、活动报告、DevExpress或其中之一。一些可用的报告组件相当昂贵,但为了获得高质量的结果,它们值得付出代价。
https://stackoverflow.com/questions/11105480
复制相似问题