1

サーバー「A」(SA)でホストされているWebアプリケーションと、サーバー「B」(SB)でホストされている印刷用のWebサービスがあります。SAは、印刷が必要な画像を作成してSBに送信します。これを行う場合、印刷はかなり遅く、約15秒です。ただし、SAでホストされているアプリのwebconfigからユーザーとしてリモートデスクトップを使用してSBにログインすると、2秒以内に印刷されます。ログインすると、SBが何かを起動しているように見えます。これにより、印刷が速くなります。これが何であるか、そしてログインしていなくてもこの印刷を高速に保つ方法があるかどうかについて何か考えはありますか?

編集:印刷される画像のサイズは約20KBです。

SBでホストされているサービスのコードは次のとおりです。

public void PrintImage(Stream printImage, string printServer, string printer)
    {
        string printerName = String.Format(@"\\{0}\{1}", printServer, printer);

        Image image = Image.FromStream(printImage);

        PrintDocument printDocument = new PrintDocument();
        PrinterSettings settings = new PrinterSettings();
        settings.PrinterName = printerName;
        printDocument.PrinterSettings = settings;

        printDocument.PrintPage += (s, e) =>
        {
            e.Graphics.DrawImage(image, 0, 0);
        };

        printDocument.Print();
    }

これを読んでくれてありがとう:)

4

2 に答える 2

1

SBでプリンターマッピングを作成した場合、リモートデスクトップ接続がなくても同じように高速に実行されることがわかりました。

于 2013-01-14T18:44:55.840 に答える
0

Webアプリ(またはサービス)からの印刷は通常サポートされていないことに注意してください。msdnとこのSO投稿を参照してください。

于 2016-05-04T22:27:34.740 に答える