From 2fbbe1142b8444954f865f684e14a0fe8bd07ed0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20P=C3=B6ttker?= Date: Fri, 8 May 2026 09:36:55 +0200 Subject: [PATCH] fix: add liberation fonts to Docker image and configure resvg to use them for label rendering --- paperless-backend/Dockerfile | 2 +- .../src/label-print-agent/label-renderer.service.ts | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/paperless-backend/Dockerfile b/paperless-backend/Dockerfile index 649bb70..cf52e62 100644 --- a/paperless-backend/Dockerfile +++ b/paperless-backend/Dockerfile @@ -8,7 +8,7 @@ RUN npm run build # Production FROM node:20-alpine -RUN apk add --no-cache ghostscript imagemagick +RUN apk add --no-cache ghostscript imagemagick font-liberation fontconfig WORKDIR /app COPY --from=builder /app/dist ./dist COPY --from=builder /app/node_modules ./node_modules diff --git a/paperless-backend/src/label-print-agent/label-renderer.service.ts b/paperless-backend/src/label-print-agent/label-renderer.service.ts index d7d0905..108b57e 100644 --- a/paperless-backend/src/label-print-agent/label-renderer.service.ts +++ b/paperless-backend/src/label-print-agent/label-renderer.service.ts @@ -89,7 +89,14 @@ export class LabelRendererService { ${parts.join('\n ')} `; - const resvg = new Resvg(svg, { font: { loadSystemFonts: true } }); + const resvg = new Resvg(svg, { + font: { + loadSystemFonts: true, + fontDirs: ['/usr/share/fonts', '/usr/local/share/fonts'], + defaultFontFamily: 'Liberation Sans', + sansSerifFamily: 'Liberation Sans', + }, + }); return Buffer.from(resvg.render().asPng()); } }