Drucken - StartDoc liefert Fehler



  • 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


Anmelden zum Antworten