找回密码
 立即注册

QQ登录

只需一步,快速开始

KingMan

中级会员

68

主题

148

帖子

554

积分

中级会员

积分
554
KingMan
中级会员   /  发表于:2017-7-5 14:47  /   查看:6330  /  回复:10
[img]file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\893030680\QQ\WinTemp\RichOle\K1[6}12W0~S~JMOG8KP154D.png[/img]正常打印如下:
K1[6}12W0~S~JMOG8KP154D.png337019042.png
但是如果将控件设置横向再打印,结果就不正常啦:
13KUV61_}40PBOJ0W{YG[GJ.png209462279.png

操作步骤如下:
7AW1VZOJB@W7_HK9DK~`3RG.png184174498.png



删除前面空行.zip

150.01 KB, 下载次数: 136

10 个回复

倒序浏览
gw0506
超级版主   /  发表于:2017-7-5 17:08:36
沙发
我重现了,而且我发现修改Landscape第二次后,PageSize的Width和Height就不变了。我判断是bug。反馈给厂商了。
回复 使用道具 举报
KingMan
中级会员   /  发表于:2017-7-6 16:11:39
板凳
gw0506 发表于 2017-7-5 17:08
我重现了,而且我发现修改Landscape第二次后,PageSize的Width和Height就不变了。我判断是bug。反馈给厂商 ...

嗯嗯,谢谢,帮忙跟进下
回复 使用道具 举报
gw0506
超级版主   /  发表于:2017-7-6 18:23:16
地板
是代码的问题。改了TX的方向,打印的时候也要改printer的方向。
pDocment.PrinterSettings.LandscapeAngle
回复 使用道具 举报
KingMan
中级会员   /  发表于:2017-7-7 10:28:48
5#
本帖最后由 KingMan 于 2017-7-7 10:32 编辑
gw0506 发表于 2017-7-6 18:23
是代码的问题。改了TX的方向,打印的时候也要改printer的方向。
pDocment.PrinterSettings.LandscapeAngle

不行,不知道怎么设置,pDocment.PrinterSettings.LandscapeAngle 这个熟悉是只读。
麻烦给个可以的片段代码

我下面的代码看不出有什么问题:
private void button20_Click(object sender, EventArgs e)
        {
            PrintDocument pDocment = new PrintDocument();
            pDocment.DocumentName = "";
            pDocment.DefaultPageSettings.PaperSize = new PaperSize("default",
                                                          (int)textControl1.PageSize.Width,
                                                          (int)textControl1.PageSize.Height);
            pDocment.DefaultPageSettings.Margins = new Margins((int)textControl1.PageMargins.Left,
                                                                (int)textControl1.PageMargins.Right,
                                                                (int)textControl1.PageMargins.Top,
                                                                (int)textControl1.PageMargins.Bottom);
            pDocment.DefaultPageSettings.Landscape = textControl1.Landscape;
            pDocment.PrinterSettings.PrinterName = "Microsoft XPS Document Writer"; //Microsoft XPS Document Writer   HP LaserJet Pro MFP M126nw
            pDocment.PrinterSettings.PrintRange = PrintRange.SomePages;
            pDocment.PrinterSettings.FromPage = 1;
            pDocment.PrinterSettings.ToPage = 1;
            textControl1.Print(pDocment);
        }
回复 使用道具 举报
gw0506
超级版主   /  发表于:2017-7-7 15:21:51
6#
pDocment.DefaultPageSettings.Landscape = textControl1.Landscape;
回复 使用道具 举报
KingMan
中级会员   /  发表于:2017-7-7 16:40:16
7#
本帖最后由 KingMan 于 2017-7-9 14:42 编辑
gw0506 发表于 2017-7-7 15:21
pDocment.DefaultPageSettings.Landscape = textControl1.Landscape;

这个是起不到效果的,这样我很早就试过啦。


我尝试啦多次,如下面注释掉才可以,可以打印,但是纸张没有旋转过来,没有打印完整。
PrintDocument pDocment = new PrintDocument();
            pDocment.DocumentName = "";
            //pDocment.DefaultPageSettings.PaperSize = new PaperSize("default",
            //                                              (int)textControl1.PageSize.Width,
            //                                              (int)textControl1.PageSize.Height);
            //pDocment.DefaultPageSettings.Margins = new Margins((int)textControl1.PageMargins.Left,
            //                                                    (int)textControl1.PageMargins.Right,
            //                                                    (int)textControl1.PageMargins.Top,
            //                                                    (int)textControl1.PageMargins.Bottom);
            pDocment.DefaultPageSettings.Landscape = textControl1.Landscape;
            pDocment.PrinterSettings.PrinterName = "Microsoft XPS Document Writer"; //Microsoft XPS Document Writer   HP LaserJet Pro MFP M126nw
            pDocment.PrinterSettings.PrintRange = PrintRange.SomePages;
            pDocment.PrinterSettings.FromPage = 1;
            pDocment.PrinterSettings.ToPage = 1;
            textControl1.Print(pDocment);

麻烦帮忙尽快解决一下,这个问题有点急,客户再等着解决问题。

1.xps

73.02 KB, 下载次数: 145

设置横向但是不设置纸张大小

2.xps

37.27 KB, 下载次数: 130

设置横向同时设置纸张大小

回复 使用道具 举报
gw0506
超级版主   /  发表于:2017-7-10 10:01:49
8#
你看一下你后来贴的这段代码。
PageSize和Margins是要封掉,设置了Landscape,这些东西会自动调整。你这个图为啥我不确定,我这边已经正常了。
image.png162844542.png
回复 使用道具 举报
KingMan
中级会员   /  发表于:2017-7-10 13:29:36
9#
gw0506 发表于 2017-7-10 10:01
你看一下你后来贴的这段代码。
PageSize和Margins是要封掉,设置了Landscape,这些东西会自动调整。你这 ...

首先,这样很难看出效果的,你尝试下把TXControl 设置横向,并将里面的内容尽量填满,然后在打印出来,看打印出来的是不是有一部分右边是看不到的。如果没有问题,麻烦将你测试的Demo发我一份
回复 使用道具 举报
KingMan
中级会员   /  发表于:2017-7-10 13:32:24
10#
gw0506 发表于 2017-7-10 10:01
你看一下你后来贴的这段代码。
PageSize和Margins是要封掉,设置了Landscape,这些东西会自动调整。你这 ...

如下图图片,打印出来不完整,纸张打印出来仍然是按A4纵向打印出来的。
EIDIMD[H7X{BG6)(O19EO$H.png
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部