首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打印机仅打印到默认打印机

打印机仅打印到默认打印机
EN

Stack Overflow用户
提问于 2013-06-05 04:27:29
回答 1查看 2.3K关注 0票数 1

下面是我使用的代码(只是与打印相关的部分):

按钮1 onclick处理程序方法:

代码语言:javascript
复制
printDialog1 = new PrintDialog();
printDialog1.AllowPrintToFile = true;
printDialog1.PrintToFile = false;
if (printDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
    PrintDocument pd = new PrintDocument();
    pd.DefaultPageSettings.PaperSize = new PaperSize("A4", 826, 1169);
    pd.PrinterSettings.PrintToFile = true;
    pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
    pd.Print();
}

和我的pd_PrintPage方法:

代码语言:javascript
复制
Bitmap bitmapCanvas = new Bitmap(1000, 1000);
Graphics g = Graphics.FromImage(bitmapCanvas);
g.Clear(Color.White);
...
some g.Draw...() stuff

...
e.Graphics.DrawImage(bitmapCanvas, A(2), A(2));
//where e is the PrintPageEventArgs defined in the method signature

我的问题的第一部分是,这不能打印到选定的打印机(在打印对话框中选择)。如果打印机是默认打印机,则仅打印到该打印机。在Windows7下,它可以识别默认打印机,因此在单击按钮后弹出的打印对话框中的comboBox中将默认选择默认打印机。

我的主要问题是,这在Windows Xp下根本不起作用(不幸的是,我只能使用它)。我有点好奇为什么。因此,我不知道是我搞砸了,还是Windows Xp不支持它。

我应该用什么来完成或更正我的代码?

感谢您的帮助,非常感谢!米图拉特·巴蒂

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-05 04:55:15

尝尝这个,

代码语言:javascript
复制
printDialog1 = new PrintDialog();
printDialog1.AllowPrintToFile = true;
printDialog1.PrintToFile = false;
if (printDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
    printDialog1.Document.DefaultPageSettings.PaperSize = new PaperSize("A4", 826, 1169);
    printDialog1.Document.PrinterSettings.PrintToFile = true;
    printDialog1.Document.PrintPage += new PrintPageEventHandler(pd_PrintPage);
    printDialog1.Document.Print();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16926856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档