Introduction

Aspose.BarCode FOSS for Python provides per-symbology option classes that control encoding behavior across all seven supported barcode formats. Each option class inherits from EncodeOptions และเพิ่มคุณสมบัติเฉพาะตัวอักษร รูปแบบโค้ด Code 128 การเลือก ASCII Code 39 ระดับการแก้ไขความผิดพลาด QR และการจัดการเลขเช็ค EAN / UPC.

บทความนี้ครอบคลุมทุกคลาสตัวเลือก, คุณสมบัติของมันและตัวอย่างโค้ดการทํางาน. ทุกชั้นเรียนมีจากระดับบน aspose_barcode_foss แพ็คเกจ.


คุณสมบัติหลัก

โค้ด 128 รูปแบบการรหัส

Code128Options การควบคุมที่รหัส 128 ตัวอักษรตั้งตัว Encoder ใช้. encode_mode อสังหาริมทรัพย์ยอมรับการ Code128EncodeMode enum value: ค่าที่ใช้ในการทําการ: AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC,หรือ CODE_BC. AUTO เลือกการโค๊ดที่สับสนที่สุดโดยอัตโนมัติ. CODE_C ถูกปรับปรุงสําหรับข้อมูลที่มีเพียงตัวเลข (คู่ตัวหลักถูกโค้ดเป็นจุดรหัสเดียว).

import aspose_barcode_foss as barcode
from aspose_barcode_foss import Code128Options, Code128EncodeMode

bc = barcode.code128(
    "1234567890",
    encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)
svg = bc.to_svg()

รหัส 128 ยังรองรับการใช้งานของ gs1_enabled และ eci_assignment_number อสังหาริมทรัพย์ที่ได้รับมรดกจาก EncodeOptions สําหรับเมตาข้อมูล GS1 และ ECI.

รหัส 39 การรหัวกระบุ

Code39Options การควบคุมว่าตัวโค้ดจะใช้เซตหลัก 43 ตัวอักษรหรือการขยาย Full ASCII Set full_ascii=True เพื่อเปิดแบบ ASCII ครบ, ที่รหัสระดับ AS CII 128 ตัวเต็มโดยใช้คู่ shift. ทางเลือก add_check_digit อสังหาริมทรัพย์ที่ติดต่อกับตัวเลขตรวจสอบ Modulo-43.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import Code39Options

bc = barcode.code39(
    "Hello",
    encode=Code39Options(full_ascii=True, add_check_digit=True),
)
svg = bc.to_svg()

การตั้งค่า QR Code

QrOptions มีการตั้งค่ามากที่สุดในหมู่ทั้งหมดของสัญลักษณ์:

  • error_correction_level: QrErrorCorrectionLevel.L (7%), .M (15%), .Q (25%), .H (30%)
  • encoding_mode: QrEncodeMode.AUTO, .NUMERIC, .ALPHANUMERIC, .BYTE, .KANJI
  • version: รุ่น QR (140) การควบคุมขนาดสัญลักษณ์
  • mask: รูปแบบหน้ากาก (07) สําหรับการเลือกมือ
import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel, QrEncodeMode

bc = barcode.qr(
    "https://example.com/product/12345",
    encode=QrOptions(
        error_correction_level=QrErrorCorrectionLevel.Q,
        encoding_mode=QrEncodeMode.BYTE,
    ),
)
png_bytes = bc.to_png()

EAN และ UPC เลขตรวจสอบ

Ean13Options, Ean8Options, UpcaOptions,และ UpceOptions แต่ละคนมีตัวเลข allow_check_digit_input property โดยตั้งค่าล่วงหน้า ห้องสมุดคํานวณตัวเลขเช็คโดยอัตโนมัติจากข้อมูล Set allow_check_digit_input=True ถ้าข้อมูลของคุณมีตัวเลขเช็คอยู่อยู่แล้ว.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import Ean13Options

# Automatic check digit (12 digits in, library appends the 13th)
bc = barcode.ean13("590123412345")
svg = bc.to_svg()

# Pre-computed check digit (13 digits, library validates)
bc2 = barcode.ean13(
    "5901234123457",
    encode=Ean13Options(allow_check_digit_input=True),
)

ตัวเลือกการทําภาพ

RenderOptions ใช้กับสัญลักษณ์ทั้งหมด และควบคุมผลิตทางสายตา to_svg() หรือ to_png():

