没有“打印”对话框打印页面?

时间:2012-09-03 19:10:25

标签: c# asp.net printing

我有这个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。当这不起作用时,我试图使用我真正的惠普打印机。但我仍然收到了同样的结果。页面没有显示打印对话框...问题消失了。但问题是为什么页面不能打印?为什么我得到一个空白/ null / nada页面?我的代码有问题吗?或者是我的打印机故障?再一次,一个问题消失了;我不再获得Print Dialog Box。我只是没有打印页面,只是一个空白页面。

谁能告诉我发生了什么?我能做些什么来实现我的目标? (我希望自己足够清楚!)。

1 个答案:

答案 0 :(得分:0)

我认为您已将客户端打印与服务器上的打印混淆。

您可以使用Java在客户端打印一些优惠券打印机的工作方式。但是,这是不赞成的。客户应该总是可以选择打印的方式。

Page_Load上的呼叫将在服务器端打印机上完成。