设置纸张尺寸

10 .net c# printing

请帮我说说如何用c#代码设置我的纸张尺寸.我正在使用API​​ printDocument.

以下是我的代码:

 ppvw = new PrintPreviewDialog();
 ppvw.Document = printDoc;
 ppvw.PrintPreviewControl.StartPage = 0;
 ppvw.PrintPreviewControl.Zoom = 1.0;
 ppvw.PrintPreviewControl.Columns = 10;


 // Showing the Print Preview Page
 printDoc.BeginPrint += new System.Drawing.Printing.PrintEventHandler(PrintDoc_BeginPrint);
 printDoc.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(PrintDoc_PrintPage);


 if (ppvw.ShowDialog() != DialogResult.OK)
 {
     printDoc.BeginPrint -= new System.Drawing.Printing.PrintEventHandler(PrintDoc_BeginPrint);
     printDoc.PrintPage -= new System.Drawing.Printing.PrintPageEventHandler(PrintDoc_PrintPage);
 }


 printDoc.PrinterSettings.DefaultPageSettings.PaperSize = new System.Drawing.Printing.PaperSize("a2", 5.0,5.0);
 printDoc.Print();
Run Code Online (Sandbox Code Playgroud)

Maw*_*rdy 22

PrinterSettings ps = new PrinterSettings();
PrintDocument recordDoc = new PrintDocument();
recordDoc.PrinterSettings = ps;
Run Code Online (Sandbox Code Playgroud)

这是一种通过类似'A4'设置纸张尺寸的方法

IEnumerable<PaperSize> paperSizes = ps.PaperSizes.Cast<PaperSize>();
PaperSize sizeA4 = paperSizes.First<PaperSize>(size => size.Kind == PaperKind.A4); // setting paper size to A4 size
recordDoc.DefaultPageSettings.PaperSize = sizeA4;
Run Code Online (Sandbox Code Playgroud)

这是另一种设置自定义纸张尺寸的方法

recordDoc.DefaultPageSettings.PaperSize = new PaperSize("210 x 297 mm", 800, 800);
PrintPreviewDialog ppvw = new PrintPreviewDialog();
ppvw .Document = recordDoc;
ppvw.ShowDialog();
Run Code Online (Sandbox Code Playgroud)

希望它有效.

  • 能告诉你,800,800是什么意思? (2认同)
  • @Fawad 在这个构造函数中,PaperSize 类接受 3 个参数:1-papersize 名称它与第二个和第三个参数无关 2-纸张的宽度 3-纸张的高度 检查这些链接以获取详细信息。https://msdn.microsoft.com/en-us/library/7dbh1cyh(v=vs.110).aspx https://msdn.microsoft.com/en-us/library/system.drawing.printing.papersize( v=vs.110).aspx (2认同)
  • @Fawad:800, 800 指定页面大小为 8" x 8"。(它是宽度和高度,以百分之一英寸为单位。) (2认同)

lak*_*raj 1

纸张大小的构造函数是 PaperSize(String, Int32, Int32)

5.0 (5) X 5.0 (5) 太小,,, 除非“自定义尺寸”是您的字符串.. 或 A2 的 420 x 594...

并尝试枚举 Printer.PaperSizes 中的每个 PaperSize 尺寸并检查 A2 是否存在..

默认情况下,它将 Rawkind 设置为自定义,您还需要按照http://msdn.microsoft.com/en-us/library/system.drawing.printing.papersize.rawkind.aspx中所述设置 Rawkind