Potrzebuję wysłać zawartość do drukarki w C# .NET w taki sam sposób, jak robi to polecenie PRINT
.Co Notepad robi inaczej pod maską niż polecenie PRINT?
Mam drukarkę termiczną Godex z dołączonym oprogramowaniem QLabel. Teraz ma opcję zapisania etykiety jako polecenia, które można przekazać do drukarki za pomocą polecenia wiersza polecenia: PRINT
. Plik wygląda następująco:
^Q80,3
^W100
^H10
^P1
^S3
^AD
^C1
^R2
~Q+0
^O0
^D0
^E35
~R200
^L
Dy2-me-dd
Th:m:s
AH,0,0,1,1,0,0,X
AH,744,0,1,1,0,0,X
AH,746,560,1,1,0,0,X
AH,0,550,1,1,0,0,X
AG,160,208,1,1,0,0,
AA,234,283,1,1,0,0,Haloo
E
To działa, gdy robię coś takiego:
net use LPT2 \\localhost\godexUsbPrinter /yes
print /D:LPT2 label.cmd
I drukuje moją wytwórnię ładnie.
Teraz, jeśli otworzę to w notatniku i wydrukuję, po prostu wydrukuje mi ten tekst.
Zastanawiam się, co robi komenda PRINT
pod maską i jak mogę programować mój program oparty na C# do replikacji zachowania? Ponieważ kiedy wdrażam logikę drukowania, po prostu drukuje mi zwykły tekst, tak jak robi to notatnik.
Wiem, że mógłbym wywołać komendę PRINT
z Process.Start z C#, ale muszę przez cały czas zastępować pewną wartość zastępczą w szablonie etykiety. Mógłbym utworzyć tymczasowy plik na dysku i wydrukować go, ale wolałbym uniknąć takiego scenariusza.
Domyślam się, że przekłada^Q i takie na odpowiednie znaki sterujące –
print nie robi nic pod maską w tym względzie, to jest różnica. Notatnik stara się wyświetlać wszystkie znaki w pliku, ale prawdopodobnie usuwa niektóre niedrukowalne znaki. –