PropertyTypeDescription
scalefloatเครื่องคูณขนาดแบบเดียวกัน
dpiintความละเอียดสําหรับการออก PNG
module_widthfloatความกว้างของโมดูล barcode หนึ่ง
module_heightfloatความสูงของโมดูล barcode หนึ่ง
quiet_zonefloatการปรับพื้นที่ขาวรอบบาร์โค้ด
foreground_colorstrสี Hex สําหรับบาร์ (เช่น., "#000000")
background_colorstrสี Hex สําหรับพื้นหลัง
transparent_backgroundboolแฟนที่โปร่งใสสําหรับ PNG
show_textboolแสดงข้อความที่อ่านได้ภายใต้บาร์โค้ด
font_familystrแฟนต์สําหรับข้อความที่สามารถอ่านได้โดยมนุษย์
font_sizefloatขนาดตัวอักษรสําหรับข้อความที่สามารถอ่านได้โดยมนุษย์
import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions

bc = barcode.upca("01234567890")
png = bc.to_png(options=RenderOptions(
    scale=3.0,
    dpi=300,
    foreground_color="#1a1a1a",
    background_color="#ffffff",
    show_text=True,
    font_family="Courier New",
))

การจัดการข้อผิดพลาด

การตรวจสอบการใช้งานของตัวเลือกโค้ดทั้งหมดจะเกิดขึ้นในเวลาพาร์ส หากข้อมูลที่ไม่ถูกต้องหรือตัวເລືອກที่ไม่สามารถเข้ากันได้ ถูกให้บริการแล้ว ห้องสมุดจะยกเว้นแบบก่อนที่จะเริ่มต้นการรหัส:

  • InvalidInputError ข้อมูลมีตัวอักษรที่ไม่รองรับจากสัญลักษณ์
  • EncodingError การรหัสล้มเหลว (เช่น ข้อมูลเกินความจุ)
  • SymbologyNotFoundError ชื่อสัญลักษณ์ที่ไม่รับรู้เปลี่ยนไปเป็น generate()
  • UnsupportedCapabilityError คุณสมบัติที่ต้องการไม่พร้อมสําหรับสัญลักษณ์นี้

ทุกคลาสความพิเศษได้รับมรดกจาก BarcodeError.


เริ่มต้นอย่างรวดเร็ว

pip install aspose-barcode-foss

สร้างบาร์โค้ดที่มีตัวเลือกการเข้ารหัสที่แตกต่างกันและบันทึกมัน:

import aspose_barcode_foss as barcode
from aspose_barcode_foss import (
    Code128Options, Code128EncodeMode,
    QrOptions, QrErrorCorrectionLevel,
    RenderOptions,
)

# Code 128 in CODE_C mode (compact digit encoding)
c128 = barcode.code128(
    "9876543210",
    encode=Code128Options(encode_mode=Code128EncodeMode.CODE_C),
)
with open("code128.svg", "w") as f:
    f.write(c128.to_svg())

# QR with high error correction
qr = barcode.qr(
    "https://example.com",
    encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)
with open("qr.png", "wb") as f:
    f.write(qr.to_png(options=RenderOptions(scale=4.0)))

# EAN-13 with custom colors
ean = barcode.ean13("590123412345")
with open("ean13.svg", "w") as f:
    f.write(ean.to_svg(options=RenderOptions(
        foreground_color="#003366",
        show_text=True,
    )))

รูปแบบที่สนับสนุน

SymbologyTypeประเภทของตัวเลือกคุณสมบัติสําคัญ
รหัส 1281DCode128Optionsencode_mode
รหัส 391DCode39Optionsfull_ascii, add_check_digit
EAN-131DEan13Optionsallow_check_digit_input
EAN-81DEan8Optionsallow_check_digit_input
รหัส QR2DQrOptionserror_correction_level, encoding_mode, version, mask
UPC-A1DUpcaOptionsallow_check_digit_input
UPC-E1DUpceOptionsallow_check_digit_input

รูปแบบการออก:

FormatExtensionExport
SVG.svg
PNG.png

หลักสูตรและใบอนุญาต

Aspose.BarCode FOSS for Python is MIT licensed. The source is available on GitHub และแพ็คเกจติดตั้งจาก PyPI มี pip install aspose-barcode-foss.ไม่มีการพึ่งพาพื้นฐาน,ไม่มีเทเลเมทรี, ไม่จํากัดการใช้งาน.


เริ่มต้น

แหล่งข้อมูลที่เกี่ยวข้อง