Skip to content

Fully functional barcode (1D/2D) processor. 全功能的1维/2维条码处理器

License

Notifications You must be signed in to change notification settings

SomeB1oody/BarcodeMaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Barcode Master

Fully functional barcode (1D/2D) processor 完全功能的条形码(1D/2D)处理器


0. Table of Content 目录

  • 1.Intro 简介
  • 2.Functions 功能
  • 3.Examples 实例
  • 4.Required environment 要求环境
  • 5.Contribution 贡献
  • 6.License 证书
  • 7.Contact information 联系方式

1.Intro 简介

Barcode Master is a lightweight 1D/2D barcode processor using Python wxWidgets as the frontend. Whether it's encoding, decoding, or recognition (with built-in perspective transformation), you can find corresponding solutions in this project. The currently supported barcode formats include: Code39, Code128, UPC, EAN13, EAN8, ITF, PZN, JAN, DataMatrix, PDF417, QR Code, and GS1. Barcode Master 是一个轻量级的1D/2D条形码处理器,使用Python的wxWidgets作为前端。无论是编码、解码还是识别(包含内置透视变换),都可以在这个项目中找到相应的解决方案。目前支持的条形码格式包括:Code39、Code128、UPC、EAN13、EAN8、ITF、PZN、JAN、DataMatrix、PDF417、QR Code和GS1。

Each program comes with both a non-GUI and a GUI version. The non-GUI version offers the simplest operations and code, making it easier to understand. The GUI version supports more complex operations, providing a more advanced and user-friendly experience. 每个程序都提供了GUI和非GUI版本。非GUI版本提供最简单的操作和代码,更易于理解;而GUI版本支持更复杂的操作,提供更先进且用户友好的体验。

Due to my limited capabilities, the code may have some imperfections. I warmly welcome everyone to share their suggestions and contribute to the project. For more details, please see the Contribution. Thank you for your understanding! 由于个人能力有限,代码可能存在一些不足,热烈欢迎大家分享建议并为项目做出贡献。详细信息请参考 5.贡献方式。感谢您的理解!


2. Functions 功能

2.1. Structure 结构

This is the sturcture of this project: 这是这个项目的结构图:

Structure

2.2. Info about 1DEncoder

1DEncoder provides support for one-dimensional barcodes, including the following formats: Code39, Code128, UPC, EAN13, EAN8, ITF, PZN, and JAN. 1DEncoder 提供对一维条形码的支持,包括以下格式:Code39、Code128、UPC、EAN13、EAN8、ITF、PZN 和 JAN。

2.2.1. AlphanumericBarcodesEncoder

AlphanumericBarcodesEncoder supports the Code39 and Code128 barcode formats, both of which allow alphanumeric character input. AlphanumericBarcodesEncoder 支持 Code39 和 Code128 条形码格式,这两种格式都允许输入字母数字字符。

2.2.2. NumericLinearBarcodesEncoder

NumericLinearBarcodesEncoder provides support for one-dimensional barcodes with purely numeric input, including formats such as UPC, EAN13, EAN8, ITF, PZN, and JAN. NumericLinearBarcodesEncoder 支持仅使用数字输入的一维条形码格式,包括:UPC、EAN13、EAN8、ITF、PZN 和 JAN。

2.3. Info about 2DEncoder

2DEncoder provides support for two-dimensional barcodes, including the following formats: DataMatrix, PDF417, QR Code. 2DEncoder 提供对二维条形码的支持,包括以下格式:DataMatrix、PDF417、QR Code。

2.4. Info about GS1Encoder

Given that GS1 is more of a standardized identification and data exchange encoding standard rather than a carrier, its carriers include both 1D and 2D barcodes. Therefore, it is listed separately. The program provides support for formats such as EAN13, UPCA, Code128, QR Code, and DataMatrix. 由于 GS1 更多是一个标准化的标识和数据交换编码标准,而不是一个载体,其载体包括一维和二维条形码。因此,GS1 被单独列出。该程序支持的格式包括:EAN13、UPCA、Code128、QR Code 和 DataMatrix。


3.Examples 实例

AlphanumericBarcodesEncoder(GUI).py: code39

NumericLinearBarcodesEncoder(GUI).py: upc

DataMatrixEncoder(GUI).py: datamatrix

PDF417Encoder: pdf417

QREncoder: qr

GS1Encoder: gs1_1d_ean13

gs1_2d_qr

Scanner: ScanTest1 ScanTest2

All of the screenshots and example ouput barcodes can be found at BarcodeMaster/tests/Screenshots, BarcodeMaster/tests/Output and BarcodeMaster/tests/ScanTest


4. Required environment 要求环境

Below is a list of libraries used in the project, organized based on the project structure. Libraries marked with (only for GUI version) are only used in the GUI version. If you are not using the GUI version, you do not need to check whether these libraries are installed. 以下是项目中使用的库列表,按项目结构组织。标注为“==(仅适用于GUI版本)==”的库仅用于GUI版本,如果不使用GUI版本,则无需检查这些库是否已安装。

environment

Python version should be at least 3.10 Python 版本需至少为 3.10。

You can also directly execute the following installation command, which includes all the required libraries: 您还可以直接执行以下命令安装所有所需库:

pip install python-barcode
pip install wxPython
pip install Pillow
pip install pylibdmtx
pip install qrcode
pip install pdf417gen
pip install numpy
pip install opencv-python
pip install pyzbar

5. Contribution 贡献

Contributions are welcome! Follow these steps: 欢迎贡献!请按照以下步骤操作:

    1. Fork project. Fork 项目。
    1. Create branch: 创建分支:
git checkout -b feature-name
    1. Submit changes: 提交更改:
git commit -m "Explain changes"
    1. Push branch: 推送分支:
git push orgin feature-name
    1. Submit Pull Request. 提交拉取请求。

6. License 证书

This project uses MIT LICENSE. 此项目使用MIT LICENSE.


7. Contact information 联系方式

About

Fully functional barcode (1D/2D) processor. 全功能的1维/2维条码处理器

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages