【发布时间】:2021-06-06 23:59:18
【问题描述】:
我正在使用以下方法打印我的 PDF 文档。它可以在我的本地机器上完美运行。但是,一旦我上传到网络服务器,就会出现打印错误。我怀疑这是路径,但我不知道出了什么问题? 任何帮助表示赞赏,因为我很快就会求助于拉我的头发!!
经过进一步调查,我发现我需要分配一个默认的本地打印机。 我的代码正在寻找网络服务器打印机。任何人都可以提供帮助吗? 从 Web 应用程序打印时我应该注意什么? 我已经在最终用户机器上设置了默认打印机,但仍然从该代码中得到错误? 我还需要在打印前显示打印对话框。
最后,我们可以从 ASP.NET .core Web 应用程序打印到本地打印机吗?还是他们都必须在同一个网络上?
谢谢。
private void PrintEntireCatologue()
{
var RowsData = DataGrid.CurrentViewData;
foreach (ClientDoc row in RowsData)
{
var PdfToPrint = row.DocPathAzure; /*get file name from database*/
var doctoprint = @".\wwwroot\Pdfdocs" + PdfToPrint; /*Get directory path*/
PdfDocumentProcessor documentProcessor = new PdfDocumentProcessor();
documentProcessor.LoadDocument(doctoprint);
PdfPrinterSettings pdfPrinterSettings = new PdfPrinterSettings();
pdfPrinterSettings.PageOrientation = PdfPrintPageOrientation.Portrait;
documentProcessor.Print(pdfPrinterSettings);
}
toastService.ShowSuccess("Printing Complete.");
}
【问题讨论】:
-
你能更清楚地描述 webapp 和打印机的位置吗?似乎您有一台运行 web 应用程序的服务器,以及一台具有默认打印机的最终用户 PC,并且您想将 PDF 从服务器打印到最终用户 PC 的打印机?
-
您能确认几件事吗? 1.在本地运行意味着更多地在调试或部署在 IIS 2.托管在 Web 服务器上 - 这是否意味着在 IIS 3. 是 .Net 核心还是 .Net 框架 - 如果 .Net 核心是“进程中”托管?
-
@neohope 是的,你明白了!在此期间,我的 ISP (smarterasp.net) 通知我在这些情况下不允许打印。必须先下载文档,然后在客户端上打印。我有时要打印 1000 个(巨大的目录),所以我正在寻找一键单击的解决方案。似乎唯一的方法是将它们全部压缩,然后下载 zip 文件并在客户端 PC 上安装一个实用程序。
-
@mbshambharkar 这是一个 Blazor 服务器应用程序。在本地运行时,我通过 Visual Studio 2019 运行它,但它与打印机在同一个网络上,所以它可以工作。
标签: .net asp.net-core printing