簡體   English   中英

SSRS:如何在不提交呈現報告的情況下打印報告?

[英]SSRS: How to print a report without bringing up the rendered report?

我想知道如何在不打開報表查看器的情況下打印SSRS報表。 現在我的用戶必須按“打印”按鈕,調出渲染的報告,然后再次按“打印”。

現行代碼:

Dim report as new ReportViewer
'snip - fill datasets, set data sources, blah blah blah
report.ReportViewer1.LocalReport.DataSources.Add(datasource)
report.Show()

這會打開一個我不想要的查看器窗口,因為我的用戶必須再次按Print。

所以我添加了以下內容:

report.PrintDialog()

上面的代碼導致invalidOperationException因為它還沒有完成渲染。 我理解這一點,但有沒有辦法以編程方式(而不是在屏幕上)呈現報告並將用戶直接發送到打印機對話框?

編輯:好的,我90%在那里。 PrintDialog()不是要走的路。 我發現了這篇文章,但它導致了一個InvalidXMLException 它沒有告訴我為什么它是錯的,只是它是錯的...... API完全沒有幫助所以...幫助?

以下是我在這個主題上發現的內容,隨后為我工作: http//printssrsreport.blogspot.com/2011/09/print-ssrs-report-using.html

重要的是你按照“步驟1”並添加對“ReportExecution2005.asmx”的引用。 當我使用Reporting Services 2008 R2時,這讓我感到困惑。 但事實就是如此,而且它有效。

其余的應該是直截了當的,為你工作。

您可以使用SSRS Web服務以編程方式呈現報告(即PDF格式),然后從您的應用程序中打印它。

http://msdn.microsoft.com/en-us/library/ms152952.aspx

嘗試將命令report.PrintDialog()放在ReportViewer Control的RenderingComplete事件上。

這將確保在調用打印對話框之前已經呈現報告

為什么不把報告按計划進行,讓它們作為pdf保存到文件夾然后使用Batch print pro之類的東西來打印它們?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM