How to set single font in PDF using C# and .NET


Working with PDF documents in .NET applications is becoming increasingly popular. One popular tool for this purpose is the component PDF Metamorphosis .NET from SautinSoft API — a powerful and flexible component that allows you to convert, edit, and create PDF files programmatically.

One of the most common tasks in automated PDF processing is the need to set a single font for the entire document. This is important for consistent design, eliminating compatibility issues, and improving the readability of the resulting file.

Setting a single font is the process of programmatically specifying a font that will be used to display all text elements in a PDF document, regardless of the original text sources or default settings.

Advantages of using this code:

  • Ensures a consistent visual style for the document.
  • Improves readability through appropriate font selection.
  • Unify the design of reports, forms, and emails automatically.
  • Provides support for languages and characters that use specialized fonts.

An interesting aspect: automatic insertion of uniform fonts also helps when generating multilingual documents, ensuring support for all necessary characters if the correct font is selected.

Input file:

set single font for the pdf input

Output result:

set single font for the pdf output

Complete code

using System;
using System.IO;
using System.Collections;

namespace Sample
{
	class Test
	{
		
		static void Main(string[] args)
		{
			// Before starting, we recommend to get a free key:
            // https://sautinsoft.com/start-for-free/
            
            // Apply the key here:
			// SautinSoft.PdfMetamorphosis.SetLicense("...");

            // How to set a single font for the whole PDF document.
			SautinSoft.PdfMetamorphosis p = new SautinSoft.PdfMetamorphosis();

            // Let's make that the all text in PDF became in 'Comic Sans MS' font
			p.TextSettings.FontFace.Custom("Comic Sans MS");

            // Set also a single font size 10
            p.TextSettings.FontSize = 10;

            // Set also single text color
            p.TextSettings.FontColor = System.Drawing.Color.FromArgb(33, 150, 33);

			if (p != null)
			{
                string rtfPath = @"..\..\..\example.rtf";
                string pdfPath = Path.ChangeExtension(rtfPath, ".pdf");

                int i = p.RtfToPdfConvertFile(rtfPath,pdfPath);

				if (i !=0)
				{
					System.Console.WriteLine("An error occurred during converting RTF to PDF!");
				}
				else
				{
					System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(pdfPath) { UseShellExecute = true });
				}
			}
		}
	}
}

Download


Namespace Sample
    Friend Class Test
        Shared Sub Main(ByVal args() As String)

            ' How to set a single font for the whole PDF document.
			' Before starting, we recommend to get a free key:
            ' https://sautinsoft.com/start-for-free/
            
            ' Apply the key here:
			' SautinSoft.PdfMetamorphosis.SetLicense("...");


            Dim p As New SautinSoft.PdfMetamorphosis()

            ' Let's make that the all text in PDF became in 'Comic Sans MS' font
            p.TextSettings.FontFace.Custom("Comic Sans MS")

            ' Set also a single font size 10
            p.TextSettings.FontSize = 10

            ' Set also single text color
            p.TextSettings.FontColor = System.Drawing.Color.FromArgb(33, 150, 33)

            If p IsNot Nothing Then
                Dim rtfPath As String = "..\..\..\example.rtf"
                Dim pdfPath As String = "..\..\..\test.pdf"

                Dim i As Integer = p.RtfToPdfConvertFile(rtfPath, pdfPath)

                If i <> 0 Then
                    System.Console.WriteLine("An error occurred during converting RTF to PDF!")
                Else
                    System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(pdfPath) With {.UseShellExecute = True})
                End If
            End If
        End Sub
    End Class
End Namespace

Download


If you need a new code example or have a question: email us at support@sautinsoft.com or ask at Online Chat (right-bottom corner of this page) or use the Form below:


Captcha

Questions and suggestions from you are always welcome!

We are developing .Net components since 2002. We know PDF, DOCX, RTF, HTML, XLSX and Images formats. If you need any assistance with creating, modifying or converting documents in various formats, we can help you. We will write any code example for you absolutely free.