logo
small logo
  • Produkty
  • Zamów
  • Wsparcie techniczne
  • Articles
  • Customer panel Wsparcie techniczne
    • en
    • pt
    • es
    • de
    • pl
    • JP
    • ZH
  • Glówna strona
  • /
  • Articles
  • /
  • Jak utworzyć plik ZPL w Delphi / C ++ Builder / Lazarus
  • Jak pracować z mapami SHP w Delphi / Lazarus / С++ Builder

    28 września 2020

    ShapeFile, znany również jako Shape, to figura lub zestaw figur o złożonym kształcie (prawdopodobnie niepowiązanych

    read more
  • Jak utworzyć jeden raport z wielu w Delphi / Lazarus / C++ Builder

    11 grudnia 2020

    Chciałbym zauważyć, że FastReport VCL jest jednym z najwygodniejszych komponentów do generowania raportów o dowolnej

    read more
  • Tworzenie kodu kreskowego CODE 39 i rozszerzonego CODE 39 w środowisku Delphi / Lazarus

    23 października 2020

    CODE 39 jest kodem kreskowym opracowanym przez Intermec Corporation w 1975 roku. Kod kreskowy może

    read more
  • W jaki sposób generować kod kreskowy ITF (przeplatany, przemysłowy, macierzowy) w środowisku Delphi / Lazarus / C ++ Builder

    11 listopada 2020

    Trochę teorii dotyczącej kodów kreskowych Trudno wyobrazić sobie dzisiaj nasze życie bez kodów kreskowych, szczególnie teraz,

    read more
  • Raporty internetowe w Lazarusie na Linuksie

    15 grudnia 2020

    Do niedawna zadanie generowania raportów przez WWW z aplikacji napisanej w Lazarusie było, powiedzmy, bardzo

    read more

Jak utworzyć plik ZPL w Delphi / C ++ Builder / Lazarus

22 grudnia 2020

Co to jest plik ZPL?

ZPL

ZPL to skrót od Zebra Programming Language. Umożliwia on zespołowi tworzenie pożądanego wzoru wydruku dla dowolnej etykiety lub strony.

Dzięki temu etykieta jest niezależna od konkretnego urządzenia drukującego. Drukarka otrzymuje polecenia do tworzenia kształtów, ramek, symboli i innych rzeczy i sama wie, jak to zrobić. To jest kluczowa różnica ZPL!

Firma Zebra Technologies opracowała ZPL z myślą o tworzeniu i drukowaniu etykiet (z kodami kreskowymi, grafiką i dowolnym tekstem), które są wykorzystywane głównie w działalności komercyjnej.

Krótko o etapach tworzenia ZPL:

Najpierw dane są przesyłane do drukarki za pomocą urządzeń (komputerów PC lub terminali zbierających informacje), następnie procesor drukarki Zebra przetwarza otrzymane informacje i drukuje wynik.

ZPL

Krótko o pisaniu kodu ZPL:

Pomiary dla druku są wykonywane w punktach, ponieważ bez dokładnej wartości będzie dość trudno zrobić coś bez otrzymywania błędów i awarii. Należy zapoznać się z dokumentacją sprzętu drukującego i dowiedzieć się, jaka jest jego gęstość pikseli (DPI).

Sam projekt jest tworzony za pomocą następujących poleceń:

1. Kod powinien zaczynać się od znacznika ^ XA, a kończyć na ^ XZ;

2. Ale znacznik ^ FX poprzedza komentarze;

3. ^ CF x, y, z - domyślne ustawienia czcionki: czcionka, jej wysokość i szerokość;

4. ^ FO x, y - tiret lewe i górne;

5. ^ FS - koniec linii;

6. Dane z ustawionymi wartościami można wyświetlić w następujący sposób:

FD <tekst> Blok
tekstu:

FB <szerokość>, <liczba wierszy>, <spacje między wierszami>, <wyrównanie tekstu>, <wcięcie dla drugiego lub kolejnego wiersza> <położenie tekstu> :
L - wyrównany
do lewej,
R -
wyrównany do
prawej
,C - na środku,
J - wyrównanie tekstu do szerokości pola;

Tworzenie prostokątów:

GB <szerokość>, <wysokość>, <grubość linii>, <kolor linii>, <zaokrąglenie narożnika>
Kolor linii: B (czarny) lub W (biały)
Zaokrąglenie narożnika jest wskazywane przez wartość z zakresu od 0 do 8.

7. Kod kreskowy (zarówno ZPL jak i Zebra-printer - stworzony bezpośrednio dla kodów kreskowych!) składający się z trzech poleceń:
wymiary kodu kreskowego (BY <szerokość>, <stosunek grubości linii>, <wysokość kodu kreskowego>); jego ustawienia:

BC <orientacja>,
<wysokość kodu kreskowego w punktach>,
<czy drukować deszyfrację kodu >,
<dekodowanie kodu kreskowego>,
<mode> <orientacja> - N - orientacja normalna;
R - 90 stopni zgodnie z ruchem wskazówek zegara;
I - 180 stopni;
B - 270 stopni; <czy drukować deszyfrowanie kodu>,
<dekodowanie kodu nad kodem kreskowym> - wartości Y (tak) lub N (nie);
<mode> - domyślnie N.

8. Wyprowadzenie kodu kreskowego do druku odbywa się za pomocą polecenia FD <informacja>.

W rzeczywistości to wszystko nie jest takie proste, ale daje to ogólne pojęcie o języku ZPL.

Tworzenie ZPL w Delphi / C++Builder / Lazarusie

Czy jest więc możliwe wysłanie zwykłego obrazka lub dokumentu "stworzonego tak, aby pasował do etykiety" z edytora tekstu? Czy możemy po prostu "narysować na Canvie, wysłać do drukarki" i pozwolić, aby sterownik sam sobie z tym poradził? Tak, można wysłać, zostanie to wydrukowane i często będzie wyglądało jak prawdziwe. Jedynym problemem jest to, że ZPL i drukarki Zebra są zaprojektowane głównie do tworzenia etykiet wektorowych, które można odczytać maszynowo, a często wynik, ze względu na rasteryzację i skalowanie obrazu w programie / sterowniku nie będzie czytelny dla skanera kodów kreskowych. Jeśli Twoje kody kreskowe nie są rozpoznawane przez skaner, to zazwyczaj masz problem z rasteryzowanym i skalowanym obrazem. A więc stwórzmy poprawnie ZPL z naszej aplikacji Delphi lub Lazarus!

Wykorzystamy platformę FastReport VCL, ponieważ zapisuje ona z Delphi od razu do wymaganego formatu (Zebra Programming Language). Ale możemy wykorzystać więcej możliwości - dodać zdjęcia, tabele, kody kreskowe (i to będą poprawne, odczytywane maszynowo kody kreskowe!). Wiadomo, że nie ma sensu wysyłać do "zebry-drukarki" zdjęć krajobrazów, ale zdjęcie takie jak na początku artykułu - czemu nie, skoro będzie odpowiednie na naszych etykietach!)

