簡體   English   中英

使用C#從服務器打印RDLC報告

[英]Print RDLC report from server in C#

我正在創建RDLC報告並從ASP.Net打印它。 當我在本地計算機上嘗試此方法時,它工作正常。 但是在服務器中部署時,打印機設置無效。

//碼

 if (m_streams == null || m_streams.Count == 0)
            throw new Exception("Error: no stream to print.");

        PrintDocument printDoc = new PrintDocument();

       // printDoc.PrinterSettings.PrinterName = "HP LaserJet 3055 PCL5";

        if (!printDoc.PrinterSettings.IsValid)
        {
            throw new Exception("Error: cannot find the default printer.");
        }
        else
        {
            printDoc.PrintPage += new PrintPageEventHandler(PrintPage);
            m_currentPageIndex = 0;
            printDoc.Print();
        }

從上面的代碼,它引發了一個異常“找不到默認打印機”。 嘗試添加客戶端計算機中存在但仍然無法使用的打印機名稱。

我需要在客戶端計算機上打印報告。

不知道在哪里更改。 有什么幫助嗎?

我相信你正在做你應該做的事情。

如果您有ASP.NET網站,則該網站中有RDLC報告。 如果我訪問該報告,則想在我的機器上打印,而不是在服務器上打印。 您確定要使服務器打印報告嗎? 客戶/瀏覽器不應該發出打印命令嗎?

如果您的服務器在數據中心中,而我在家里,則應在哪里進行打印? 除非要在服務器上打印(例如,郵件合並貼紙)。

據我所知,無法訪問客戶端的打印機設置。 您正在執行的操作是訪問服務器打印機,如果正確的話,則未安裝該打印機。

您可以通過調用javascript中的window.print()來打印訪問的瀏覽器/ javascript功能,因為瀏覽器正在運行客戶端並且可以訪問打印機。 但是直接訪問客戶端系統資源將是一個巨大的安全漏洞。

也許有一個晦澀的解​​決方法/黑客,但這將是一個糟糕的解決方案

暫無
暫無

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

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