PostScript Fonts in C++ .NET Drucken
-
Wahrscheinlich arbeitet der Drucker wenn er schnell druckt im Textmodus und wenn er langsam druckt im Grafikmodus.
Da das normale Drucken in .net über GDI+ läuft, druckst du immer Grafik und damit langsam.
Vermutlich musst du den Drucker als Raw-Printer ansteuern, so wie hier im letzten Code im untersten Posting in der Funktion "RawDataToPrinter" (stamm aus dem MSDN).
http://www.c-plusplus.net/forum/viewtopic-var-p-is-158551.html
-
Tut mir leid. Aber solange ich eine Antwort bekomme, ist es mir recht
ich hab eine Alternatividee:
In exel wird die Schriftart angezeigt und in der gewünschten geschwindigkeit gedruckt ( FontA11 )
http://img7.imageshack.us/img7/2606/schriftarteninexel.png
Weiss jemand, wie ich genau das Selbe Drop-Down menü erzeugen kann und dann vielleicht mit FontA11 drucken kann?
Danke
-
Da da ein Druckersymbol vor den Fontnamen ist, handelt es sich um Druckerfonts. D.h. die sind im Drucker nicht auf dem PC.
Wahrscheinlich werden die Fonts über Steuerzeichen ausgewählt, die zusätzlich zum Text an den Drucker geschickt werden. Gibt es da eventuell ein Handbuch, wo die Druckersprache beschrieben ist ?
-
Super Idee. Deine Umsetzung klingt für mich logisch.
Aber wie wähle ich bei deinem Beispielcode die Schriftart aus?
-
Ich kenn das nur von Etikettendruckern, da ist normalerweise eine Anleitung dabei, wo das drinsteht.
Vermutlich gibt es auch noch einen Weg über die WinApi einen Textdrucker anzusprechen, vermutlich macht es Excel auch so. Da kenn ich mich aber nicht aus, ich kenne nur Doku die Grafikdruck über GDI oder GDI+ zeigt.
Frag evtl. mal im WinApi Unterforum, wenn sich hier keiner meldet.
-
Der Drucker wird wahrscheinlich am LPT1 hängen?
Wenn ja (oder LPT2 falls vorhanden), Du kannst mit einem Stream in den LPT schreiben, ohne Drucker-Klassen etc. Sendet einfach nur die Zeichen an den LPT. Wahrscheinolich druckt der Drucker dann schon in einer "Standardschrift" wenn Du nichts weiter tust, aber kannst die Schrift und Grösse dann mit Steuerzeichen (esc-Sequenzen) wählen; die musst Du im Druckerhandbuch nachsehen und vor dem Text einfach auch in den Stream schreiben. Habe ein Beispiel für meinen Epson LQ-1070 programmiert aber es nicht gerade zur Hand (bei Bedarf kann ich es ein anderes Mal posten)!
-
Der Vorteil von RawDataToPrinter ist ja, dass es auch direkt die Bytes an den Drucker sendet und zwar unabhängig von der Schnittsteller an der er hängt.
Es muss nur der Druckertreiber installiert sein.
-
Das ist natürlich ein VOrteil (habe diese Funktion noch nie benutzt). Müsste per p/invoke aufgerufen werden...
-
C. M. Obrecht schrieb:
Müsste per p/invoke aufgerufen werden...
In C++/CLI sollte es auch so gehen.
Hier mal die relevanten MSDN Einträge:
http://support.microsoft.com/?scid=kb%3Ben-us%3B138594&x=17&y=9
http://support.microsoft.com/?scid=kb%3Ben-us%3B322091&x=18&y=12
http://support.microsoft.com/?scid=kb%3Ben-us%3B322090&x=13&y=11
-
Dieser Thread wurde von Moderator/in Marc++us aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.