บทนำ

Aspose.BarCode FOSS สำหรับ Python สร้างบาร์โค้ดในเจ็ดรูปแบบสัญลักษณ์และแปลงเป็น SVG และ PNG. โพสต์นี้มุ่งเน้นที่ท่อการแสดงผล — วิธีควบคุมรูปแบบเอาต์พุต, ขนาด, สี, และข้อความที่มนุษย์อ่านได้โดยใช้ RenderOptions, SvgRenderer, และ PngRenderer.

ไลบรารีนี้พร้อมให้ใช้บน PyPI ในชื่อ aspose-barcode-foss, ปล่อยภายใต้สัญญาอนุญาต MIT โดยไม่มีการพึ่งพาเนทีฟใด ๆ ทุกอ็อบเจกต์บาร์โค้ดจะเปิดเผยเมธอดสะดวก to_svg() และ to_png(), พร้อมเมธอดระดับล่าง render() ที่รับการทำงานของ Renderer ใด ๆ.


คุณลักษณะสำคัญ

ผลลัพธ์ SVG ด้วย SvgRenderer

SvgRenderer สร้างมาร์กอัป SVG ที่ไม่ขึ้นกับความละเอียด. เมธอด Barcode.to_svg() เป็นทางลัดที่ใช้ SvgRenderer ภายใน.

from aspose_barcode_foss import BarcodeService, RenderOptions
from aspose_barcode_foss.rendering import SvgRenderer

service = BarcodeService()
barcode = service.generate("code128", "RENDER-TEST-001")

# Direct convenience method
svg_string = barcode.to_svg(RenderOptions(scale=2.0))

# Explicit renderer usage
renderer = SvgRenderer()
result = barcode.render(renderer, RenderOptions(scale=2.0, show_text=True))

ผลลัพธ์ PNG ด้วย PngRenderer

PngRenderer สร้างภาพ PNG แบบ raster. ควบคุมความละเอียดด้วยคุณสมบัติ dpi บน RenderOptions. วิธี Barcode.to_png() เป็นทางลัดที่สะดวก.

from aspose_barcode_foss import BarcodeService, RenderOptions
from aspose_barcode_foss.rendering import PngRenderer

service = BarcodeService()
barcode = service.generate("ean13", "590123412345")

# Convenience method — returns bytes
png_bytes = barcode.to_png(RenderOptions(dpi=300, scale=3.0))

with open("barcode.png", "wb") as f:
    f.write(png_bytes)

การควบคุมสเกลและ DPI

RenderOptions มี scale (ตัวคูณสำหรับมิติของโมดูล) และ dpi (จุดต่อหนึ่งนิ้วสำหรับผลลัพธ์ raster). ทั้งสองทำงานร่วมกัน: scale มีผลต่อขนาดเชิงตรรกะของบาร์และช่องว่าง, ส่วน dpi ควบคุมความหนาแน่นของพิกเซลในผลลัพธ์ PNG.

from aspose_barcode_foss import RenderOptions

# High-resolution print label
print_options = RenderOptions(scale=4.0, dpi=600)

# Screen display
screen_options = RenderOptions(scale=1.0, dpi=96)

สีและพื้นหลัง

ตั้งค่า foreground_color และ background_color เป็นสตริงสีแบบ CSS. เปิดใช้งาน transparent_background เพื่อไม่เติมพื้นหลัง (เป็นประโยชน์เมื่อวางซ้อนบนการออกแบบที่มีอยู่).

from aspose_barcode_foss import BarcodeService, RenderOptions

service = BarcodeService()
barcode = service.generate("qrcode", "https://example.com")

options = RenderOptions(
    foreground_color="#003366",
    background_color="#FFFFFF",
    scale=3.0,
)
svg = barcode.to_svg(options)

การควบคุมโซนเงียบ

คุณสมบัติ quiet_zone ตั้งค่าขอบว่างรอบบาร์โค้ดเป็นหน่วยความกว้างของโมดูล. มาตรฐานบาร์โค้ดส่วนใหญ่ต้องการโซนเงียบขั้นต่ำเพื่อการสแกนที่เชื่อถือได้.

from aspose_barcode_foss import BarcodeService, RenderOptions

service = BarcodeService()
barcode = service.generate("code39", "QUIET-ZONE")

# Wider quiet zone for print use
options = RenderOptions(quiet_zone=10.0, scale=2.0)
svg = barcode.to_svg(options)

ข้อความที่มนุษย์อ่านได้

ตั้งค่า show_text=True เพื่อแสดงข้อมูลที่เข้ารหัสใต้บาร์โค้ด คุณสมบัติ font_family และ font_size ควบคุมลักษณะของข้อความ.

from aspose_barcode_foss import BarcodeService, RenderOptions

service = BarcodeService()
barcode = service.generate("upca", "01234567890")

options = RenderOptions(
    show_text=True,
    font_family="monospace",
    font_size=12.0,
    scale=2.5,
)
svg = barcode.to_svg(options)

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

asposefoss/barcode is not yet published — build from source until it ships. See the project README for build instructions.
from aspose_barcode_foss import BarcodeService, RenderOptions

service = BarcodeService()

# Generate a Code 128 barcode
barcode = service.generate("code128", "HELLO-2026")

# Render to SVG with custom options
options = RenderOptions(
    scale=2.0,
    show_text=True,
    foreground_color="#000000",
    background_color="#FFFFFF",
    quiet_zone=4.0,
)

svg_output = barcode.to_svg(options)
with open("hello.svg", "w") as f:
    f.write(svg_output)

# Render to PNG at 300 DPI
png_bytes = barcode.to_png(RenderOptions(dpi=300, scale=3.0))
with open("hello.png", "wb") as f:
    f.write(png_bytes)

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

รูปแบบนามสกุลอ่านเขียน
SVG.svg
PNG.png

หมายเหตุ: PdfRenderer มีอยู่ใน API แต่ทำให้เกิด NotImplementedError ในรุ่นปัจจุบัน.


โอเพนซอร์สและการให้สิทธิ์

Aspose.BarCode FOSS สำหรับ Python ได้รับการเผยแพร่ภายใต้ใบอนุญาต MIT โค้ดต้นฉบับโฮสต์บน GitHub คุณสามารถใช้ แก้ไข และแจกจ่ายไลบรารีนี้ได้ทั้งในโครงการโอเพนซอร์สและเชิงพาณิชย์.


เริ่มต้นใช้งาน

ทรัพยากรที่เกี่ยวข้อง