Labeldrucker



  • Hallo allerseits,

    ich hätte gern gewusst, was ein Labeldrucker für Eigenschaft nachweisen muss, damit er mit fopen(), fputs() und fclose() ansprechbar ist? Sagt man, "er muss netzwerkfähig sein" oder "C-Programmierungsschnittstelle unterstützen"? Oder reicht die Erste, weil die Letztere damit gesichert ist?

    Am PC meines Kollegen ist ein Brother PT-9700PC angeschlossen.

    - Aus Notepad kann ich Text auf Band des Druckers drucken und schneiden lassen.
    - Mit Printer()->Printers kann ich diesen Drucker aus der Liste der installierten Drucker auswählen.
    - ABER ich kann den Drucker nicht zum Schreiben öffnen. Für den folgenden Code bleibt printerhandle auf NULL.
    FILE* printerhandle= fopen(Druckername, "wt");

    Schönen Gruß,
    Permana



  • Die Labeldrucker, mit denen ich bisher gearbeitet habe (Epson/BOCA) wollten über die serielle oder parallele Schnittstelle direkt angesprochen werden und nicht als Windows Drucker. Näheres findest du bestimmt im Manual des entsprechenden Druckers.
    Inwiefern fopen()/fputs zu empfehlen sind kann ich nicht sagen, aber das sind Relikte aus DOS Zeit (jedenfalls in Kombination mit Druckernamen) und ich würd´s heute nicht mehr so machen wollen.



  • Also um etwas auf den Drucker ausgeben zu können, musst du das was zu ausgeben willst "zeichnen". D.h. du musst den auf den Canvas des Druckers zeichnen und dann den Druckvorgang starten. Texte und Bilder müssen mit den Canvas Methoden wie TextOut oder Draw erst gezeichnet.

    Siehe mal hier:

    http://www.c-plusplus.net/forum/171471?highlight=printer

    fopen und die anderen Anweisungen sind nicht dafür geeignet.



  • Hawkxxx schrieb:

    Also um etwas auf den Drucker ausgeben zu können, musst du das was zu ausgeben willst "zeichnen". D.h. du musst den auf den Canvas des Druckers zeichnen und dann den Druckvorgang starten. Texte und Bilder müssen mit den Canvas Methoden wie TextOut oder Draw erst gezeichnet.

    Siehe mal hier:

    http://www.c-plusplus.net/forum/171471?highlight=printer

    fopen und die anderen Anweisungen sind nicht dafür geeignet.

    Doch, das geht auch. Zumindest die beiden o.g. sprechen ein einfaches ASCII Protokoll und können "roh" über LPT1: oder PRN: bedient werden.
    Du hast vermutlich "normale" Drucker mit einem Labelprinter verwechselt.



  • Rohdaten kann man an alle Windows-Drucker senden, das geht auch mit Etikettendruckern an USB oder Ethernet, wenn deren Treiber installiert ist.

    http://support.microsoft.com/kb/138594/en-us



  • Hi,
    ich habe, wie Hawkxxx geschrieben, Labels für einen Zebra-Labeldrucker (USB sowie Netzwerk) generiert und dann gedruckt. 😃

    Gruß Torsten


Log in to reply