Zum Inhalt springen

Bild / Text drucken ( nicht .NET mit Schriftartauswahl )


Empfohlene Beiträge

Geschrieben

Hallo.

Da mein Theard Schriftarten von Drucker Verwenden bis jetzt noch nicht beantwortet wurde und ich eine Idee gefunden hab, die leider nicht zum Alten Forumbereich passt, eröffne ich diesen Neuen theard

Also ich habe herausgefunden, dass mein Drucker ( Epson Tm-88II ) nur im Grafikmodus Langsam druckt. ( z.B. Bilder, etc ). Und bei .NET läuft ja alles unter GDI+ und es werden ja Strings "gemalt". Darum ist es wahrscheinlich auch langsam.

Meine idee ist es Daten wie in Exel zu drucken, also direkt den Text ( Idee, etwas über "RAW" ansteuern )

Wie geht das genau?

Liebe Grüße

Geschrieben

Ich weiss wie man RAW Daten an den Drucker sendet


BOOL RawDataToPrinter(LPSTR szPrinterName, LPBYTE lpData, DWORD dwCount)

{

  HANDLE hPrinter;

  DOC_INFO_1 DocInfo;

  DWORD dwJob;

  DWORD dwBytesWritten;


  // Need a handle to the printer.

  if( ! OpenPrinter( szPrinterName, &hPrinter, NULL ) )

    return FALSE;


  // Fill in the structure with info about this "document."

  DocInfo.pDocName = "My Document";

  DocInfo.pOutputFile = NULL;

  DocInfo.pDatatype = "RAW";


  // Inform the spooler the document is beginning.

  if( (dwJob = StartDocPrinter( hPrinter, 1, (LPSTR)&DocInfo )) == 0 )

    {

      ClosePrinter( hPrinter );

      return FALSE;

    }


  // Start a page.

  if( ! StartPagePrinter( hPrinter ) )

    {

      EndDocPrinter( hPrinter );

      ClosePrinter( hPrinter );

      return FALSE;

    }


  // Send the data to the printer.

  if( ! WritePrinter( hPrinter, lpData, dwCount, &dwBytesWritten ) )

    {

      EndPagePrinter( hPrinter );

      EndDocPrinter( hPrinter );

      ClosePrinter( hPrinter );

      return FALSE;

    }


  // End the page.

  if( ! EndPagePrinter( hPrinter ) )

    {

      EndDocPrinter( hPrinter );

      ClosePrinter( hPrinter );

      return FALSE;

    }


  // Inform the spooler that the document is ending.

  if( ! EndDocPrinter( hPrinter ) )

    {

      ClosePrinter( hPrinter );

      return FALSE;

    }


  // Tidy up the printer handle.

  ClosePrinter( hPrinter );


  // Check to see if correct number of bytes were written.

  if( dwBytesWritten != dwCount )

    return FALSE;


  return TRUE;

}

Aber damit bin ich nicht weiter gekommen, trozdem danke

Gast
Dieses Thema wurde nun für weitere Antworten gesperrt.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...