我有这个想要打印的 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 页面?我的代码有问题吗?还是我打印机的问题?再一次,一个问题消失了。我不再得到Print Dialog Box
. 我只是没有得到打印页,只是一个空白页。
谁能告诉我发生了什么?我能做些什么来实现我的目标?(我希望我已经说得够清楚了!)。