Drucken



  • Hallo kann ich über consolen anwendung Drucken?
    wenn ja kann mir einer quellcode geben ?



  • steve02 schrieb:

    Hallo kann ich über consolen anwendung Drucken?

    Sollte über die WinAPI gehen. Was willst du drucken?

    steve02 schrieb:

    wenn ja kann mir einer quellcode geben ?

    Nö, höchstens Hinweise und Links.





  • ich möchte daten die ich zuvor in ne datei gespeichert hab drucken



  • HDC drucker = CreateDC("WINSPOOL", "RICOH Aficio 1515 RPCS", NULL, NULL);
    
    	DOCINFO dokument_info;
    
    	memset(&dokument_info, 0, sizeof(DOCINFO));
    	dokument_info.cbSize	= sizeof(DOCINFO);
    	dokument_info.lpszDocName	= "testdruck";
    
    	char *String = "Testdruck";
    
    	// drucken
    	StartDoc(drucker, &dokument_info);
    	StartPage(drucker);
    
    	// Inhalt ausgeben
    
    	TextOut(drucker, 70, 70, String, strlen(String));
    
    	TextOut(drucker, 10, 17, String, strlen(String));
    
    	EndPage(drucker);
    	EndDoc(drucker);  // Dokument wird geschlossen
    
    	DeleteDC(drucker);
    
    	return 0;
    

    Ich weiß nicht, ob es einen eleganteren Weg gibt. So hats auf jeden Fall bei mir geklappt. Du wirst die Datei aber sicherlich manuell auslesen müssen.



  • danke werds gleich mal antesten



  • geht auch ohne WinAPI mit Streams, du öffnest nen ofstream Stream und öffnest:

    ofstream out("LPT1");
    

    meines erachtens nach, dann schreibst du was du an den Drucker übergeben willst als würdest du mit cout arbeiten und schließt das ganze mit einem Flag ab, ich glaube es handelt sich um \p.
    Also:

    out <<"\p";
    

    Entschuldige das ich es nicht genau weis, aber hab das lange nicht gemacht, vielleicht kann mir ja jemand auf die Sprünge helfen.



  • hiermit gehts auch, aber dann wird der text halt nach den einstellungen wie du sie im normalen texteditor hast ausgedruckt:

    #include <windows.h>
    
    using namespace std;
    
    int main()
    {
        char ort[] = "text.txt";
        ShellExecute(0, "print", ort, 0, 0, SW_HIDE);
    }
    

    is jedoch wie schon gesagt so dass wenn du im texteditor eingestellt hast, dass er den text im querformat drucken soll dann druckt ers halt im querformat.
    hoff ich konnt trotzdem irgendwie helfen.


Anmelden zum Antworten