In Windows-Applikation einfachen Text auf Drucker ausgeben


  • Mod

    Nein es geht nicht mit tabs, weil dies Sonderzeichen sind, die in der Interpretation jedem Gerät freistehen.

    Lass die Finger von der RAW Ausgabe.
    Es gibt genug Engines die das locker abbilden.



  • Lass die Finger von der RAW Ausgabe.
    Es gibt genug Engines die das locker abbilden.

    darf ich auch fragen welche engines du meinst? oder wie ich jetzt vlt mein problem lösen könnte 🙂



  • Abgesehen davon das Herr Richter natürlich recht hat ;), könntest du dir auch einfach ne Funktion schreiben die die deine Tabs automatisch mit Leerzeichen ersetzt?



  • jawohl das ist eine gute idee, aber wieso die finger von raw ausgaben lassen ?


  • Mod

    1. Weil z.B. ein Postscript Drucker hier garantiert nur Mist ausgibt.
    2. Andere Drucker geben gar nichts aus, weil kein "Default-Font" per se existiert.
    3. Weil Du keine Ahnung hast ob ein Fixed-Font oder proportional-Font engestellt wird.
    4. Weil Du keine Kontrolle über die Seitengröße hast und keine Ahnung wie groß die Schrift wirklich ist.
    5. Weil Du nicht weißt wann am rechten Rand ein Umbruch erfolgt und ob überhaupt.
    6. Weil Du unwissend Steuercode an den Drucker senden könntest die zum Beispiel zum "explodieren der Farbkartusche" 🤡 führen...

    Wieviele Gründe möchtest Du noch?

    Hast Du schon mal in Codeproejct nachgesegen?
    http://www.codeproject.com/KB/printing/

    BTW: Ich benutze die MFC und habe diese Klassen mir ausgebaut:
    http://www.codeproject.com/KB/printing/printingmadeeasy.aspx



  • Weil anscheinend nicht alle Geräte mit Steuerzeichen gleich umgehen. Wie geschrieben, mit einem "echten" Drucker habe ich es nicht probiert.
    Also entweder sich an der Antwort von Probe-Nutzer (inkl. link) ausrichten oder bei Codeproject einmal ein wenig suchen.



  • das langt an gründen.
    aber das heißt hoffentlich nicht, dass ich mir in meinem Texteditor auch keine "raw" oder "strings" ausgeben sollte, oder? also ich muss diese daten anscheinend umkonvertieren bevor ich sie an den drucker sende, mein ganzes programm ist nämlich darauf aufgebaut dass die strings im editor erscheinen so wie sie sind.

    ich dachte außerdem mfc -klassen können nur mfc projecten zugefügt werden


  • Mod

    Ja: MFC Klassen können nur MFC Projekten hinzugefügt werden. Du hast mich gefragt was ich verwende. Ichhabe geantwortet. D.h. nicht, dass es für Dich nutzbar ist 🕶

    Mit Garantie erscheinen Ausgaben im Text/Raw Modus nicht so wie in Deinem Editor, denn Duhast auch keine Ahnungh welche Umlaute und Zeichnsatzkonvertierungen benutzt werden.

    Geh den DC Mode. D.h. gib die Daten so aus, wie Du es mit DrawText/TextOut auf GDI und Bildschirm sonst auch tust.



  • hallo!
    sollte man ernsthaft keine roharrays an den drucker senden? bis auf die sonderzeichen sollte es da doch keine probleme geben?
    und wie hast du das problem mit den tabs jetzt gelöst noPeil? also ich meine ohne mfc project ist das unmöglich 🙂



  • Hi!

    Ich habe ein Problem bei der konvertierung in pdf mit Adobe Acrobat.

    Codebsp.:

    if(iLine==0)
    {
    TextOut(pd.hDC,150,ychariLine,string,strlen(string))
    TextOut(pd.hDC,2500,ychar
    iLine,string2,strlen(string2))
    }

    Der 2te string wird mit TextOut nicht an der Stelle 2500 (x-parameter) postioniert sondern ist nach links verschoben.

    dies geschieht nur bei der adobe original version, bei freewareversionen funktioniert diese methode einwandfrei.

    Kann mir jemand erklären wie ich das beheben kann


Anmelden zum Antworten