WPF 4.0:
Es geht um Etikettendruck auf einem speziellen Drucker, der im Netzwerk freigegeben ist. Mit den Windows 7 Rechnern funktioniert alles tadellos.
Nur auf einem XP Rechner gibt es im Try / Catch - Block bei PrintVisual eine Exception. Was muss ich da tun?
Mit Notepad kann man übrigens auf dem Gerät drucken, Treibermäßig scheint also alles ok zu sein.
Danke - Günther
[highlight=c#]
public void Print()
{
if (PrintDlg == null) PrintDlg = new PrintDialog();
PrintServer PrintServer = null;
string PrinterName = "";
try
{
PrintServer = new PrintServer(@"\\SWR_BODO");
foreach (PrintQueue Q in PrintServer.GetPrintQueues())
{
if (Q.Name == "MAX CPM-100")
{
PrinterName = Q.Name;
break;
}
}
}
catch
{
MessageBox.Show("Der Werkstattrechner ist ausgeschaltet");
return;
}
if (PrinterName == "")
{
MessageBox.Show("Drucker MAX CPM-100 nicht gefunden");
}
else
{
PrintDlg.PrintQueue = new PrintQueue(PrintServer, PrinterName);
}
PrintTicket T = PrintDlg.PrintTicket;
T.PageOrientation = PageOrientation.Portrait;
PrintDlg.PrintTicket = T;
if (PrintDlg.ShowDialog() == true)
{
try
{
PrintDlg.PrintVisual(MyCanvas, "Label_Print");
}
catch (Exception x)
{
MessageBox.Show(x.Message);
}
[/highlight]
Es geht um Etikettendruck auf einem speziellen Drucker, der im Netzwerk freigegeben ist. Mit den Windows 7 Rechnern funktioniert alles tadellos.
Nur auf einem XP Rechner gibt es im Try / Catch - Block bei PrintVisual eine Exception. Was muss ich da tun?
Mit Notepad kann man übrigens auf dem Gerät drucken, Treibermäßig scheint also alles ok zu sein.
Danke - Günther
[highlight=c#]
public void Print()
{
if (PrintDlg == null) PrintDlg = new PrintDialog();
PrintServer PrintServer = null;
string PrinterName = "";
try
{
PrintServer = new PrintServer(@"\\SWR_BODO");
foreach (PrintQueue Q in PrintServer.GetPrintQueues())
{
if (Q.Name == "MAX CPM-100")
{
PrinterName = Q.Name;
break;
}
}
}
catch
{
MessageBox.Show("Der Werkstattrechner ist ausgeschaltet");
return;
}
if (PrinterName == "")
{
MessageBox.Show("Drucker MAX CPM-100 nicht gefunden");
}
else
{
PrintDlg.PrintQueue = new PrintQueue(PrintServer, PrinterName);
}
PrintTicket T = PrintDlg.PrintTicket;
T.PageOrientation = PageOrientation.Portrait;
PrintDlg.PrintTicket = T;
if (PrintDlg.ShowDialog() == true)
{
try
{
PrintDlg.PrintVisual(MyCanvas, "Label_Print");
}
catch (Exception x)
{
MessageBox.Show(x.Message);
}
[/highlight]