Osadzanie czcionek niestandardowych w IronPDF na kontenerach Docker Linux
Czcionki niestandardowe wlasciwie osadzaja sie podczas generowania PDF na Windows, ale nie udaje sie ich osadzic wewnatrz kontenera Docker na Linux. Zamiast zamierzonej czcionki, renderer korzysta z DejaVu Sans jako czcionki zastepczej.
Na systemach Linux i wewnatrz kontenerow Docker czcionki musza byc wyraznie zainstalowane lub zarejestrowane. Jesli czcionka nie jest dostepna dla silnika renderujacego Chrome, IronPDF zastepuje ja domyslna czcionka systemowa, co powoduje roznice wizualne i niepowodzenia w osadzaniu.
Rozwiązanie
Opcja 1: Zainstaluj podstawowe czcionki Microsoft dla czcionek Arial i podobnych
Dodaj do swojego Dockerfile:
RUN apt update && apt install -y ttf-mscorefonts-installer
Opcja 2: Osadzenie czcionek niestandardowych z uzyciem @font-face
Dla czcionek niesystemowych, takich jak Poppins czy Roboto, zadeklaruj je w HTML za pomocą @font-face z ścieżką do pliku .ttf umieszczonego wewnątrz obrazu Docker:
<!DOCTYPE html>
<html>
<head>
<style>
@font-face {
font-family: 'Poppins';
src: url('fonts/Poppins-Regular.ttf');
}
p {
font-family: 'Poppins';
font-size: 16px;
}
</style>
</head>
<body>
<p>Custom font text</p>
</body>
</html>
Opcja 3: Uzycie typu media Print CSS
Ustaw CssMediaType, aby zastosować style specyficzne dla druku, w tym deklaracje @font-face:
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.PrintDla pelnej konfiguracji Docker Linux, zobacz przewodnik po IronPDF Docker.

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.