我在 Linux 上使用 System.Drawing.Common 的 PrintDocument 时遇到问题,更具体地说,问题来自在 PrinterSettings.Unix 中使用的 PrintingServices.LoadPrinterSettings
这里是错误的内容:
Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1]
执行请求时发生未处理的异常。System.NullReferenceException:对象引用未设置为对象的实例。在 System.Drawing.Printing.PrintingServices.LoadPrinterSettings(字符串打印机,PrinterSettings 设置)
在 Windows 上一切正常,因为 PrintDocument 使用为 Windows 准备的解决方案。
代码:
PrintDocument pd = new PrintDocument();
pd.PrinterSettings.PrinterName = printerName;
pd.OriginAtMargins = true;
pd.DefaultPageSettings.Landscape = true;
pd.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0);
pd.PrintPage += new PrintPageEventHandler(Pd_PrintPage);
pd.Print();
我在用着:
System.Drawing.common (4.5.1)
.NET 核心 2.1
Linux 上已经安装了 libc6-dev 和 libgdiplus
Linux - Debian 9
任何人都可以帮忙吗?