M
Hi,
ich benutze folgende Routine zum Drucken.
if(dlgPrint.DoModal()==IDOK)
{
CDC dcPrint;
dcPrint.Attach(dlgPrint.GetPrinterDC());
DOCINFO myPrintJob;
myPrintJob.cbSize = sizeof(myPrintJob);
myPrintJob.lpszDocName = "MeinDruckAuftrag"; //Name des Druckaftrages
myPrintJob.lpszOutput = NULL;
myPrintJob.lpszDatatype = NULL;
myPrintJob.fwType = NULL;
if(dcPrint.StartDoc(&myPrintJob)>=0)
{
dcPrint.StartPage();
dcPrint.TextOut(0,0,"Dies" ); //Die beiden Ziffern sind x und y Coordinaten
dcPrint.TextOut(240,40,"ist"); //x = 30 == ein Buchstabe nach rechts
dcPrint.TextOut(420,0,"ein Beispiel Text"); //y = 40 == ein Buchstabe nach unten
dcPrint.EndPage();
dcPrint.EndDoc();
}
dcPrint.DeleteDC();
}
Das klappt auch ab und zu, aber manchmal liefert dcPrint.StartDoc einen Wert kleiner 0 zurück, so dass dementsprechend nicht gedruckt wird.
Der Fehler tritt vor allem dann auf, wenn ich mit einem PDF-Druckertreiber drucke.
Weiß jemand, waran das liegen könnte?
Gruß
Chris