Cách hiển thị mã vạch với Aspose.BarCode FOSS
Problem
Sau khi tạo mã vạch, bạn cần hiển thị nó dưới dạng tệp hình ảnh. Aspose.BarCode FOSS cho Python chuyển đổi mã vạch sang định dạng SVG và PNG thông qua các phương thức to_svg() và to_png() trên đối tượng Barcode. Lớp RenderOptions kiểm soát các thuộc tính trực quan như tỷ lệ, DPI, màu sắc, vùng im lặng và hiển thị văn bản có thể đọc được bởi con người.
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))Yêu cầu trước
- Python 3.12 hoặc mới hơn
- trình quản lý gói pip
aspose-barcode-fossđược biên dịch từ mã nguồn
Đầu ra SVG
Gọi to_svg() để lấy mã vạch dưới dạng chuỗi SVG. Đầu ra SVG dựa trên vector và có thể phóng to mà không mất chất lượng.
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)Đầu ra PNG
Gọi to_png() để lấy mã vạch dưới dạng byte PNG. Đầu ra PNG được raster hoá ở tỷ lệ và DPI đã chỉ định.
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)Kiểm soát Tỷ lệ và DPI
Sử dụng RenderOptions để đặt scale (một hệ số nhân kiểu float cho kích thước mô-đun) và dpi (điểm trên mỗi inch cho đầu ra raster). Bạn cũng có thể đặt module_width và module_height trực tiếp để kiểm soát chính xác kích thước từng mô-đun.
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)Cài đặt Màu sắc
Đặt foreground_color và background_color dưới dạng chuỗi màu CSS. Sử dụng transparent_background=True cho đầu ra PNG không có nền.
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)Vùng Yên Tĩnh
Thuộc tính quiet_zone kiểm soát lề khoảng trắng quanh mã vạch tính bằng đơn vị mô-đun. Các tiêu chuẩn mã vạch thường yêu cầu một vùng yên tĩnh tối thiểu để quét đáng tin cậy.
from aspose_barcode_foss import RenderOptions
options = RenderOptions(quiet_zone=10.0)
svg = bc.to_svg(options=options)Văn bản có thể đọc được
Đặt show_text=True để hiển thị văn bản có thể đọc được dưới mã vạch. Kiểm soát phông chữ bằng font_family và 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)Thuộc tính RenderOptions
| Thuộc tính | Kiểu | Mô tả |
|---|---|---|
scale | float | Hệ số nhân cho kích thước mô-đun |
dpi | int | Điểm trên mỗi inch (đầu ra raster) |
module_width | float | Chiều rộng của một module |
module_height | float | Chiều cao của một module |
quiet_zone | float | Lề khoảng trắng theo đơn vị module |
foreground_color | str | CSS màu cho các thanh/mô-đun |
background_color | str | CSS màu cho nền |
transparent_background | bool | Nền PNG trong suốt |
show_text | bool | Hiển thị văn bản có thể đọc được |
font_family | str | Phông chữ cho văn bản có thể đọc được |
font_size | float | Kích thước phông chữ cho văn bản có thể đọc được |
Hạn chế đã biết
Phương thức to_pdf() và lớp PdfRenderer tồn tại trong API nhưng gây ra NotImplementedError. Hãy sử dụng to_svg() hoặc to_png() thay thế. Đầu ra SVG có thể được nhúng vào tài liệu PDF bằng các công cụ bên ngoài.