Istnieją dwie opcje zapisu wygenerowanego raportu. Pierwsza z nich to zapis poprzez okno podglądu, a druga to zapis bezpośrednio poprzez kod Pascala.

Rozważmy obie opcje.

Do dzieła! Dodajemy nie tylko komponenty formularza potrzebne do stworzenia raportu i podłączenia źródeł danych, ale także komponent do eksportu ZPL!

Zapisywanie ZPL z Delphi / RAD Studio Lazarus z podglądu

Zaletą tej metody jest to, że widzimy co zapisujemy, mamy możliwość porównania podglądu z wynikiem w ZPL. I debugujemy to na naszym komputerze (zamiast używać niefortunnego sprzętu ), gdy projekt wydaje się być gotowy. 

ZPL

Utwórz dokument.
Przed zapisaniem przejrzyj go w oknie podglądu, edytuj wszystko, co Ci się nie podoba.

Kliknij na przycisk "Zapisz".
Wybierz "Plik ZPL". Piszę ten artykuł mając podłączone prawie wszystkie filtry eksportu. W Twoim przypadku (jeśli masz podłączony TYLKO filtr eksportu ZPL) w tym menu nie będzie żadnych innych pozycji (oprócz Prepared Report).

 

ZPLPojawi się okno ustawień eksportu. Skonfiguruj wszystko tak jak potrzebujemy i kliknij "OK".

 

