在C#中打印文档的方法

时间:2012-04-25 10:31:18

标签: c# .net report

我们有时需要从.NET程序中打印文档。让我们说一个简单的单页文档,其中包含一些文本和图像。

到目前为止,我知道有两种方法可以做到:

  1. 使用标准PrintDocument类
  2. 使用像PdfSharp
  3. 这样的工具生成pdf / doc文档

    第一种方式我不喜欢因为编写所有这些例程来处理事件需要花费大量时间,而标准PrintPreviewDialog只是丑陋。除此之外,您还需要在打印预览和实际打印时生成和缩放2个不同的文档。

    第二种方式困扰我,因为这些免费组件通常是有限的,并且记录不足。

    您知道哪些其他打印解决方案?

3 个答案:

答案 0 :(得分:2)

使用Crystal Reports进行打印。最佳选择IMO

答案 1 :(得分:1)

除了WPF和XPS之外,我还没有在.NET中看到过优雅的打印解决方案。在这种情况下,您可以在Xaml中创建一个UI并打印它。但XPS通常不是一个可行的选择。我也使用过XSL-FO(使用NFop和后来的FO.Net - 后者更好,因为它更新,它不需要Visual J#),它可以工作,但有一个中等陡峭的学习曲线。

答案 2 :(得分:1)

我试图分析文章pdf reports in c#中的可能选项。

  • iTextSharp - 在c#中执行报告的必要方式,( - )生成不太可读的代码
  • Telerik报告,DevExpress报告,Crystal Reports - 类似的方法,报告编辑器,非常适合简单的工作,能够生成多种格式,( - )更难以合并和打印复杂的报告
  • phantomjs,wkhtmltopdf - html转换为pdf,( - )额外依赖
  • jsreport - 我的解决方案,javascript模板引擎汇编html报告和phantomjs将其打印成pdf( - )开销,用于简单的解决方案,额外的依赖性

长话短说。我对当前的选项不满意,并开发jsreport作为设计和打印pdf报告的解决方案。看看,它是免费的。