Program ułatwiający przygotowywanie Elektronicznych Legitymacji Szkolnych (ELS) do wydruku na blankietach w formacie ID-1 ISO/IEC 7810. Ułożenie pól na legitymacji jest zgodne ze wzorami z załącznika nr 4 do Rozporządzenia Ministra Edukacji i Nauki z dnia 7 czerwca 2023 r. w sprawie świadectw, dyplomów państwowych i innych druków:
- MEiN-I/1,
- MEiN-I/2,
- MEiN-I/3-N,
- MEiN-I/4-N.
Program napisany jest w języku Python i korzysta z biblioteki wxWidgets (implementacja wxPython).
Wersja 0.1 jest wstępną wersją, napisaną na szybko, z mnóstwem "dirty-hacków". Testowane tylko pod Linuksem. Możliwe, że zadziała pod Windows z niewielkimi zmianami (m.in. wskazanie pliku z czcionką w StudentID.py).
- Python w wersji min. 3.8 z zainstalowanymi pakietami:
- defusedxml==0.7.1
- fonttools==4.53.1
- fpdf2==2.7.9
- numpy==2.1.1
- pdf2image==1.17.0
- pillow==10.4.0
- PyMuPDF==1.24.10
- PyMuPDFb==1.24.10
- PyPDF2==3.0.1
- six==1.16.0
- wxPython==4.2.1
- W najnowszej wersji wxPython (aktualnie 4.2.1) konieczna jest niewielka poprawka w pliku wx/lib/pdfviewer/viewer.py. W linijce 1080 należy zamienić treść
self.FitThisSizeToPage(wx.Size(width*sfac, height*sfac))
naself.FitThisSizeToPage(wx.Size(int(width*sfac), int(height*sfac)))
zgodnie z poprawką. Bez tej poprawki nie będzie działało wysyłanie przygotowanego pliku PDF do drukarki. - Do modyfikacji interfejsu warto posiadać wxGlade.
$ python3 Legitymizator.py
lub
$ ./Legitymizator.py
po wcześniejszych dodaniu prawa do wykonania chmod a+x Legitymizator.py
- Dane przechowywane są w pliku bazy danych SQLite. W bazie danych przechowywane jest również załadowane zdjęcie. Rozmiar pliku bazy danych, z tego powodu, może być znaczny.
- Pliki PDF z wygenerowanym obrazem legitymacji do nadruku na blankiecie przygotowanym przez PWPW są zapisywane w tym samym katalogu, w którym jest zapisywana baza danych.
- Zdjęcie do nadruku musi mieć rozmiar min. 225x307 pikseli (300 DPI).