读书人

C# PrintDocument调用针式打印机没有反

发布时间: 2013-08-04 18:26:16 作者: rapoo

C# PrintDocument调用针式打印机没有反应,调用普通打印机可以打出来, 求高手指点!!!
十万火急, 客户催得我想跳楼

这是我的打印代码


public PrintDocument pdDocument;
public PageSetupDialog dlgPageSetup;
public PrintPreviewDialog ppd;
public PrintDialog pd;
private string[] lines;

public string[] Lines
{
get
{
if (ViewState["Lines"] != null)
return ViewState["Lines"] as string[];
return null;
}
set
{
lines = value;
ViewState["Lines"] = lines;
}
}

public PrintHelper()
{
pdDocument = new PrintDocument();
dlgPageSetup = new PageSetupDialog();
ppd = new PrintPreviewDialog();
pd = new PrintDialog();
dlgPageSetup.Document = pdDocument;
pd.Document = pdDocument;
ppd.Document = pdDocument;
pdDocument.PrintPage += new PrintPageEventHandler(pdDocument_PrintPage);


pdDocument.BeginPrint += new PrintEventHandler(pdDocument_BeginPrint);
pdDocument.EndPrint += new PrintEventHandler(pdDocument_EndPrint);
}

void pdDocument_EndPrint(object sender, PrintEventArgs e)
{
lines = null;
}

void pdDocument_BeginPrint(object sender, PrintEventArgs e)
{

}

/// <summary>
/// 开始打印
/// </summary>
public void Print()
{
try
{
pdDocument.Print();
}
catch (InvalidPrinterException ex)
{
File.WriteAllText("c://test.txt", ex.Message, Encoding.UTF8);
}
}


void pdDocument_PrintPage(object sender, PrintPageEventArgs e)
{
int x = 20;
int y = 20;
int count = 0;
while (count < Lines.Length)
{
e.Graphics.DrawString(Lines[count], new Font("微软雅黑", 20), System.Drawing.Brushes.Black, x, y);


y += 50;
count++;
}
count = 0;
e.HasMorePages = false;
}



打印机用的佳博GP-7635III 76m针式打印机。
无奈无论如何也打印不出来。

求高手指点 !!!
[解决办法]
楼主加油,帮楼主顶!!!
[解决办法]
PrintDocument支持佳博打印机?
[解决办法]
未必所有的打印机都会使用微软提供的打印接口,联系打印机生产商,找打印接口。用C#调用试试看。
[解决办法]
引用:
我怀疑是不是针式打印机驱动没有安装好。


读书人网 >C#

热点推荐