簡體   English   中英

在Windows Server 2012 R2中使用C#.NET Rest API打印PDF文件時出錯

[英]Error printing PDF file using C# .NET Rest API in Windows Server 2012 R2

我正在經歷兩種情況:

我有一個C#.NET Framework ASP.NET Rest API,該API將PDF文件保存到磁盤,並將其發送到打印機。

  • 在本地直接在Windows 10 64位中登錄,使用Windows的Ghostscript 9.22(32位)驅動程序和Ghostcript.NET庫獲得成功,使用AcrobatReader作為PDF文件發送者,將文件發送到網絡打印機並從NetWork發送出去,作為默認文件的PDF發送者。

將TXT文件發送到網絡上的共享打印機,該文件被打印。 此時使用C#代碼:

     System.IO.File.Copy(filePath, "\\\\" + printerIP + "\\" + printerName);
  • 在以下兩種情況下,使用TeamViewer遠程連接到遠程Windows Server 2012 R2計算機失敗:使用Ghostscript,API無限期循環,並且不響應我的API調用。 使用Acrobat Reader,應用程序行為是正確的(進程開始並等待10秒鍾,這對於打印文件是合理的),沒有循環或應用程序異常,但是不打印文件。

在Windows Server 2012 R2中進行測試(針對從Tablet調用的API應用程序的實際情況),也觀察到了此行為。

我注意到Acrobat Reader無法使用Windows 10在本地成功案例中打開文件。

為此,我禁用了防火牆和防病毒軟件以方便分析。

目前,我正在尋找解決此問題的注意事項,試圖使打印PDF文件在Windows Server 2012 R2中工作。

誰能幫我?

Microsoft Windows安全體系結構似乎不允許Asp Net API在不使用模擬的情況下直接作為打印機訪問COM設備。 通過使用第三方庫和連接到具有更高Intranet用戶級別的計算機(作為IIS用戶)的本地打印機,系統打印了文件。 開發Windows服務程序(以Admin用戶身份安裝並可以訪問COM設備)可以得到最佳答案(根據我的觀點,源代碼實現在我需要的情況下無需使用大量“重構”即可清晰且可重用)。目錄,然后使用其他程序作為Adobe Reader將您的內容發送到打印機。 我實際情況的目標打印機是IP打印機,而不是本地打印機。

暫無
暫無

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

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