1

以下のコードは、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たが、問題は解決しません。

4

0 に答える 0