我写的c#程序,调用打印程序,把页面设为了横向打印,字也横了过来,预揽为横向,可为何打印出来的字是纵向的呢?
急!请哪位高手指点下!

解决方案 »

  1.   

    你是要求实现这样的功能呢还是目前出现这样的BUG
    PageSettings.Landscape 属性可以设置横向还是纵向打印
    但有些打印机,例如窄行的,你纸张都得纵向进纸,可能打印方向不是你想要的
    所以除了通过这个属性设置以外,和具体打印机的一些技术指标可能也有关系
      

  2.   

    我的PageSettings.Landscape 设置为true,而且我调用 e.Graphics.RotateTransform(-90);吧文字也转了90度,打印预览的时候纸是横向的,文字也转过来了,可是打印的时候,字确是纵向打印时候的方向,这是什么原因呢?还有一点比较重要,就是纸张大小的影响 
    纸张大小设置的时候宽为30,高为25,则这样为纵向,反之则为横向 
    如果宽为25,高为30,则此时是正常的纵向,反之为横向 能讲具体一点吗?我不是很明白
      

  3.   

    这个你可以自己在打印机中添加一个自定义纸张,然后用WORD之类的打印一下试试就明白了
    象这种打印方向之类的情况,先应该使用成熟的软件例如WORD试试看能不能实现,如果行再来调程序
    从我碰到的各种情况来看,一般都能解决
    还有一点,有时候不要用虚拟打印机测试
    可能会掩盖问题或者分多出问题来
      

  4.   

          //打印功能
                      printDocument1.DefaultPageSettings.Landscape = true;
                    printDocument1.PrinterSettings.Copies = num;
                    printDocument1.DefaultPageSettings.Margins = PrintConstant.PageMargins;
                    printPreviewDialog1.Document = printDocument1;
                    printPreviewDialog1.ShowDialog();
          //奇数页翻转
            public static void PrintOdd(System.Drawing.Printing.PrintPageEventArgs e, int page_num)
            {
                //奇数页翻转方向
                  e.Graphics.TranslateTransform(1169, 0);
                e.Graphics.TranslateTransform(PrintConstant.XMove, PrintConstant.YMove);
                e.Graphics.RotateTransform(-270);            // 缩放打印比例
                e.Graphics.PageScale = PrintConstant.PageScale;            // 当前页面
                CurrentPage = page_num;
            }        //偶数页翻转
            public static void PrintEven(System.Drawing.Printing.PrintPageEventArgs e, int page_num)
            {
                //偶数页翻转方向
                  e.Graphics.TranslateTransform(0, 826);
                e.Graphics.TranslateTransform(PrintConstant.XMove, PrintConstant.YMove);
                e.Graphics.RotateTransform(-90);            // 缩放打印比例
                e.Graphics.PageScale = PrintConstant.PageScale;            // 当前页面
                CurrentPage = page_num;
            }        
      

  5.   

    问题解决了me ? 怎么解决的???  C# 里边可以设置纸张的大小么???
      

  6.   

         PrinterSettings pss = new System.Drawing.Printing.PrinterSettings();
         pss.DefaultPageSettings.Landscape = true;
         printDocument1.PrinterSettings = pss;打印设置里设置横向。打印出来时横向的