在当前项目中,我需要打印从 SSRS 收到的 Pdf 格式的报告。到目前为止,我了解到 Pdf 和 WPF 根本不是朋友。但还有更多的要求:
- Pdfs 应该打印到打印机而不显示打印对话框。
- 一些报告需要来自特定 InputBin 的纸张(因此这必须
是可配置的)
我已经看到了很多方法。我还调查了一些 WPF – PDF 库,但没有一个涵盖这些要求。
我的解决方案是从 SSRS 获取作为 Imagesource 的报告,然后Image
为每个源创建一个 WPF 控件。然后创建一个FixedDocument
包含所Image
创建控件的每个页面。
这可行,但是,创建的文件非常大,打印它们需要很长时间。因此,打印本机 PDF 文件方法会更好。
我想要的是这样的:
var bytes = GetSomeReportFromReportingServices();
var pdfDocuments = new PdfDocument(bytes);
var printQueue = LocalPrintServer.GetDefaultPrintQueue();
var printTicket = printQueue.DefaultPrintTicket();
//Extension method to set the input bin
printTicket.SetInputBin("SomeInputBinDifferentFromDefault");
//Set some other PrintTicket Properties
//[...]
pdfDocument.Print(printQueue, printTicket);
就这么简单。我想要的只是配置一个 PrintTicket 并将该 pdf 打印到打印机。是否有一些库/组件能够做这样的事情?