我有一些使用System.Drawing.Printing
命名空间打印文档的代码。现在需要将其移动到 Windows 服务中。该文档指出这是不可能的,这将支持我迄今为止的发现(因为它不起作用)。我正在假设我可以通过使用System.Printing
命名空间来让它工作。
这是我到目前为止的代码:
private Metafile myDoc;
myDoc = GetEmfDoc();
PrintServer ps = new PrintServer("\\server1\printer1");
EnumeratedPrintQueueTypes[] flags = { EnumeratedPrintQueueTypes.Local };
PrintQueueCollection queues = ps.GetPrintQueues(flags);
PrintQueue pq = queues.First<PrintQueue>();
pq.AddJob("JobName", ?);
所以我想传递myDoc
给pq.AddJob()
,但这似乎是不可能的。使用System.Drawing.Printing
它可以在事件中简单地逐页呈现PrintDocument.PrintPage
。
我正在尝试做的事情是否可能,如果是这样,有人可以指出我正确的方向吗?