【发布时间】:2014-03-31 23:47:33
【问题描述】:
几天前,我尝试通过右键单击照片来打印照片。出现一个对话框来选择打印机、纸张大小、质量等。我选择PaperSize = Legal。打印机可以在 Legal 尺寸的纸张上打印(我使用的是 HP LaserJet 1020 plus 打印机)。
现在我正在尝试从 C# 打印一些东西,设置 PaperSize,但打印机无法打印 Legal。下面是我的代码。代码有什么问题吗?
this.printDocument.PrinterSettings.PrinterName = this.printSetting.PrinterName;
PaperSize pkCustomSize1 = new PaperSize("8.5x13", 1300, 850);
this.printDocument.DefaultPageSettings.PaperSize = pkCustomSize1;
this.printDocument.DefaultPageSettings.PaperSize.RawKind = 119;
printPreviewDialog.Document = printDocument;
printDocument.Print();
private void printDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Graphics g = e.Graphics;
Bitmap bm = new Bitmap(300, 3000);
// Code for bm.
g.DrawImage(bm, 0, 0);
}
所以问题是,设置 PaperSize(和 PrinterSetting)的正确方法是什么?
还有一件事,我搜索了一台打印机的MaximumPrintableArea。我的打印机最大 A4 尺寸,为什么会在 Legal 上打印?
【问题讨论】: