logo
small logo
  • Produkty
  • Zamów
  • Wsparcie techniczne
  • About
  • Customer panel Wsparcie techniczne
    • en
    • de
    • JP
    • ZH
  • Glówna strona
  • /
  • Articles
  • /
  • Jak utworzyć plik ZPL w Delphi / C ++ Builder / Lazarus
  • Jak utworzyć plik PDF z Delphi / C ++ Builder / Lazarus

    14 maja 2020

    Dość często potrzebujesz uzyskać dokument PDF z aplikacji Pascal - albo Delphi lub Lazarus.Zazwyczaj zaleca

    read more
  • Tworzenie arkusza kalkulacyjnego otwartych dokumentów z Delphi / C++Builder / Lazarus

    3 sierpnia 2020

    Porównanie ODS i ODF ODS to otwarty format dla arkuszy kalkulacyjnych wykonanych zgodnie ze standardem OpenDocument

    read more
  • Instalowanie Fastreport w Lazarus

    17 marca 2021

    W ramach programu edukacji akademickiej postanowiliśmy stworzyć kilka artykułów wsparcia dla studentów. Jeśli tworzysz oprogramowanie biznesowe

    read more
  • Zapisywanie obrazów z Delphi / C++ Builder / Lazarus

    10 sierpnia 2020

    BMP, JPEG, TIFF, GIF – istnieje wiele formatów grafiki rastrowej. 1. BMP Przede wszystkim powinieneś wiedzieć, ż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

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

22 grudnia 2020

How to create a ZPL file in Delphi/ C++ Builder/Lazarus

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 zamów
avatar
Michael Philippenko
VP
Fast Reports Team: Michae Philippenko - VP at Fast Reports
VCL Export Lazarus FastReport ZPL 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
  • FAQ
  • Tutorial Video
  • Forum
  • Support SLA
  • Articles
  • Our News
  • Prasa o nas
  • Partnerzy
  • Extended licensing
  • Kontakty

© 1998-2023 by Fast Reports Inc.

  • Poufność
  • Cookies Policy

Trustpilot
By clicking “Accept all, you agree Fast Reports can store cookies on your device and disclose information in accordance with our Cookie Policy.