วิธีแสดงบาร์โค้ดด้วย Aspose.BarCode FOSS

วิธีแสดงบาร์โค้ดด้วย Aspose.BarCode FOSS

Problem

หลังจากสร้างบาร์โค้ดแล้ว คุณต้องเรนเดอร์เป็นไฟล์ภาพ Aspose.BarCode FOSS สำหรับ Python จะเรนเดอร์บาร์โค้ดเป็นรูปแบบ SVG และ PNG ผ่านเมธอด to_svg() และ to_png() บนวัตถุ Barcode คลาส RenderOptions ควบคุมคุณสมบัติทางภาพ เช่น สเกล, DPI, สี, โซนเงียบ, และการแสดงข้อความที่อ่านได้โดยมนุษย์.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions

bc = barcode.code128("RENDER-ME")
png = bc.to_png(options=RenderOptions(scale=2.0, dpi=300))

ข้อกำหนดเบื้องต้น

  • Python 3.12 หรือใหม่กว่า
  • ตัวจัดการแพ็คเกจ pip
  • aspose-barcode-foss ที่สร้างจากซอร์ส

ผลลัพธ์ SVG

เรียก to_svg() เพื่อรับบาร์โค้ดเป็นสตริง SVG. ผลลัพธ์ SVG เป็นแบบเวกเตอร์และสามารถขยายได้โดยไม่สูญเสียคุณภาพ.

import aspose_barcode_foss as barcode

bc = barcode.qr("https://example.com")
svg_string = bc.to_svg()

with open("barcode.svg", "w") as f:
    f.write(svg_string)

ผลลัพธ์ PNG

เรียก to_png() เพื่อรับบาร์โค้ดเป็นไบต์ PNG. ผลลัพธ์ PNG ถูกแปลงเป็นแรสเตอร์ตามสเกลและ DPI ที่ระบุ.

import aspose_barcode_foss as barcode

bc = barcode.code128("PNG-OUTPUT")
png_bytes = bc.to_png()

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

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

ใช้ RenderOptions เพื่อกำหนด scale (ตัวคูณแบบ float สำหรับขนาดโมดูล) และ dpi (จุดต่อนิ้วสำหรับผลลัพธ์แรสเตอร์). คุณยังสามารถกำหนดค่า module_width และ module_height โดยตรงเพื่อควบคุมมิติของโมดูลแต่ละตัวอย่างแม่นยำ.

from aspose_barcode_foss import RenderOptions

options = RenderOptions(
    scale=3.0,
    dpi=300,
    module_width=1.5,
    module_height=25.0,
)
png = bc.to_png(options=options)

การตั้งค่าสี

ตั้งค่า foreground_color และ background_color เป็นสตริงสี CSS. ใช้ transparent_background=True สำหรับผลลัพธ์ PNG ที่ไม่มีการเติมพื้นหลัง.

from aspose_barcode_foss import RenderOptions

options = RenderOptions(
    foreground_color="#003366",
    background_color="#FFFFFF",
)
svg = bc.to_svg(options=options)

# Transparent background for PNG
options_transparent = RenderOptions(
    foreground_color="#000000",
    transparent_background=True,
)
png = bc.to_png(options=options_transparent)

โซนเงียบ

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

from aspose_barcode_foss import RenderOptions

options = RenderOptions(quiet_zone=10.0)
svg = bc.to_svg(options=options)

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

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

from aspose_barcode_foss import RenderOptions

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

RenderOptions คุณสมบัติ

คุณสมบัติประเภทคำอธิบาย
scalefloatตัวคูณสำหรับขนาดโมดูล
dpiintจุดต่อนิ้ว (ผลลัพธ์แบบราสเตอร์)
module_widthfloatความกว้างของโมดูลหนึ่ง
module_heightfloatความสูงของโมดูลหนึ่ง
quiet_zonefloatระยะขอบช่องว่างในหน่วยโมดูล
foreground_colorstrสี CSS สำหรับแถบ/โมดูล
background_colorstrสี CSS สำหรับพื้นหลัง
transparent_backgroundboolพื้นหลัง PNG โปร่งใส
show_textboolแสดงข้อความที่อ่านได้โดยมนุษย์
font_familystrแบบอักษรสำหรับข้อความที่อ่านได้โดยมนุษย์
font_sizefloatขนาดฟอนต์สำหรับข้อความที่อ่านได้โดยคน

ข้อจำกัดที่ทราบ

เมธอด to_pdf() และคลาส PdfRenderer มีอยู่ใน API แต่จะทำให้เกิด NotImplementedError. ใช้ to_svg() หรือ to_png() แทน. ผลลัพธ์ SVG สามารถฝังในเอกสาร PDF ด้วยเครื่องมือภายนอก.

ดูเพิ่มเติม

 ภาษาไทย