Program na PC do drukowania obrazków na drukarce etykiet Brother P-touch P300-BT


Aktualizacja

Obecna (załączona tutaj) wersja programu działa jako plik EXE i nie wymaga instalacji ani konfiguracji żadnego środowiska. Po prostu uruchom program, który znajduje się w archiwum w folderze /dist i ciesz się drukowaniem. Archiwum ZIP zawiera również kod źródłowy, który możesz przerobić według własnych potrzeb.


Po co mi drukarka etykiet?

Drukarka etykiet przydaje się w gospodarstwie domowym, jak również podczas oznaczania pudełek w warsztacie czy porządkowania kabelków w jakiejś wiązce. Można w tej samej roli wykorzystać zwyczajną drukarkę, do której załadowany będzie papier z warstwą kleju, ewentualnie (dodatkowo) podzielony na pojedyncze etykietki, jak na przykład taki:

https://www.ceneo.pl/149920570

To rozwiązanie się świetnie sprawdza podczas nadawania paczek czy etykietowania przypraw w kuchni, no ale wiadomo, mając całą kartkę z naklejkami, najlepiej zadrukować je na raz, hurtem. No i etykietki są zrobione ze zwykłego papieru, który nie jest odporny na warunki atmosferyczne, zatem przydałoby się je jakoś dodatkowo zabezpieczyć. Trzeba jednak przyznać, że toner jest bardzo odporny na upływ czasu i promieniowanie słoneczne, przez co nie blaknie z czasem.

W takich zadaniach wygodę zwiększa drukarka etykiet.

Rodzaje drukarek etykiet

Drukarka termiczna

Działa ona podobnie, jak drukarka paragonów w sklepie i ma tę samą kluczową wadę: wydruk blaknie z czasem na skutek podwyższonej temperatury i promieniowania słonecznego. Jednakże drukarka tego typu, podobnie jak i papier do niej, jest tania w zakupie i eksploatacji. Zaproponowana przeze mnie drukarka drukuje jedynie na wąskich taśmach, ale jeżeli macie potrzebę drukowania na większym formacie, to również znajdziecie coś w niewygórowanej cenie.

przykład drukarki termicznej: https://www.ceneo.pl/187474933

Drukarka termosublimacyjna

Jest trochę droższa w zakupie, korzysta z droższych kartridży i ma ograniczenia w wielkości wydruku, ale naklejki są w stanie znieść nawet wymagające warunki (ponieważ są plastikowe a nie papierowe) oraz nie odbarwiają się z upływem czasu (ponieważ materiał zmieniający kolor pod wpływem temperatury znajduje się wyłącznie w miejscach już zaczernionych, a nie na całej powierzchni etykietki).

Przykład drukarki termosublimacyjnej do użytku domowego: https://www.ceneo.pl/51109622

Brother P-Touch P300-BT

Drukarka ta jest w stanie wydrukować etykietkę o maksymalnej długości 50 cm. Akceptuje jedynie taśmy o szerokości do 12 mm. Rozdzielczość w osi Y (wysokość) wynosi 64 piksele.

Firma Brother produkuje drukarki etykiet dedykowane dla różnych segmentów, głównie dla profesjonalistów, jednak ich cena odstrasza. Podany przeze mnie model to najtańsze urządzenie tego typu od Brother, niepozbawione jednakże wad i kompromisów:

  1. spory kawałek etykietki się marnuje, ponieważ nożyk do odcinania etykietek znajduje się daleko od głowicy drukującej,
  2. dziwne zasilanie: bądź z użyciem baterii R6 (to OK), bądź zasilacza 9 V z okrągłym złączem z minusem na środku (czemu nie USB?),
  3. aplikacja dostępna jedynie na Androida albo iOS (brak możliwości drukowania z Windows), mająca ponadto kilka ograniczeń.

Marnowanie etykietek

Z tym zbyt wiele się nie zrobi. Można jedynie drukować kilka naklejek z rzędu i wysuwać je dopiero na końcu. Ponadto można korzystać z tanich kartridży, przez co marnowanie materiału etykietki boli mniej:

https://pl.aliexpress.com/w/wholesale-brother-p%2525252dtouch-cartridge.html

Zasilanie

Z tym problemem najprościej poradzić sobie za pomocą ładowarki USB-PD (czyli każdej współczesnej) oraz modułu typu PD-trigger, którego podłączenie do ładowarki wymusza na niej wygenerowanie napięcia spośród kilku wartości: 5, 9, 12, 15 bądź 20 V. Moduł należy najpierw skonfigurować lutując odpowiednią zworkę albo ustawiając przełączniki.

