我正在打印文档并尝试更改纸张大小,但它不起作用。当我添加纸张尺寸时,它会以默认尺寸打印文档。我的纸张尺寸不起作用。namespace WC_manager{ public partial class tagprint : Form { Zen.Barcode.Code39BarcodeDraw objCode = Zen.Barcode.BarcodeDrawFactory.Code39WithChecksum; int tagNo = 0; PrinterSettings ps = new PrinterSettings(); public tagprint() { InitializeComponent(); } private void label1_Click(object sender, EventArgs e) { } private void printBtn_Click(object sender, EventArgs e) { if(tagNo != 0) { pictureBox1.Image = objCode.Draw(Convert.ToString(tagNo), 100); var doc = new PrintDocument(); doc.PrintPage += new PrintPageEventHandler(ProvideContent); doc.PrinterSettings.PrinterName = "Adobe PDF"; doc.DefaultPageSettings.PaperSize = new PaperSize("Custom",10,10); doc.Print(); } else { MessageBox.Show("Enter Valid Tag no"); } } private void tagTxtFld_TextChanged(object sender, EventArgs e) { tagNo = Convert.ToInt32(tagTxtFld.Text); } public void ProvideContent(object sender, PrintPageEventArgs e) { Graphics graphics = e.Graphics; Font font = new Font("Courier New", 10); float fontHeight = font.GetHeight(); graphics.DrawImage(objCode.Draw(Convert.ToString(tagNo), 20), 0, 2, 30, 30); } }}
2 回答
守着一只汪
TA贡献1872条经验 获得超3个赞
您没有指定合理的纸张尺寸尺寸:
doc.DefaultPageSettings.PaperSize = new PaperSize("Custom",10,10);
第二个和第三个参数分别是纸张的宽度和高度。但重要的是,这些值的单位始终是百分之一英寸。
因此,您已要求打印机驱动程序打印只有 1/10 英寸宽和高的页面。
当我使用已安装的 PDF 驱动程序尝试此操作时,它会忽略提供的大小,并打印到标准 Letter 大小(即 8.5 x 11 英寸)的页面。
如果这是您的实际意思,那么您需要使用可以接受该尺寸纸张的打印机。你可能会发现这样做很困难。
但是,更有可能的是,您打算使用其他尺寸。例如,如果您尝试在 10 英寸见方的页面上打印,则需要传递每个值。或者,如果您尝试在 10 厘米见方的页面上打印,则需要传递每个值(并接受实际上只是略高于 10 厘米的事实)。1000
394
底线:传递纸张宽度和高度的有效值,它就会起作用。百分之十英寸对于这两个参数中的任何一个都不是有效值。
- 2 回答
- 0 关注
- 147 浏览
添加回答
举报
0/150
提交
取消