ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΠΈΡ ΠΊΠΎΠ΄Π° python
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Ρ Π² Π²Π°ΡΠΈΡ PDF Ρ Python
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Reportlab β ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ PDF-ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° Python. ΠΠ΅Π΄Π°Π²Π½ΠΎ Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ», ΡΡΠΎ Π² Π½Π΅ΠΌ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Ρ. Π― ΡΠ»ΡΡΠ°Π» ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ QR-ΠΊΠΎΠ΄Ρ, Π½ΠΎ Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ ΠΊΠΎΠΏΠ°Π»ΡΡ ΠΏΠΎΠ΄ ΠΎΠ΄Π΅ΡΠ»ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ Π΅ΡΠ΅ ΠΎΠ½ ΠΌΠΎΠ³ ΡΠ΄Π΅Π»Π°ΡΡ. Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Reportlab. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΠ΅ Π½Π΅Ρ Reportlab, Π·Π°ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΠΈΡ ΡΠ°ΠΉΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΅Π³ΠΎ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΡΠ°ΡΡΠ΅.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΡΡΠΈΡ ΠΊΠΎΠ΄ΠΎΠ² Reportlab
Reportlab ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΡΡΡΠΈΡ -ΠΊΠΎΠ΄ΠΎΠ²: code39 (Ρ.Π΅. ΠΊΠΎΠ΄ 3 ΠΈΠ· 9), code93, ΠΊΠΎΠ΄ 128, EANBC, QR ΠΈ USPS. Π― ΡΠ°ΠΊΠΆΠ΅ Π²ΠΈΠ΄Π΅Π» ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«ΡΠ΅ΡΡΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΒ», Π½ΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ Π·Π°ΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎΠ΄ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΈΠ· ΡΡΠΈΡ ΡΠΈΠΏΠΎΠ² Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΈΠΏΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π‘ΡΠ°Π½Π΄Π°ΡΡ, Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΈΠ»ΠΈ ΠΡΠ»ΡΡΠΈΡΠΈΡΠΈΠ½Π°. ΠΠ½Π΅ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ Π·Π°ΡΡΠ°Π²ΠΈΡΡ MultiWidth ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄ΠΎΠΌ code128, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π²ΡΠ΄Π°Π²Π°Π» ΠΌΠ½Π΅ ΠΎΡΠΈΠ±ΠΊΡ Π°ΡΡΠΈΠ±ΡΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎ. ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΌΠ½Π΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΠΌΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΡ ΡΠΎΡΠΌΡ ΠΈ Π΄Π°ΠΉΡΠ΅ ΠΌΠ½Π΅ Π·Π½Π°ΡΡ. Π― ΠΎΠ±Π½ΠΎΠ²Π»Ρ ΡΡΠ°ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΌΠ½Π΅, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎΡ ΠΈΠ»ΠΈ ΡΠ΅ΡΡΡΠ΅Ρ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄.
Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΡΡΠΈΡΡΡΡ β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄. ΠΠΎΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Ρ ΡΡΠΈΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ. ΠΠΎΠ΄39.Extended39 Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ, ΠΊΡΠΎΠΌΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, code39.Standard39, code93.Standard93 ΠΈ code128.Code128 ΠΈΠΌΠ΅ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ API. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ barWidth, barHeight, Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° / ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Β«ΡΠΈΡ ΠΈΠ΅Β» Π·ΠΎΠ½Ρ. ΠΠΎΠ΄ΡΠ»Ρ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Π° usps ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π²Π° ΡΠΈΠΏΠ° ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Π°: FIM ΠΈ POSTNET. FIM ΠΈΠ»ΠΈ Faceing ID Marks ΠΊΠΎΠ΄ΠΈΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ Π±ΡΠΊΠ²Ρ (AD), ΠΊΠΎΡΠΎΡΠ°Ρ Π»ΠΈΡΠ½ΠΎ ΠΌΠ½Π΅ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΉ. ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ POSTNET, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π·Π½Π°ΠΊΠΎΠΌΠ° Π»ΡΠ΄ΡΠΌ Π² Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ Π¨ΡΠ°ΡΠ°Ρ , ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π²Π½ΠΈΠ·Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΊΠΎΠ½Π²Π΅ΡΡΠΎΠ². POSTNET ΠΊΠΎΠ΄ΠΈΡΡΠ΅Ρ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ!
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΠΈΡ ΠΊΠΎΠ΄Π° python
Viivakoodi (barcode in Suomi) is the fork of pyBarcode project.
This library provides a simple way to create barcodes using only the Python standardlib. The barcodes where created as SVG objects.
Make sure you have setuptools/distribute installed.
Unpack the downloaded file, cd into the viivakoodi directory and run python setup.py install. Or just copy the barcode dir somewhere in your PYTHONPATH.
The best way is to use pip: pip install viivakoodi.
EAN-8, EAN-13, EAN-14, UPC-A, JAN, ISBN-10, ISBN-13, ISSN, Code 39, Code 128, PZN
Now open ean13_barcode.[svg|png] in a graphic app or simply in your browser and see the created barcode. That’s it.
v0.8: | Code 128 added. Data for charsets and bars moved to subpackage barcode.charsets. |
---|---|
v0.7: | Fixed some issues with fontsize and fontalignment. Added Python 3 support. It’s not well tested yet, but the tests run without errors with Python 3.3. Commandline script added. |
v0.6: | Changed save and write methods to take the options as a dict not as keyword arguments (fix this in your code). Added option to left align the text under the barcode. Fixed bug with EAN13 generation. |
v0.5.0: | Added new generate function to do all generation in one step. Moved writer from a subpackage to a module (this breaks some existing code). UPC is now rendered as real UPC, not as EAN13 with the leading «0». |
v0.4.3: | Fixed bug in new write method (related to PIL) and updated docs. |
v0.4.2: | Added write method to support file like objects as target. |
v0.4.1: | Bugfix release. Removed redundancy in input validation. EAN8 was broken. It now works as expected. |
v0.4: | Removed **options from writers __init__ method. These options never had effect. They were always overwritten by default_options. New config option available: text_distance (the distance between barcode and text). |
v0.4b2: | Basic documentation included. The barcode object now has a new attribute called raw to have the rendered output without saving to disk. |
v0.4b1: | Support for rendering barcodes as images is implemented. PIL is required to use it. |
v0.3: | Compression for SVG output now works. |
v0.3b1: | Writer API has changed for simple adding new (own) writers. SVG output is now generated with xml.dom module instead of stringformatting (makes it more robust). |
v0.2.1: | API of render changed. Now render takes keyword arguments instead of a dict. |
v0.2: | More tests added. |
v0.1: | First release. |
About
Barcode generator for Python. Fork of pyBarcode project.
Π‘ Python ΠΏΡΠΎΡΠΈΡΠ°Π΅ΠΌ Π»ΡΠ±ΡΠ΅ ΡΡΡΠΈΡ - ΠΈ QRβΠΊΠΎΠ΄Ρ
Π¨ΡΡΠΈΡ -ΠΊΠΎΠ΄ β ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΠΉ ΡΠΎΡΠΌΠ΅, ΠΎΠ½ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΠΎΠ»ΠΎΡ ΠΈ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ². Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Ρ ΠΏΠΎΠ²ΡΡΠ΄Ρ, ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠ°Ρ Π² ΡΡΠΏΠ΅ΡΠΌΠ°ΡΠΊΠ΅ΡΠ°Ρ .
Π¨ΡΡΠΈΡ -ΠΊΠΎΠ΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΊΠ°Π½Π΅ΡΠ° ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Π°, Π½ΠΎ Π·Π΄Π΅ΡΡ, Π΄Π»Ρ Π½Π°ΡΠ°Π»Π°, Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡ Python Π΄Π»Ρ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄ΠΎΠ² Ρ ΡΠΈΡΡΠ½ΠΊΠΎΠ², Π³Π΄Π΅ ΠΎΠ½ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ.
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π·Π΄Π΅ΡΡ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π½Π°ΠΌ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΈΡΡΠ²Π°ΡΠ΅Π»Ρ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Π° Π½Π° Python
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π±ΡΠ΄ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Python ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ ΡΠΎ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΡΠΈΡΡΠ²Π°ΡΠ΅Π»Ρ:
Π― ΡΠ°Π·Π±ΠΈΠ» Π²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ:
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Ρ, ΡΠΈΡΡΠ΅ΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Π²ΠΎΠΊΡΡΠ³ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌ ΡΠΈΠΏ ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Π°. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠ½ΠΈΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, Π²ΠΎΡ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π²ΡΠ³Π»ΡΠ΄Π΅Π», Π΅ΡΠ»ΠΈ ΠΌΡ Π΅Π³ΠΎ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°Π»ΠΈ:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠ½ΠΊΡΠΈΡ pyzbar.decode() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄, ΡΠΈΠΏ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡΠΊΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°.
ΠΡΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΡ Π½Π°Ρ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ, draw_barcode() :
ΠΡ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΡΠΎ, ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Ρ. Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π΄Π»Ρ Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ:
Π ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» ΠΌΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ cv2.imread() ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ°Π½Π΅Π΅ ΠΎΠ±ΡΡΠΆΠ΄Π°Π²ΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ decode() Π΄Π»Ρ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄ΠΎΠ², Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠΊΡΠΈΠΏΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡ QR-ΠΊΠΎΠ΄Ρ, ΠΈ ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΠΈΡΠ°ΠΉΡΠ΅ Π²ΡΠΎΡΡΡ ΡΠ°ΡΡΡ ΡΡΠΎΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠΈ.
ΠΠΎΠ³Π΄Π° Ρ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ ΡΠΈΠΏ ΠΈ Π΄Π°Π½Π½ΡΠ΅, Π½Π°ΠΆΠΌΠΈΡΠ΅ Π»ΡΠ±ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ, ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π²ΠΎΡ ΠΌΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
ΠΡΠΎ Π·Π΄ΠΎΡΠΎΠ²ΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π½Π΅ΡΠ° ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Π° Π½Π° Python. Π― Π·Π½Π°Ρ, ΡΡΠΎ Π²Ρ Π²ΡΠ΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΈΡΠ°ΡΡ ΠΏΡΡΠΌΠΎ Ρ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ» ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Π° Ρ ΠΊΠ°ΠΌΠ΅ΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠΎΡ ΠΎΠ½:
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΡΠΈΠ³Π½Π°Π» ΠΏΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Π°, ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² ΡΡΠΏΠ΅ΡΠΌΠ°ΡΠΊΠ΅ΡΠ°Ρ , ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ ΠΏΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π·Π²ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Π² ΡΡΠΎΠΌ.
ΠΠ°ΠΊ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ QR-ΠΊΠΎΠ΄ Π² Python
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ QR-ΠΊΠΎΠ΄Π°
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ QR-ΠΊΠΎΠ΄ΠΎΠ², ΡΡΠΎ Π² ΡΠ΅Π»ΠΎΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ qrcode :
ΠΡΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«waksoft.susu.ru.pngΒ», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ QR-ΠΊΠΎΠ΄Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
(Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ URL ΡΡΠΎΠ³ΠΎ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°), Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
ΠΡΠ°ΠΊ, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° QRCode ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π²Π΅ΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΡ 1 Π΄ΠΎ 40, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ QR-ΠΊΠΎΠ΄Π° (1 β ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ, ΠΌΠ°ΡΡΠΈΡΠ° 21Γ21, 40 β ΠΌΠ°ΡΡΠΈΡΠ° 185Γ185), Π½ΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ Π²Π°ΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΡΡΡ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 3.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ box_size ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ΅ QR-ΠΊΠΎΠ΄Π°, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π³ΡΠ°Π½ΠΈΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΈΠ½Ρ.
Π ΡΠΎΡΠΌΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π°, Π° Π½Π΅ 21Γ21:
Π§ΠΈΡΠ°Π΅ΠΌ QR-ΠΊΠΎΠ΄
Π₯ΠΎΡΠΎΡΠΎ, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Python ΠΈ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ Π·Π° ΠΌΠ½ΠΎΠΉ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
Π ΡΡΠ°ΡΡΡΡ Π΄Π»Ρ Π½Π°Ρ, OpenCV ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π΄Π΅ΡΠ΅ΠΊΡΠΎΡ QR-ΠΊΠΎΠ΄Π°:
Π£ Π½Π°Ρ Π΅ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅ΡΠ΅ΠΊΡΠΎΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠΌ ΠΈ ΡΠ°ΡΡΠΈΡΡΡΠ΅ΠΌ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅:
Π€ΡΠ½ΠΊΡΠΈΡ detectAndDecode() ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΆ ΠΈΠ· 3 Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ: Π΄Π°Π½Π½ΡΠ΅, Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ· QR-ΠΊΠΎΠ΄Π°, Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² Π²Π΅ΡΡΠΈΠ½ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΠ΅Ρ ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° QR-ΠΊΠΎΠ΄Π° ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Π½ΡΠΉ Π² Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΡΠΎΡΠΌΡ QR-ΠΊΠΎΠ΄.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠΉΠ΄Π΅ΠΌ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ:
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΡΠ²Π°ΡΡΡΡ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:
Π ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠΈΠ½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΈ Π½Π°ΡΠΈΡΠΎΠ²Π°Π½Ρ ΡΠΎΡΠ½ΠΎ Π² Π³ΡΠ°Π½ΠΈΡΠ°Ρ QR-ΠΊΠΎΠ΄Π°. ΠΡΠ»ΠΈΡΠ½ΠΎ, ΠΌΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ Ρ ΡΡΠΈΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠΌ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ²ΠΎΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ!
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ QR-ΠΊΠΎΠ΄ΠΎΠ², Π° Π½Π΅ Π΄Π»Ρ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄ΠΎΠ².
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ QR-ΠΊΠΎΠ΄Ρ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅ΡΡ (ΠΈ Ρ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ Π²Ρ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΠ΅), Π²ΠΎΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ:
ΠΡΠ»ΠΈΡΠ½ΠΎ, Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ» ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ!
ReportLab β ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Ρ Π² ΡΠ²ΠΎΠΈΡ PDF Ρ Python
ΠΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅, ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ Π½Π°Π²ΡΠΊΠΈ Python Π½Π° Π½Π°ΡΠΈΡ ΡΠ΅ΡΡΡΡΠ°Ρ ΠΈ ΠΏΡΡΠΈ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ReportLab β ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ PDF Π² Python. ΠΠ΅Π΄Π°Π²Π½ΠΎ Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ», ΡΡΠΎ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Ρ. Π― ΡΠ»ΡΡΠ°Π» ΠΎΠ± ΡΡΠΎΠΌ, ΠΈΠΌΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ QR-ΠΊΠΎΠ΄Ρ, Π½ΠΎ Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ Π²ΡΡΡΠ» ΠΏΠΎΠ΄ ΠΊΡΡΡΠΊΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ. Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΡΠΈΡ -ΠΊΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ReportLab. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΠ΅ Π½Π΅Ρ ReportLab, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ ΠΈΡ Π‘Π°ΠΉΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΡΠ³Π°ΡΡ Π² ΡΡΠ°ΡΡΡ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΡΡΠΈΡ -ΠΊΠΎΠ΄ΠΎΠ² ReportLab
REPORTLAB ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΡΡΡΠΈΡ -ΠΊΠΎΠ΄ΠΎΠ²: Code39 (I.E. ΠΠΎΠ΄ 3 ΠΈΠ· 9), Code93, ΠΊΠΎΠ΄ 128, EANBC, QR ΠΈ USPS. Π― Π²ΠΈΠ΄Π΅Π», ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«FourstateΒ», Π½ΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±ΡΠ°ΡΡΡΡ Π΄ΠΎ ΡΠ°Π±ΠΎΡΡ. ΠΠΎΠ΄ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΈΠ· ΡΡΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ², ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ, ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ. ΠΠ½Π΅ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΡΠ°Π±ΠΎΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ΄Π° Code128, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π» Π΄Π°ΡΡ ΠΌΠ½Π΅ ΠΎΡΠΈΠ±ΠΊΡ Π°ΡΡΠΈΠ±ΡΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎΠΌΡ. ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΏΠΈΠ½Π³ ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΠΌΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΡ ΡΠΎΡΠΌΡ ΠΈ Π΄Π°ΠΉΡΠ΅ ΠΌΠ½Π΅ Π·Π½Π°ΡΡ. Π― ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ ΡΡΠ°ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΊΡΠΎ-ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΌΠ½Π΅, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎ ΠΈΠ»ΠΈ ΡΠ΅ΡΡΡΠ΅Ρ ΡΡΠΎΠΆΠ½ΡΠΉ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄.
ΠΠΎ Π²ΡΡΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΠΈΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΊΠΎΠ΄. ΠΠΎΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΡΠΌΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΌΠ°Π΅ΠΌΡΡ. CODE39.Extended39 Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Code39.Standard39, Code93.Standard93 ΠΈ Code128.code128 Π²ΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ API. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π±Π°ΡΠΎΠ²Π½ΡΡ Π±Π°ΡΠΎΠ², Barheight, Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Start/Stop ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Β«ΡΠΈΡ ΠΈΠ΅Β» Π·ΠΎΠ½Ρ. ΠΠΎΠ΄ΡΠ»Ρ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Π° USPS ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄Π²Π° ΡΠΈΠΏΠ° ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Π°: fim ΠΈ postnet. FIM ΠΈΠ»ΠΈ ΠΎΠ±Π»ΠΈΡΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ Π·Π½Π°ΠΊΠΈ ΠΊΠΎΠ΄ΠΈΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ Π±ΡΠΊΠ²Ρ (A-D), ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π»ΠΈΡΠ½ΠΎ Π½Π΅ Π½Π°ΡΠ΅Π» ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ. ΠΠΎΡΡΠΎΠΌΡ Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ PostNet, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΉ Π»ΡΠ΄ΡΠΌ Π² Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ Π¨ΡΠ°ΡΠ°Ρ , ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° Π΄Π½Π΅ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΊΠΎΠ½Π²Π΅ΡΡΠΎΠ². PostNet ΠΊΠΎΠ΄ΠΈΡΡΠ΅Ρ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ!
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠΈ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄ΡΡΠ³ΠΎΠ΅ API, ΡΡΠΎΠ±Ρ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ Π½Π° PDF, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» ΡΠ΅ΡΠ΅Π· Stackoverflow ΠΡΠΊΠ°Π· Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄ Π½Π° ΡΠ΅ΡΡΠ΅ΠΆ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ RenderPdf ΠΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ½ΠΊΠ° Π½Π° PDF. ΠΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΠ°Π½ΠΎ, Π½ΠΎ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ. ΠΠΎΠ΄Ρ EANBC β ΡΡΠΎ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠΊΠ°Π½Π΅Π²ΡΠ΅ ΠΊΠΎΡΠΎΠ±ΠΊΠΈ.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΠ΄Π° Π²ΡΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ PDF Π·Π΄Π΅ΡΡ ΠΡΠΊΠ°Π·
Π£ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°
ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄Ρ Π² ΡΠ²ΠΎΠΈΡ PDF. ReportLab Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΈ Ρ Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΡΡΠΎΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ Π² Π²Π°ΡΠΈΡ ΡΡΠΈΠ»ΠΈΡΡ .
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΡΠΊΠΈΠ΅ ΠΠ»ΠΎΠ³ΠΈ
python Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΡΡΠΈΡ
-ΠΊΠΎΠ΄ΠΎΠ² Π½Π° Python. Π― ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΊΡΠ°ΡΠΊΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π°Π» ΠΎ ΡΠ²ΠΎΠΈΡ
ΡΡΠ²ΡΡΠ²Π°Ρ
.
Π‘Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΠ΅ ΠΌΠ½Π΅ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°Ρ
. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ python3.x, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ pyStrich.
pyBarcode
ΠΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
ΠΡΡΠΌΠ°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ΅ΡΠ΅Π· pip pip install pyBarcode
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° EAN13
ΠΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Ρ, ΡΡΡΠ΅ΠΊΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ.
ΠΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ pyBarcode ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½Ρ, ΡΠΎ Π΅ΡΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ»Ρ EAN13 Π½Π΅ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ.
ReportLab
pip install pip install reportlab
ΡΠ΄ΠΎΠ±Π΅Π½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ PDF-ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, Π²ΡΠ²ΠΎΠ΄Π° ΡΡΡΠΈΡ
-ΠΊΠΎΠ΄Π° Π² PDF-ΡΠ°ΠΉΠ» ΠΈ ΠΏΡΡΠΌΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠΎΠ΄Π°.
ΠΡΡΠ΅ΠΊΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅, ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ EAN8 ΠΈ EAN13 Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ ΡΠ±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΎ.
huBarcode
ΠΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ python3.x, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΡΠ΅ΡΠ΅Π· 13 Π»Π΅Ρ, Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Π½Π° pyStrich
GitHubοΌhttps://github.com/hudora/huBarcode
python setup.py install
pyStrich
GitHubοΌhttps://github.com/mmulqueen/pyStrich
ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π°ΠΏΡΡΠΌΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip pip install pyStrich
ΠΡΡΠ΅ΠΊΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅.