感谢您使用微软的产品。您可以首先生成一个自定义的PageSize对象,然后赋给PrintDocument对象的DefaultPageSettings.PaperSize属性,这样可以达到自定义Page大小的目的。
我是这样实现的,您可以参考以下:
private System.Drawing.Printing.PrintDocument pd;
private StreamReader streamToPrint;printFont = new Font("Arial", 10);
streamToPrint = new StreamReader ("PrintMe.Txt");
PaperSize pkCustomSize1 = new PaperSize("First custom size", 800,500);pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
pd.DefaultPageSettings.PaperSize =pkCustomSize1;//将自定义的Papersize赋给PrintDocument
pd.DefaultPageSettings.PaperSize.Height =500;//您可以修改pagesize的大小
pd.DefaultPageSettings .PaperSize .Width =800;pd.Print();private void pd_PrintPage(object sender, PrintPageEventArgs ev) 
{...}关于PaperSize对象的构造方法您可以参看:
.NET Framework Class Library   PaperSize Constructorhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdrawingprintingpapersizeclassctortopic.asp- 微软全球技术中心 开发技术支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查
(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。