Więcej na temat ustawień:

Zakres stron - zakres stron do zapisania;
Ustawienia eksportu:
- Print As Bitmap - wydruk jako obraz matrycy (NIE NALEŻY tego robić dla kodów kreskowych);
- Break lines - linie łamane;
- Resolution (dpi) - rozdzielczość od 152 do 600 dpi (w rzeczywistości istnieje zestaw wartości predefiniowanych, ograniczonych formatów - możemy je wybrać - są one wymienione poniżej w kodzie);
Zapisz do - zapisanie jako plik na komputerze, wysłanie pocztą lub do magazynu w chmurze;
Otwórz po eksporcie - otwarcie po zapisie.

Zapisywanie ZPL z kodu Delphi / C++Builder / Lazarus

Eksportuj do ZPL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
procedure TForm1.Button18Click(Sender: TObject);
begin
 {Generuj raport. Raport musi zostać wygenerowany przed wyeksportowaniem}
frxReport1.PrepareReport();
 {Określa zakres stron do eksportu. Domyślnie eksportowane są wszystkie strony wygenerowanego raportu}
frxZPLExport1.PageNumbers := '2-3';
 {Określ, czy raport ma być eksportowany jako obraz}
frxZPLExport1.PrintAsBitmap := True;
 {Ustalenie, czy na końcu każdego wiersza wymagana jest sekwencja znaków końca linii}
frxZPLExport1.BreakLines := True;
 {Ustaw rozdzielczość. Możliwe wartości: d6_dpmm_152_dpi, d8_dpmm_203_dpi, d12_dpmm_300_dpi, d24_dpmm_600_dpi, test1to1}.
 frxZPLExport1.ZplDensity := d6_dpmm_152_dpi;
 {Ustaw, czy otworzyć plik wynikowy po eksporcie}
 frxZPLExport1.OpenAfterExport := False;
 {Ustaw, czy wyświetlać postęp eksportu
  (pokaż, która strona jest aktualnie eksportowana)}
 frxZPLExport1.ShowProgress := False;
 {Określ, czy ma być wyświetlane okno dialogowe ustawień filtra eksportu}
 frxZPLExport1.ShowDialog := False;
 {Ustaw nazwę pliku wynikowego.}
 {Uwaga: jeśli nie ustawisz nazwy pliku i wyłączysz okno dialogowe filtra eksportu,}
 {okno dialogowe wyboru nazwy pliku będzie nadal wyświetlane}
 frxZPLExport1.FileName := 'C:\Output\test.zpl';
 {Wyeksportuj raport}
 frxReport1.Export(frxZPLExport1);
end;

Jak widać, tworzenie i drukowanie etykiet Zebra w Delphi (w aplikacjach dla Windows) i w Lazarusie (w aplikacjach dla Linuksa) jest całkiem proste. Metoda ta jest wykorzystywana w milionach punktów sprzedaży detalicznej na całym świecie.

about product pobierz zamów
avatar
Michael Philippenko
VP
Fast Reports Team: Michae Philippenko - VP at Fast Reports
VCL Lazarus ZPL FastReport 6 Delphi

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Zamów
  • Pobierz
  • Dokumentacja
  • Opinie użytkowników
  • Jak odinstalować nasze produkty
  • Ticket system
  • FAQ
  • Tutorial Video
  • Forum
  • Articles
  • Our News
  • Prasa o nas
  • Partnerzy
  • Extended licensing
  • Kontakty

© 1998-2022 by Fast Reports Inc.

  • Poufność