วิธีแสดงบาร์โค้ดด้วย 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 คุณสมบัติ
| คุณสมบัติ | ประเภท | คำอธิบาย |
|---|---|---|
scale | float | ตัวคูณสำหรับขนาดโมดูล |
dpi | int | จุดต่อนิ้ว (ผลลัพธ์แบบราสเตอร์) |
module_width | float | ความกว้างของโมดูลหนึ่ง |
module_height | float | ความสูงของโมดูลหนึ่ง |
quiet_zone | float | ระยะขอบช่องว่างในหน่วยโมดูล |
foreground_color | str | สี CSS สำหรับแถบ/โมดูล |
background_color | str | สี CSS สำหรับพื้นหลัง |
transparent_background | bool | พื้นหลัง PNG โปร่งใส |
show_text | bool | แสดงข้อความที่อ่านได้โดยมนุษย์ |
font_family | str | แบบอักษรสำหรับข้อความที่อ่านได้โดยมนุษย์ |
font_size | float | ขนาดฟอนต์สำหรับข้อความที่อ่านได้โดยคน |
ข้อจำกัดที่ทราบ
เมธอด to_pdf() และคลาส PdfRenderer มีอยู่ใน API แต่จะทำให้เกิด NotImplementedError. ใช้ to_svg() หรือ to_png() แทน. ผลลัพธ์ SVG สามารถฝังในเอกสาร PDF ด้วยเครื่องมือภายนอก.