在C#中将打印文档保存到文件而不会弹出

时间:2019-01-10 08:17:36

标签: c# printing printdocument window-server

需要一种全自动解决方案来保存打印文档,而无需任何用户交互。

当前代码在Windows Server 2012上使用Windows服务运行。

这是一个遗留代码,因此更改不大,请告诉我是否有解决方案,可以从打印文档生成pdf。

我们不能做以下事情:

  1. 任何手动操作以保存PDF
  2. PDF应仅在打印后使用“ PrintDocument ”生成。
  3. 打印位置和打印机名称应该是可配置的

现有代码:

PrintDocument pd = new PrintDocument();
pd.DefaultPageSettings.Margins.Top = 0;
pd.DefaultPageSettings.Margins.Bottom = 0;
pd.DefaultPageSettings.Margins.Left = 0;
pd.DefaultPageSettings.Margins.Right = 0;
pd.PrintPage += new PrintPageEventHandler(Process); // Process : Contains logic to draw

pd.PrinterSettings.PrinterName = PrinterName; // i will specify this at runtime
pd.Print();
// Above code does print the document on a printer

// Now we wants to save that document in PDF format without any user interaction
// should be using "PrintDocument" only

期望:

在无需用户干预(全自动)的自动打印机上完成打印作业后,将pdf保存到指定位置

预先感谢

0 个答案:

没有答案