在 C# 中打印文档的方法
本文关键字:方法 文档 打印 | 更新日期: 2023-09-27 18:32:07
有时
,我们都需要从.NET程序中打印文档。假设一个简单的单页文档,其中包含一些文本和图像。
到目前为止,我知道 2 种方法:
- 使用标准打印文档类
- 使用PdfSharp等工具生成pdf/doc文档
第一种方式我不喜欢,因为编写所有这些用于处理事件的例程需要花费大量时间,而且标准的 PrintPreviewDialog 非常丑陋。除此之外,您需要在打印预览和实际打印时生成和缩放 2 个不同的文档。
第二种方式困扰着我,因为这些免费组件通常是有限的,而且记录不佳。
您还知道哪些其他打印解决方案?
使用Crystal Reports
进行打印。国际海事组织最佳选择
除了WPF和XPS,我还没有在.NET中看到优雅的打印解决方案。在这种情况下,只需在 Xaml 中创建 UI 并打印即可。但XPS通常不是一个可行的选择。我也使用过XSL-FO(使用NFop和更高 FO.Net - 后者更好,因为较新并且不需要Visual J#),它可以工作,但具有适度陡峭的学习曲线。
我试图在 c# 中的文章中分析文章 pdf 报告中可能的选项。
- iTextSharp - 在 C# 中执行报告的命令式方法,(-) 生成不太可读的代码
- Telerik Reporting,DevExpress Reporting,Crystal Reports - 类似的方法,报告编辑器,非常适合简单的工作,能够生成多种格式,(-)更难团队合并和打印复杂的报告
- Phantomjs, wkhtmltopdf - html to pdf conversion, (-) extra dependency
- JSreport - 我的解决方案,JavaScript模板引擎来组装HTML报告和PhantomJS将其打印成pdf(-)简单解决方案的开销,额外的依赖性
长话短说。我对当前的选项不满意,并开发了jsreport作为设计和打印pdf报告的解决方案。看看吧,它是免费的。