Osadzanie czcionek niestandardowych w IronPDF na kontenerach Docker Linux

This article was translated from English: Does it need improvement?
Translated
View the article in English

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>
<!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>
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.Print;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
$vbLabelText   $csharpLabel

Dla pelnej konfiguracji Docker Linux, zobacz przewodnik po IronPDF Docker.

Curtis Chau
Autor tekstów technicznych

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ę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 20,088,359 | Wersja: 2026.7 właśnie wydany
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPdf
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.