请帮我说说如何用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)
希望它有效.
纸张大小的构造函数是 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