以下のコードは、ASP .NET MVC3 アプリケーションから、LAN の IP アドレスに接続され、Samsung ML-331x シリーズとしてサーバーで共有されている Samsung ML-331x シリーズ プリンターに印刷するために使用されます。
何も印刷されません。行で実行が停止しdoc.Print()
ます。コントローラーを呼び出すたびに、新しい未完了のジョブが追加されます。
これらのジョブは決して終了せず、iisreset
クリアするだけです。
サーバーは Windows 2003 + IIS MVC2 .NET 3.5 アプリケーションで動作しました。ForteSSL VPN はサーバーにインストールされ、アプリケーションは MVC3 と .NET 4 にアップグレードされました。
すべての権限を持つユーザー NETWORK SERVICE がプリンター ユーザーに追加されますが、問題は解決しません。Web Developerサーバーを使用してビジュアルスタジオでF5を押して開発コンピューターでアプリケーションを実行し、コントローラーで呼び出してPDFクリエーターに印刷すると問題なく動作します。
サーバーのコントローラーから印刷する方法は?
public ActionResult PrintTest()
{
var doc = new PrintDocument();
doc.PrinterSettings.PrinterName = "Samsung ML-331x Series";
doc.PrintPage += new PrintPageEventHandler(TestProvideContent);
doc.Print();
return new ContentResult()
{
Content = "Printed"
};
}
public void TestProvideContent(object sender, PrintPageEventArgs e)
{
e.Graphics.DrawString("Test",
new Font("Arial", 12),
Brushes.Black,
e.MarginBounds.Left,
e.MarginBounds.Top);
}
アップデート
アプリケーションは完全な信頼レベルで実行されます。イベント ビューアのアプリケーション ログには、これに関するエントリはありません。
ASP.NET MVC でプログラムで "hello world" デフォルトのサーバー側プリンターを使用する サーバー名でプリンター名を使用しようとしまし\\SERVER\Samsung ML-331x Series
たが、問題は解決しません。