1

印刷したいこのASP.NETページがあります。私が今していることは、を使用OnClientClickし、そこからを呼び出すだけの関数PrintThePage()を呼び出すことWindow.Print()です。これを行うと、ユーザーに[印刷]ダイアログボックスが表示されます。このダイアログボックスで、プリンターを選択して(および、そのプロパティなどを設定して)、ページを印刷できます。

問題は、デフォルトのプリンタを使用して、印刷ダイアログボックスを表示せずにページを印刷したいということです。これが私が試したことです:

protected void Page_Load(object sender, EventArgs e)
{
    System.Drawing.Printing.PrinterSettings ps =
        new System.Drawing.Printing.PrinterSettings();

    ps.PrintFileName = Path.GetFileName(Request.Url.LocalPath);

    System.Drawing.Printing.PrintDocument pd =
        new System.Drawing.Printing.PrintDocument();

    pd.PrinterSettings = ps;
    pd.Print();
}

私のデフォルトのプリンタはOneNote(MicrosoftがOne Noteに送信)です。問題:ページは印刷されますが、空白のページのみが生成されます。

最初に、デフォルトのプリンタをに設定しようとしましたdoPdf。それがうまくいかなかったとき、私はそれから私の本当のHPプリンターを使おうとしました。しかし、私はまだ同じ結果を受け取りました。ページに印刷ダイアログボックスが表示されていません...その問題はなくなりました。しかし、問題はなぜページが印刷されないのかということです。空白/null/ nadaページが表示されるのはなぜですか?私のコードに問題はありますか?それとも私のプリンターのせいですか?ここでも、1つの問題がなくなりました。私はもう取得していませんPrint Dialog Box。印刷されたページが表示されず、空白のページが表示されます。

誰かが何が起こっているのか教えてもらえますか?目標を達成するために何ができますか?(私は自分自身を十分に明確にしたことを願っています!)。

4

1 に答える 1

0

クライアント側の印刷とサーバーでの印刷を混同していると思います。

一部のクーポンプリンターがどのように機能するか、Javaを使用してクライアント側で印刷できます。しかし、これは嫌われています。クライアントは、印刷方法を常に選択できる必要があります。

呼び出しPage_Loadはサーバー側のプリンターで行われます。

于 2012-09-03T19:12:13.190 に答える