Skip to content

v3.0.3

Choose a tag to compare

@brunoleocam brunoleocam released this 04 Mar 19:13
· 13 commits to main since this release
82f0984

ZPL2PDF v3.0.3

🐛 Fixed

  • Issue #53: Rendering mismatch and text overlap on Linux (CentOS 9, Alpine) vs Labelary

    • BinaryKits.Zpl.Viewer 1.2.1 and BinaryKits.Zpl.Label 3.2.1 kept for Linux/Docker compatibility (1.3.1/3.3.1 cause "Method not found" for SixLabors.ImageSharp in container due to API change in ImageSharp 3.x)
    • Removed unused BinaryKits.Zpl.Protocol reference (it pulled ImageSharp 2.x and triggered the conflict)
    • Dockerfile: PublishSingleFile=false and copy full publish output so correct assemblies load in Alpine
  • Encoding (^FH _XX): Accented characters (ã, ç, ú) in ZPL field data no longer appear as mojibake (ã, ç, ú) in PDF

    • Decode ^FH _XX hex sequences inside ^FD...^FS as UTF-8 in LabelFileReader.PreprocessZpl (DecodeFhHexInFieldData)
    • Read ZPL input files with UTF-8 encoding
  • Custom fonts (--fonts-dir / --font): Fixed custom TTF/OTF fonts not being applied (e.g. ^AAN, ^ABN)

    • --fonts-dir and --font "ID=path" are now parsed and passed through to the offline renderer
    • FontLoader in LabelRenderer maps ZPL font IDs (0, A, B, …) to provided font files; relative paths are resolved against --fonts-dir
    • When a font file is not found, renderer falls back to default typeface instead of failing

📦 Technical Details

  • Files modified: LabelRenderer.cs (CreateDrawerOptions, FontLoader from --fonts-dir/--font), ZPL2PDF.csproj (BinaryKits 1.2.1/3.2.1, no Protocol), Dockerfile (PublishSingleFile=false, copy full publish), LabelFileReader.cs (PreprocessZpl DecodeFhHexInFieldData, ReadFile UTF-8), ArgumentParser.cs, ArgumentProcessor.cs, ConversionService.cs, ConversionModeHandler.cs, IConversionService.cs
  • Files added: docs/guides/LINUX-RENDERING.md, release/docker-test-linux-issue53.ps1, tests/.../custom-fonts-test.zpl, custom-fonts-test.txt

📦 Downloads

Platform File
Windows Installer ZPL2PDF-Setup-3.0.3.exe
Windows x64 ZPL2PDF-v3.0.3-win-x64.zip
Windows x86 ZPL2PDF-v3.0.3-win-x86.zip
Windows ARM64 ZPL2PDF-v3.0.3-win-arm64.zip
Linux x64 ZPL2PDF-v3.0.3-linux-x64.tar.gz
Linux ARM64 ZPL2PDF-v3.0.3-linux-arm64.tar.gz
Linux ARM ZPL2PDF-v3.0.3-linux-arm.tar.gz
macOS Intel ZPL2PDF-v3.0.3-osx-x64.tar.gz
macOS Apple Silicon ZPL2PDF-v3.0.3-osx-arm64.tar.gz

🐳 Docker

docker pull brunoleocam/zpl2pdf:3.0.3
docker pull ghcr.io/brunoleocam/zpl2pdf:3.0.3

📚 Documentation

Full Changelog: v3.0.2...v3.0.3