IronPDF ile Linux Docker Konteynerlarında Özelleştirilmiş Fontları Gömme
Özelleştirilmiş fontlar, Windows üzerinde PDF oluşturulduğunda doğru şekilde gömülür ama Linux Docker konteynerında gömülmez. Beklenen font yerine, işleyici geri dönüş olarak DejaVu Sans kullanır.
Linux sistemlerde ve Docker konteynerlarının içinde, fontların açıkça yüklenmesi veya referans verilmesi gerekir. Eğer Chrome işleme motoru için bir font mevcut değilse, IronPDF varsayılan geri dönüş fontunu sistemden kullanarak görsel farklılıklara ve gömme hatalarına neden olur.
Çözüm
Seçenek 1: Arial ve benzeri fontlar için Microsoft çekirdek fontlarını yükleyin
Dockerfile dosyanıza ekleyin:
RUN apt update && apt install -y ttf-mscorefonts-installer
Seçenek 2: @font-face ile özelleştirilmiş fontları gömün
Poppins veya Roboto gibi sistem dışı yazı tipleri için, bunları HTML'de bir Docker imajı içinde yerleştirilmiş olan .ttf dosyasına giden bir yol ile @font-face kullanarak tanımlayın:
<!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>
Seçenek 3: Print CSS medya türünü kullanın
Baskı için özel stilleri uygulamak üzere CssMediaType ayarlayın, @font-face beyanları dahil olmak üzere:
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
Tam bir Linux Docker kurulumu için, IronPDF Docker rehberine bakın.

