使用PrintDocument和Settings打印文档副本时出现问题 [英] Problems Printing Copies of Documents using PrintDocument and Settings

查看:371
本文介绍了使用PrintDocument和Settings打印文档副本时出现问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





我对C#很陌生,我在打印包含图形元素的PrintDocument时遇到了问题。打印输出工作质量很好(从使用Bitmaps换成EMF),纸张尺寸现在正确。我遇到的问题是金额。



背景:

我想做的是制作贴纸(这个有效)

打印贴纸根据在Windows.Form.TextBox中输入的数量(问题)



我得到的是一份副本。

任何信息,我做错了什么?或想法?



Thanx。



这里我的代码:



  private   void  printDocument1_PrintPage( object  sender,System.Drawing.Printing.PrintPageEventArgs e)
{
// 填充e.Graphics元素大小74mm x 34mm
// 工作正常
EmfImagePrintout(e.Graphics, 74 34 100 );
}

private void button1_Click( object sender,EventArgs e)
{
PrintDocument PrintDocEtikettKlein = new PrintDocument();

// 搜索此代码片段的年龄段有问题,
// 打印输出使用A4虽然我使用不同的贴纸
// 可打印区域。
// 所以我所做的就是在打印机驱动程序中创建PaperSize
// 现在从那里调出信息。

PaperSize Before = PrintDocEtikettKlein.DefaultPageSettings.PaperSize;
IEnumerable< PaperSize> paperSizes = PrintDocEtikettKlein.PrinterSettings.PaperSizes.Cast< PaperSize>();
PaperSize VET1 = paperSizes.First< PaperSize>(size = > size.PaperName == VET-1(Typenschild));

// 执行此操作时,我读取它可能在某些情况下无效
PrintDocEtikettKlein.DefaultPageSettings.PaperSize = VET1;
PrintDocEtikettKlein.PrinterSettings.DefaultPageSettings.PaperSize = VET1;


PrintDocEtikettKlein.DefaultPageSettings.PrinterSettings.Copies = 4 ;
PrintDocEtikettKlein.PrinterSettings.DefaultPageSettings.PrinterSettings.Copies = 4 ;

PrintDocEtikettKlein.PrintPage + = new PrintPageEventHandler(printDocument1_PrintPage);

PrintDialog PrnDlg = new PrintDialog();

// PrnDlg.ShowDialog();
if (PrnDlg.ShowDialog( this )== DialogResult.OK)
{
PrintDocEtikettKlein 。打印();
}


PrintDocEtikettKlein.PrintPage - = new PrintPageEventHandler(printDocument1_PrintPage);
}

解决方案

PrinterSettings.Copies Property(System.Drawing.Printing) [ ^ ]

Hi,

I'm pretty new to C# and I've had problems with printing an PrintDocument containing a Graphics-Element. Printout works fine quality is good (swapped from using Bitmaps to EMF's) and paper size is now correct. The problem I have is the amount.

Background:
What I want to do is create the sticker (this works)
print the sticker according to amount entered in a Windows.Form.TextBox (Problem)

All I get is one copy.
Any info, what I'm doing wrong? Or ideas?

Thanx.

Here my code:

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
    // Fills the e.Graphics Element Size 74mm x 34mm
    // Works fine
    EmfImagePrintout(e.Graphics, 74, 34, 100); 
}

private void button1_Click(object sender, EventArgs e)
{
    PrintDocument PrintDocEtikettKlein = new PrintDocument();

// Searched ages for this code snipit Had problems, 
// the printout used an A4 although I'm using stickers with different 
// Printable Areas. 
// So what I done was create a PaperSize in the Printer Driver 
// and now call up the Info from there.

    PaperSize Before = PrintDocEtikettKlein.DefaultPageSettings.PaperSize;
    IEnumerable<PaperSize> paperSizes = PrintDocEtikettKlein.PrinterSettings.PaperSizes.Cast<PaperSize>();
    PaperSize VET1 = paperSizes.First<PaperSize>(size => size.PaperName == "VET-1 (Typenschild)");

// doing this double as I read it might not work in some situations
    PrintDocEtikettKlein.DefaultPageSettings.PaperSize = VET1;
    PrintDocEtikettKlein.PrinterSettings.DefaultPageSettings.PaperSize = VET1;


    PrintDocEtikettKlein.DefaultPageSettings.PrinterSettings.Copies = 4;
    PrintDocEtikettKlein.PrinterSettings.DefaultPageSettings.PrinterSettings.Copies = 4;

    PrintDocEtikettKlein.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);

    PrintDialog PrnDlg = new PrintDialog();

    //PrnDlg.ShowDialog();
    if (PrnDlg.ShowDialog(this) == DialogResult.OK)
    {
        PrintDocEtikettKlein.Print();
    }


    PrintDocEtikettKlein.PrintPage -= new PrintPageEventHandler(printDocument1_PrintPage);
}

解决方案

PrinterSettings.Copies Property (System.Drawing.Printing)[^]


这篇关于使用PrintDocument和Settings打印文档副本时出现问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