Add Fonts Using CSS

Curtis Chau
Curtis Chau
Updated: July 7, 2026

IronPDF embeds a font automatically when that font is referenced through CSS, so you can style text with a custom typeface without calling any font API directly. Point the renderer at a stylesheet that declares the font, and the file is picked up and embedded during rendering.

This example sets a custom stylesheet through RenderingOptions.CustomCssUrl and renders a Razor component:

ChromePdfRenderer renderer = new ChromePdfRenderer();
Parameters.Add("persons", persons);
renderer.RenderingOptions.CustomCssUrl = $"wwwroot/css/custom.css";
PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters);
File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData);

The custom.css file declares the font with an @font-face rule and then applies it:

@font-face {
   font-family: 'DancingScript';
   src: url('../fonts/DancingScript-Regular.ttf') format('truetype');
   font-weight: normal;
   font-style: normal;
}
body {
   font-family: 'DancingScript', Arial, sans-serif;
}
CSS

Because the @font-face rule names the file in src, IronPDF resolves and embeds DancingScript-Regular.ttf on its own, with no explicit registration step.

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.

Read More

Ready to Get Started?

Nuget Downloads 21,916,531Version:2026.11just released