Izlazak čipnih kodova
Izlazak čipnih kodova
Aspose.BarCode FOSS for Python separates encoding from rendering. After a barcode is encoded into an EncodedSymbol, a) Renderer implementacija pretvara matricu modula u vizualni izlaz. Biblioteka uključuje: SvgRenderer i u članku 1. PngRenderer.
RenderOptions
RenderOptions Prebaci ga na: to_svg() ili: to_png() na bilo koji od tih Barcode predmet:
import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.code128("Hello World")
svg = bc.to_svg(options=RenderOptions(
scale=2.0,
foreground_color="#003366",
quiet_zone=10.0,
show_text=True,
))| Property | Type | Description |
|---|---|---|
scale | float | Jednopravni multiplikator skali za cijeli barkod |
dpi | int | Rezolucija za izlaz PNG (nema utjecaja na SVG) |
module_width | float | Širina jednog modula čipnog koda u korisničkim jedinicama |
module_height | float | U slučaju da je to moguće, mora se provesti provedba postupka iz stavka 1. |
quiet_zone | float | Bjelokrug polja oko barkod |
foreground_color | str | U slučaju ulaska na površinu ili prilikom vožnje, za koje je potrebno utvrditi raspon vozila i/ili brzine.., "#000000") |
background_color | str | Hex boja za pozadinu |
transparent_background | bool | Prostrana pozadina za izlaz PNG-a |
show_text | bool | Pokaži tekst koji može čitati čovjek ispod barkoda. |
font_family | str | Članci za čitljiv tekst |
font_size | float | Veličina fontova za tekst koji može čitati čovjek |
ResolvedRenderOptions
ResolvedRenderOptions je potpuno spajana konfiguracija proizvedena od strane: OptionsResolver.resolve().- kombinira se s proizvodima koje su dostavljeni od strane korisnika. RenderOptions s člankom 1. SymbologyProfile U ovom slučaju, to je samo jedna od vrsta opticaja. None).
U skladu s člankom 1. Barcode.default_render_options imovina drži RenderOptions prijenos u vrijeme generacije (ili None ako nije dostavljena).
SVG izlaz
SvgRenderer Izlazi SVG. to_svg() na: Barcode predmet:
bc = barcode.ean13("590123412345")
svg_string = bc.to_svg()
# With custom options
svg_custom = bc.to_svg(options=RenderOptions(
scale=3.0,
foreground_color="#1a1a1a",
show_text=True,
font_family="Helvetica",
font_size=12.0,
))
with open("ean13.svg", "w") as f:
f.write(svg_custom)to_svg() vraća a str U ovom slučaju, u skladu s člankom 16. stavkom 1. točkom (a) ovog članka.
Izlaz PNG-a
PngRenderer Izlazi PNG. to_png() na: Barcode predmet:
bc = barcode.qr("https://example.com")
png_bytes = bc.to_png()
# With custom options
png_custom = bc.to_png(options=RenderOptions(
scale=4.0,
dpi=300,
transparent_background=True,
))
with open("qr.png", "wb") as f:
f.write(png_custom)to_png() povratni podaci bytes U ovom slučaju, u skladu s člankom 16. stavkom 1. točkom (a) i podstavkom 2.
Renderer apstrakcija
U skladu s člankom 1. Renderer abstract osnovna klasa definiše sučelje za sve renderere:
class Renderer(ABC):
def render(self, symbol, layout, options) -> RenderedArtifact: ...SvgRenderer i u članku 1. PngRenderer Oba implementirati ovaj interfejs. Možete nazvati Barcode.render(renderer, options) za korištenje određenog renderera izravno:
from aspose_barcode_foss import SvgRenderer, RenderOptions
bc = barcode.code128("DATA")
artifact = bc.render(SvgRenderer(), RenderOptions(scale=2.0))
print(artifact.media_type) # "image/svg+xml"
print(type(artifact.data)) # <class 'str'>RenderedArtifact
U skladu s člankom 1. RenderedArtifact vraćeno od strane: Renderer.render() sadrži:
| Property | Type | Description |
|---|---|---|
data | `str | bytes` |
media_type | str | MIME tip ("image/svg+xml" ili: "image/png") |
backend | str | Identifikator proizvođača |
Izgradnja teksta
Svaka simbolika ima svoj simbol. TextLayoutPolicy To određuje kako se čitljiv tekst nalazi ispod barkodova. create_layout(symbol, options) metoda vraća a TextLayout sadržavajući: TextSegment objekte s podacima o položaju i tekstu.
Koriste QR kodove QrTextLayoutPolicy, koji pruža no-op raspored (QR kodovi ne prikazuju ljudski čitljiv tekst).
Savjeti i najbolje prakse
- Upotreba:
scaleza jednake veličine imodule_width/module_heightza preciznu kontrolu dimenzija ne kombinirajte oboje. - Sastavljeno
dpi=300U slučaju da je to moguće, podnositelj zahtjeva može zatražiti od strane nadležnog tijela da se obavijest o tome. - Upotreba:
transparent_background=Trueza PNG barkodove koji će biti prekriveni na obojenim pozadinama. foreground_colori u članku 1.background_colorPrihvaćanje standardnih hex-barvnih nizova ("#RRGGBB").- SVG izlaz je neovisno o rezoluciji preferira se za web i PDF ugrađivanje.
Zajednički problemi
| Issue | Cause | Popraviti |
|---|---|---|
| PNG je premalen. | Standardna skala je 1.0 | Increase scale ili postavljen dpi |
| Tekst nije vidljiv | show_text Neispunjavanje zahtjeva za: False | Sastavljeno show_text=True |
| QR kod nema tekstualnog sadržaja. | QR simbolika ne podržava tekst koji može čitati čovjek | Očekuje se ponašanje QR koristi no-op tekst raspored |
| Neprimenjene boje | Ime imovine pogrešno napisano. | Koristite tačna imena svojstava: foreground_color, background_color |