2017-01-26 6 views
0

asp.net web apiプロジェクトからインストールされているすべてのプリンタのリストにアクセスできるかどうか疑問に思っています。 私はこの情報をオンラインで検索しましたが、Windowsフォーム実装を指し示す記事しか見ることができません。asp.net web apiプロジェクトからすべてのプリンタにアクセス

+0

、あなたのWebサーバにインストールされたプリンタを意味していますか? asp.netはバックエンドのテクノロジーであり、* server *で動作しているので、* clientside *プリンタのリストを取得することはできません。 –

+0

@AndyKorneyevはい、サーバー側 –

+1

を意味します。それはWinformsまたはASP.NET - どちらも同じアプローチを使用しています。 –

答えて

2

他にも記載されているように、というプリンタのリストは、サーバにのみインストールされています。コードはサーバ上で実行されるので、クライアントの設定については何も知らないでしょう。あなたがインストールされているプリンタをサーバ上に置いておきたいなら、ここでそれを行う方法があります。

public class PrinterController : ApiController 
{ 
     [HttpGet] 
     public IHttpActionResult Get() 
     { 
      var result = System.Drawing.Printing.PrinterSettings.InstalledPrinters; 
      return Ok(result); 
     } 
} 

出力は次のようになります:

[ 
"Send to OneNote 2010", 
"Microsoft XPS Document Writer", 
"Microsoft Print to PDF", 
"Fax", 
"\\\\prntServer\Printer1" 
] 
0

Webアプリケーションから、アプリケーションが実行されているサーバーにインストールされているプリンタにアクセスできます。セキュリティ上の理由から、クライアントマシン上のプリンタのリストにアクセスすることはできません。これを行うには、顧客がインストールする必要のあるプラグインまたはデスクトップアプリケーションが必要です。

関連する問題