【问题标题】:How to print data form C#如何从C#中打印数据
【发布时间】:2010-03-17 17:09:30
【问题描述】:

我搜索了 Stackoverflow 和 google 并找到了很多方法 如何在 C# 中打印内容。

对我来说最好的方法是填充空白的白色窗口表单 带有一些标签、文本框和图片框元素并将其打印为 Windows 窗体。 这种方式很差,因为它以 72 DPI 打印,并且对于多个不灵活 页面打印。

我发现的下一个方法是使用 iTextSharp,但是有一个问题 iTextSharp 只生成 PDF-s,你必须在 PDF 查看器中打开它并打印 从那里开始。

我喜欢这种思维方式,我创建一个段落,然后用文本和图形填充它,所以我找到了这个线程 http://www.devarticles.com/c/a/C-Sharp/Printing-Using-C-sharp/ 它讨论了如何在 C# 中创建自己的打印引擎,例如 iTextSharp, 但非常轻巧……

既然我已经说过了,我想知道是否有任何现成的打印引擎,例如 iTextSharp,用于打印,而不是用于 PDF 生成?在不使用 CrystalReports 等报告服务的情况下,最好的打印方式是什么。

我认为 Crystal Reports 不适用于我的案例,因为我不想打印通用报表,但我需要在每次需要打印时动态生成一些文本和图形。

【问题讨论】:

    标签: c# winforms printing


    【解决方案1】:

    我发现使用 WPF 中的打印内容进行打印要容易得多。

    编辑
    XPS 是 Microsoft 使用 .NET 3.0 包含在 .NET 中的页面描述格式。它名义上是 WPF 的一部分,并与 WPF 表单布局模型集成在一起。但是您可以在内存中创建 XPS 文档并将它们从任何 .NET 应用程序(包括 WinForms 应用程序)发送到打印机。

    一个例子: http://statestreetgang.net/post/2008/03/Creating-an-XPS-document-in-memory-via-the-DOM.aspx

    它大致相当于您探索的 iTextSharp 功能,除了:

    • 您可以根据需要在内存中完成所有操作,无需保存到文件系统文件。当然,如果您想保存到文件系统文件,您也可以这样做。
    • 您不需要外部查看器即可开始打印。

    【讨论】:

    • 我正在为我的应用程序使用 WinForms。我可以将两者结合起来吗?我从未在 WPF 工作过
    • 你能告诉我从哪里开始吗?
    • 非常感谢!我会调查的
    【解决方案2】:

    如果您是编程新手,并且您有一些来自数据库的数据,并且您想在从数据库中检索到数据后打印它。然后只需点击此链接,它将逐步指导您。 Print Data in Dot Net (C#,Vb.net)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-13
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多