Teraz próbuję napisać prosty program w języku C#, który wysyła polecenie do drukarki, aby wydrukować zwykły tekst, ale nie wiem jak to zrobić. Istnieją 2 główne problemy, z którymi teraz borykam się,Jak napisać i wysłać polecenie do drukarki etykiet serii Brother QL?
1, Jak komunikować się z drukarką?
Po jakiejś wyszukiwarki Google, ale nie uzyskania satysfakcjonującego rezultatu poszedłem do strony głównej Brothers i znaleźli tam tzw b-PAC3 SDK
Po pobraniu i zainstalowaniu go, w katalogu, w którym jest zainstalowany, znalazłem folder o nazwie "Samples" - istnieją przykładowe kody napisane w różnych językach (VB, VS, VSC, ...). Miałem nadzieję, że te przykładowe kody zadziałają, ponieważ ten SDK i drukarka pochodzą z tej samej firmy. Ale oni nie. Pokażę wam jedną z tych próbek tutaj: (kod w C#)
/*************************************************************************
b-PAC 3.0 Component Sample (RfidRW)
(C)Copyright Brother Industries, Ltd. 2009
*************************************************************************/
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleSampleCSharp
{
class Program
{
private const int NOERROR = 0;
private const string ANTENNA_READER_WRITER = "Reader/Writer side";
static void Main(string[] args)
{
// Create Rfid Instance
bpac.RfidClass rfid = new bpac.RfidClass(); // Rfid Instance
string selectedDevice; // selected device
/* GetInstalledDevices */
Console.WriteLine("==GetInstalledDevices()==");
object[] arrDevices = (object[])rfid.GetInstalledDevices();
if (rfid.ErrorCode == NOERROR)
{
Console.WriteLine("Succeed to GetInstalledDevices()");
int index = 0;
foreach (string device in arrDevices)
{
Console.WriteLine(String.Format("[{0}] {1}", index, device));
index++;
}
// select device
Console.WriteLine("Please Select Device");
int selectedDeviceIndex = int.Parse(Console.ReadLine());
selectedDevice = arrDevices[selectedDeviceIndex].ToString();
}
else
{
Console.WriteLine("Failed to GetInstalledDevices()");
goto CleanUp;
}
// ....
}
}
}
Kiedy uruchomić ten kod, pierwszy problem wychodzi: (ona wyświetlona dokładnie tak, jak w cytując mieszkiem, przepraszam, nie mogę zakładać obraz należytej do niskiej reputacji)
== GetInstalledDevices() ==
uda się GetInstalledDevices()
Proszę Wybierz urządzenie
Nie było żadnego błędu, ale wygląda na to, że program nie może znaleźć mojego urządzenia, nie mam pojęcia, dlaczego tak się dzieje.
2, Jak napisać polecenie w stylu QL?
wiem, że każdy rodzaj drukarki ma własny język poleceń więc po poszukiwaniach na stronie Brother znalazłem odniesienia:
Brother QL Series Command Reference (QL-500/550/560/570/580N/ 650TD/700/1050/1060N)
ja nie mam doświadczenia w pracy z drukarką termiczną i niestety nie jest żadną próbką w tym odwołaniu do polecenia, co sprawia, że naprawdę trudno jest mi ustalić, w jaki sposób polecenie powinno zostać napisane.
Czy ktoś wcześniej pracował z drukarkami serii Brother?
p.s: Drukarka że używam jest brat QL 560