【问题标题】:Printing support in .net core.net core 中的打印支持
【发布时间】:2017-01-02 19:55:00
【问题描述】:

我的 .net framework 4 服务使用 System.Drawing.Printing 的 PrintDocument 类进行打印。

如何在 .net 核心中实现这一点。我无法在 .net 核心中找到 System.Drawing.Printing。

有人可以指导我吗?

【问题讨论】:

    标签: asp.net-core asp.net-core-mvc .net-core asp.net-core-1.0 asp.net-core-webapi


    【解决方案1】:

    .NET Core 3 支持System.Drawing.Printing

    我现在有一个可以在 Linux 上运行的应用程序。我正在经历一些奇怪的事情,这导致我提出了这个问题。

    FWIW,我的应用程序是如何使用 System.Drawing.Printing API 的一个非常完整的示例。在这里找到它:https://github.com/tig/winprint

    【讨论】:

    • 如果您在 .NET CORE 中使用 System.Drawing,是否也可以在 Linux-Docker-Container 中使用 System.Drawing.Printing?
    【解决方案2】:

    一种选择是将整体服务拆分为多个微服务,并在 ie Linux 下运行您的 .NET Core 应用程序,让您的打印服务在 Windows 上运行,并在需要打印时让 .NET Core 服务调用打印服务某事

    【讨论】:

      【解决方案3】:

      System.Drawing 依赖于 Windows,并且从跨平台 NETStandard 库中排除(不适用于 .NET Core 应用程序)。

      作为替代方案,您可以考虑编写 PDF 或 PS 文档(例如,wkhtmltopdf 工具可以将 HTML 页面转换为 PDF/PS 格式)并使用特定于操作系统的命令行工具将其发送到打印机(对于 linux,这可能是“lp”命令;对于 Windows PowerShell "lpr")。

      【讨论】:

      • 什么?所以你告诉我整个软件开发平台都不支持打印?如果是这样,这怎么可能是理智的?
      • @docesam 目前.NET Core 是面向服务器的平台(仅支持 Web 和控制台应用程序),1.0 版仅包含这些应用程序类型所需的 API(在服务器端打印一些内容是不是 Web 应用程序的典型任务)。
      • 是的,我只是在发泄情绪,因为我认为跨平台框架应该有所有的花里胡哨。
      • 我使用“lpr -S printer_ip -P printer_name -o l D:\\testpdf.pdf”命令在我的 Windows 机器上打印 pdf,但它只打印垃圾文本。你能告诉我,这里出了什么问题吗?
      • 在 Powershell 5 中,命令似乎也是lp,它是Out-Printer 的别名。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-24
      • 2017-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多