C#打印代码,求双面打印。

dill712 2014-04-24 03:27:40
我写了两个PrintPage事件,然后同时调用这两个事件来打印。
pdoc.Print();
pdoc2.Print();
虽然预先在打印机首选项里设置了双面打印,但打出来还是两个单页。
相关代码在网上找了很久,但是找不到。求大神指教!!!!

private void pdoc_PrintPage(object sender, PrintPageEventArgs e)
{
gra = Graphics.FromImage(forebmp); //加载
e.Graphics.DrawImage(forebmp, new Rectangle(0, 0, 794, 1123));//96pi //输出
}

private void pdoc2_PrintPage(object sender, PrintPageEventArgs e)
{
gra = Graphics.FromImage(backbmp);//加载
e.Graphics.DrawImage(backbmp, new Rectangle(0, 0, 794, 1123));//96pi //输出
}

打印机为HP P2055dn
...全文
478 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dill712 2014-04-28
  • 打赏
  • 举报
回复
我找到解决办法了,分享给大家。

pd.PrintPage += (_, e) =>
                    {
                        var img = System.Drawing.Image.FromFile(FileName[i]);
                        int iWidth = 520;
                        double hFactor = iWidth / (double)img.Width;
                        int iHeight = Convert.ToInt32(img.Height * hFactor);
                        Rectangle Rect = new Rectangle(170, 330, iWidth, iHeight);
                        e.Graphics.DrawImage(img, Rect);
                        if (i == FileName.Length - 1)
                        {
                            e.HasMorePages = false;
                        }
                        else
                        {
                            e.HasMorePages = true;
                        }
                        i++;
                    };
flyinthesky 2014-04-25
  • 打赏
  • 举报
回复
lz很天真哦。。。 软件不是万能的。。。
於黾 2014-04-25
  • 打赏
  • 举报
回复
你先开个WORD,试试能不能双面呢打印再说
jimil 2014-04-25
  • 打赏
  • 举报
回复
如果打印机有双面功能,那就e.HasMorePages = true;
dill712 2014-04-25
  • 打赏
  • 举报
回复
谢谢各位的回答,已确认这台打印机可以双面打印,且可以自动翻转。使用Word可以打出单张双面。
  • 打赏
  • 举报
回复
双面打印是打印机功能。。。。。。。不是你代码能控制的
devmiao 2014-04-24
  • 打赏
  • 举报
回复
这个和你的代码无关,和你的打印机有关。 大部分商用打印机不支持自动纸张翻转,需要手工送纸,或者先打印奇数页,然后手工翻转,再打印偶数页。具体看你的打印机手册。

111,101

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