https://pl.aliexpress.com/w/wholesale-usb-pd-trigger.html

Do wyjścia modułu należy przylutować przewód z okrągłym złączem DC 2.5/5.5 (standardowa okrągła wtyczka), przy czym należy pamiętać o minusie w środku. Takie rozwiązanie działa niezawodnie i pozwala zapomnieć o problemie zasilania.

Aplikacja z ograniczeniami

Aplikacje sa dwie (na Androida; na iPhone nie sprawdzałem):

  • Design&Print2
  • iPrint&Label

Każda ma jakieś ograniczenia, np. na liczbę pól tekstowych albo formatowanie obrazków, ale obie razem zapewniają mniej więcej 100% potrzebnej funkcjonalności. Jednakowoż można je odpalić tylko na telefonie, co w przypadku użytku domowego i połączenia Bluetooth stanowi czasem problem i ograniczenie. Przyznajcie – tworzenie obrazków w Paint jest po prostu łatwiejsze, niż wyklikiwanie ich na ekranie smartfona.

Tutaj z pomocą przychodzi vibe-coding – aczkolwiek ChatGPT napisał, by tego tak nie nazywać, bo tworzenie aplikacji z kontrolą i świadomością architektury, to jego zdaniem coś więcej 🙂

Aplikacja do drukowania na PC

Darmowa aplikacja pozwalająca na drukowanie za pomocą PC powstała i dostępna jest tutaj:

https://github.com/Ircama/PT-P300BT

Żeby z niej skorzystać należy kliknąć zielony przycisk z napisem CODE, ściągnąć archiwum i rozpakować je. Należy oczywiście zainstalować Pythona. Program należy uruchomić z konsoli i czytać komunikaty błędów, które będą wskazywać na braki w zainstalowanych bibliotekach. Należy doinstalować je, po czym program powinien ruszyć.

Jak instalować biblioteki? – można to zrobić absolutnie najbardziej lamersko, ale i najprościej, poprzez skopiowanie komunikatów błędów z konsoli do Chata: należy zaznaczyć fragment ekranu z komunikatem błędu za pomocą Win+Shift+S i wkleić do okna Chata, po czym wykonać dokładnie to, co sugeruje Chat, by rozwiązać problem. Można nawet zrobić zdjęcie konsoli telefonem i wkleić je do Gemini.

Tak się teraz pracuje się z AI (ale czy to dobrze? – to już temat na inny wpis).

To nie koniec – co prawda aplikacja działa, ale należy jeszcze sparować drukarkę z komputerem. Zrobimy to za pomocą panelu Bluetooth (prawy dolny róg ekranu, ikonka na pasku zadań) -> Pokaż urządzenia Bluetooth -> Dodaj urządzenie. Drukarka powinna zostać znaleziona, ale po sparowaniu będzie wyświetlana w następujący sposób:

Na szczęście – tak ma być i to nie jest problem. Nie trzeba instalować żadnych sterowników.

Następnie należy wejść w Menedżer Zadań i rozwinąć pozycję Porty (COM i LPT) by dowiedzieć się, który wirtualny port został przypisany do drukarki.

Trzeba się przeklikać przez dostępne porty, jak widać trochę ich jest. Jeżeli na liście będzie pozycja z BTHENUM w nazwie (w polu “Informacje”), to jesteśmy w domu. Drukarka okupuje dwa wirtualne porty, interesuje nas ten o wyższym numerku (u mnie COM10).

Następnie należy uruchomić konsolę, wejść do folderu z aplikacją (czyli tam, gdzie wypakowaliśmy archiwum) i wywołać poniższą komendę:

python3 printlabel.py -sl COM10 "arial.ttf" "Lorem Ipsum"

po czym drukarka powinna zamigać diodą i wydrukować tekst. Najtrudniejsze już za nami 🙂

Problemy z tą aplikacją są dwa:

  1. Apka jest konsolowa i przez to niezbyt wygodna w użytku (to jest najmniejszy problem).
  2. Apka nie radzi sobie z poprawnym drukowaniem obrazków. Owszem, drukuje je, ale zawsze je skaluje usuwając niezadrukowaną przestrzeń dookoła obrazka i rozciągając go na pełną wysokość naklejki. Używanie parametru RAW i tym podobnych nie działa – obrazek jest zawsze rozciągnięty.

