คุณสมบัติและฟังก์ชั่น

คุณสมบัติและฟังก์ชั่น

Aspose.BarCode FOSS for Python provides a high-level API for generating seven barcode symbologies with per-symbology encode options and rendering controls. This page is the primary reference for all feature areas.


สัญลักษณ์ที่สนับสนุน

ห้องสมุดรองรับสัญลักษณ์ 7 ช่องทางผ่านการใช้งานผู้ช่วยที่มอบหมายและแบบทั่วไป generate() จุดเข้า:

SymbologyTypeHelperประเภทของตัวเลือก
รหัส 1281Dcode128()Code128Options
รหัส 391Dcode39()Code39Options
EAN-131Dean13()Ean13Options
EAN-81Dean8()Ean8Options
รหัส QR2Dqr()QrOptions
UPC-A1Dupca()UpcaOptions
UPC-E1Dupce()UpceOptions
import aspose_barcode_foss as barcode

# Per-symbology helpers
bc_128 = barcode.code128("ABC123")
bc_qr = barcode.qr("https://example.com")

# Generic API
bc_gen = barcode.generate("ean13", "590123412345")

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

Code128Options การควบคุมที่รหัส 128 ตัวอักษรตั้งตัว Encoder ใช้. encode_mode อสังหาริมทรัพย์ยอมรับการ Code128EncodeMode enum value: ค่าที่ใช้ในการทําการ:

  • AUTO เลือกการโค๊ดที่สั้นที่สุดโดยอัตโนมัติ
  • CODE_A, CODE_B, CODE_C จํากัดตัวอักษรเดียว
  • CODE_AB, CODE_AC, CODE_BC ให้การเปลี่ยนระหว่างสองชุดตัวอักษร
from aspose_barcode_foss import Code128Options, Code128EncodeMode

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

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

Code39Options การควบคุมว่าตัวโค้ดจะใช้เซตหลัก 43 ตัวอักษรหรือการขยาย Full ASCII หรือไม่:

  • full_ascii ตั้งเป็น True เพื่อรหัสระดับ ASCII 128 ตัวเต็ม โดยใช้คู่ shift
  • add_check_digit ติดหมายเลขตรวจสอบ Modulo-43
from aspose_barcode_foss import Code39Options

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

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

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

PropertyTypeValues
error_correction_levelQrErrorCorrectionLevelL (7%), M (15%), Q (25%), H (30%)
encoding_modeQrEncodeModeAUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI
versionint1–40 (controls symbol size)
maskint0–7 (manual mask pattern selection)
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,
    ),
)

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

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

from aspose_barcode_foss import Ean13Options

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

# 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ขนาดตัวอักษรสําหรับข้อความที่สามารถอ่านได้โดยมนุษย์
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,
))

รูปแบบการออกผลิต

FormatMethodประเภทการคืน
SVGto_svg()str
PNGto_png()bytes

ทั้งสองวิธีรับการเลือก RenderOptions ปารามีเตอร์.


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

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

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

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

from aspose_barcode_foss import InvalidInputError

try:
    bc = barcode.ean13("ABC")
except InvalidInputError as e:
    print(f"Invalid input: {e}")

การตรวจสอบการเข้า

ทุกปัญลักษณ์มีตัวเลขที่มอบไว้ให้กับเรา InputParser ที่ตรวจสอบข้อมูลก่อนการรหัส การพาร์เซอร์เช็คความต้องการของตัวอักษร ความยาวและรูปแบบที่เฉพาะสําหรับสัญลักษณ์แต่ละตัว. Code128InputParser, Code39InputParser, Ean13InputParser, Ean8InputParser, QrInputParser, UpcaInputParser,และ UpceInputParser ใช้ภายในโดยหน้าที่ช่วยของแต่ละตัว.


barcode object วัตถุบาร์โค้ด

การ Barcode object ที่กลับโดยฟังก์ชันผู้ช่วยทั้งหมด ให้:

  • to_svg(options) การทําตัวเป็น SVG สตริง
  • to_png(options) การทําตัวเป็น PNG byte
  • render(renderer, options) การทําการแสดงโดยใช้แบบเฉพาะเจาะจง Renderer การดําเนินงาน
  • symbol สาขา EncodedSymbol ซึ่งมีเมทริกซ์โมดูลและ เมตาเดต้า
  • profile สาขา SymbologyProfile ด้วยการกําหนดและความสามารถ

คําอธิบายการพบบ่อย API

ClassDescription
Barcodeอัตถุบาร์โค้ดสาธารณะที่มี to_svg() และ to_png()
Code128Optionsตัวเลือกการรหัสสําหรับโค้ด 128 (encode_mode)
Code39Optionsตัวเลือกการรหัสสําหรับโค้ด 39 (full_ascii, add_check_digit)
QrOptionsตัวเลือกการรหัส QR Code (error_correction_level, encoding_mode, version, mask)
Ean13Optionsตัวเลือกการรหัสสําหรับ EAN-13 (allow_check_digit_input)
Ean8Optionsตัวเลือกการรหัสสําหรับ EAN-8 (allow_check_digit_input)
UpcaOptionsตัวเลือกการรหัสสําหรับ UPC-A (allow_check_digit_input)
UpceOptionsตัวเลือกการรหัส UPC-E (allow_check_digit_input, number_system)
RenderOptionsการควบคุมการออกแบบทางวิวชู (ขนาด, DPI, สี, กลอน)
EncodeOptionsประเภทฐานสําหรับตัวเลือกการรหัสเฉพาะทางสัญลักษณ์
BarcodeErrorพื้นฐานความพิเศษสําหรับห้องสมุดบาร์โค้ด

See Also

 ภาษาไทย