Cách hiển thị mã vạch với Aspose.BarCode FOSS

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ínhKiểuMô tả
scalefloatHệ số nhân cho kích thước mô-đun
dpiintĐiểm trên mỗi inch (đầu ra raster)
module_widthfloatChiều rộng của một module
module_heightfloatChiều cao của một module
quiet_zonefloatLề khoảng trắng theo đơn vị module
foreground_colorstrCSS màu cho các thanh/mô-đun
background_colorstrCSS màu cho nền
transparent_backgroundboolNền PNG trong suốt
show_textboolHiển thị văn bản có thể đọc được
font_familystrPhông chữ cho văn bản có thể đọc được
font_sizefloatKí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.

Xem thêm

 Tiếng Việt