Dla odmiany niniejsza apka (po prawdzie i gwoli ścisłości – nakładka na powyższą aplikację) wygląda tak:

Cechy aplikacji

  • pozwala przesuwać i skalować załadowany obrazek, można również zmieniać długość etykiety (suwakami, bądź poprzez wpisanie liczby ręcznie),
  • zapamiętuje nastawy suwaczków – może to się wydawać dziwne, ale to się przydaje przy wielokrotnym załadowywaniu obrazka generowanego np. za pomocą Paint.
  • kliknięcie przycisku Default zeruje nastawy suwaków i adaptuje długość etykiety do rozmiaru obrazka,
  • można wklejać obrazek z pliku bądź ze schowka (ctrl+v)
  • domyślnie etykietka drukowana jest bez marginesu do cięcia. Kliknięcie przycisku Wysuń do cięcia powoduje wydruk pustej etykietki o odpowiedniej długości, co efektywnie wywołuje po prostu wysunięcie wydruku,
  • klikanie na obrazku lewym przyciskiem myszy powoduje zaczernienie pola, a prawym – białe pole (taki prymitywny Paint czy też szybka korekta)

Aktualizacja

  • w nowej wersji aplikacji nie musisz testować portu COM pod kątem drukarki, możesz go sprawdzić w aplikacji poprzez kliknięcie przycisku Sprawdź COM
  • instalacja środowiska Python również nie jest już wymagana – możesz po prostu wypakować archiwum, wejść do folderu /dist i uruchomić plik EXE
  • nie trzeba ściągać pierwotnego programu do obsługi drukarki z GitHub – cały kod przepisany został na nowo i działa całkowicie niezależnie
  • usunąłem problem z marginesem, który był drukowany niezależnie, czy był potrzebny, czy nie.

Konfiguracja zapisana jest wpliku JSON o nazwie “pt_gui_config.json”, który jest prawie samodokumentujący się i można w nim coś manualnie zmienić. Plik ten tworzy się w folderze aplikacji – jeżeli go nie było, to po uruchomieniu powstanie plik konfiguracyjny z nastawami domyślnymi.

Zawartość pliku konfiguracyjnego:

{
"com": "COM10",
"last_image_path": "D:/Moje_dokumenty/_Fimo-Elektronika/_logo_i_strona/Fimo_3.bmp",
"label_width": 127,
"scale": 1.0,
"shift_x": 0,
"shift_y": 0,
"threshold": 128,
"invert": false,
"nocomp": false,
"dpi": 180.0,
"serial_timeout_seconds": 5.0,
"cut_feed_lines": 150
}

Komentarza wymagają dwa parametry:

“cut_feed_lines”: 150

oznacza szerokość (w pikselach) na jaką ma mieć margines do cięcia (czyli pusta etykietka). Można skorygować empirycznie, jeżeli uznacie, że drukarka wysuwa wydruk na zbyt duży albo zbyt mały dystans.

“dpi”: 180.0

Dots Per Inch – liczba pikseli na cal. Służy do wyliczenia długości etykietki w milimetrach na podstawie rozmiaru w pikselach. Gdyby okazało się, że wyliczony przez program rozmiar naklejki się nie zgadza z rzeczywistością, to można skorygować tę wartość.

Aplikacja nie korzysta z command-line’owego interfejsu pierwotnej aplikacji do wydruku. Nie wykluczam, że następna wersja mojej apki w ogóle nie będzie korzystać z kodu, który podlinkowałem, ale na razie zostaje jak jest.

Pliki z poniższego archiwum należy wrzucić do folderu z aplikacją do drukowania, tą z GitHuba. W razie problemów – proszę pisać komentarz tutaj, bądź zagadać do Waszego ulubionego LLM – na pewno pomoże 🙂 Nic nie stoi na przeszkodzie, by dodać swoje własne funkcjonalności, zmienić layout czy pozbyć się konieczności użycia aplikacji pierwotnej. Kod można skompilować do EXE by nie trzeba było korzystać ze środowiska Python.

Enjoy 🙂


Paczka zawiera kod programu oraz skompilowany plik EXE (folder /dist). Możesz go uruchomić, wybrać właściwy COM drukarki (jak również przetestować wybrany port jest właściwy) i cieszyć się drukowaniem.

https://fimo-elektronika.pl/wp-content/uploads/2026/06/PT-P300BT-GUI-1.zip

Leave a Comment