日期:2014-05-19  浏览次数:21275 次

PrintDocument怎么横向打印?
代码如下:

private   void   button1_Click(object   sender,   EventArgs   e)
{                
        this.printDocument1.Print();
}
private   void   printDocument1_PrintPage(object   sender,   System.Drawing.Printing.PrintPageEventArgs   e)
{                        
          e.Graphics.PageUnit   =   GraphicsUnit.Millimeter;
          e.Graphics.DrawString( "中华人民共和国 ");
          e.HasMorePages   =   false;
}
private   void   printDocument1_BeginPrint(object   sender,   System.Drawing.Printing.PrintEventArgs   e)
{          
          this.printDocument1.DefaultPageSettings.PaperSize   =   new   System.Drawing.Printing.PaperSize( "asdf ",   1000,   800);
          this.printDocument1.DefaultPageSettings.Margins   =   new   System.Drawing.Printing.Margins(0,   0,   0,   0);
                       
          this.printDocument1.DefaultPageSettings.LandScope   =   true;
}


我把LandScope设为了true,但在打印时,它只是把纸张的宽和高换了换, "中华人民共和国 "几个字还是横着的。按道理这几个字应该反转过来打印的,怎么实现?


------解决方案--------------------
你的理解不对.
你在word里试试横向打印是什么效果。

------解决方案--------------------
打印的时候横向,你可以通过PrintDialog间接设置,也可以通过PageSetupDialog设置.

因为这个设置对系统是全局的,所以,还可以直接通过控制面板的"打印机和传真"直接设置.