Examples

Adding Fonts to PDF

Adding different types of fonts to a PDF using DynamicPDF Core Suite is straightforward.

How to Add Open Type Fonts to PDF

The following steps and sample code add Open Type Fonts to a PDF document using DynamicPDF Core Suite.

Steps for Adding Open Type Font to a PDF Document

  1. Create a Document object.
  2. Create a Page object and add it to the Document object instance.
  3. Create a OpenTypeFont object and specify the font filename.
  4. Create a TextArea object and specify the font and add it to the Page instance.
  5. Save the PDF document.

Sample Code - C#

Document document = new Document();

Page page = new Page();
document.Pages.Add( page );
           
// Create a OpenType font class.
OpenTypeFont openTypeFont = new OpenTypeFont( "verdana.otf" ); 
// Use the OpenType font in a text area Page Element. 
page.Elements.Add( new TextArea("Text", 0, 0, 200, 12, openTypeFont, 12 ) );   

document.Draw(@"Output.pdf");        

Character Shaping in PDF

Character Shaping or Complex Text Layout (CTL) is the selection of the required shape of a character based on that character's position within a word and surrounding characters.

How to Use Type1 Fonts in PDF

The following steps and sample code illustrate using a Type1 Font in a PDF document.

Steps for Using Fonts in a PDF Document

  1. Create a Document object.
  2. Create a Page object and add it to the Document instance.
  3. Create a Type1Font object and provide the font file name.
  4. Create a TextArea page element and specify the font and other necessary parameters.
  5. Add Text Area to the Page instance.
  6. Save the PDF document.

Sample Code - C#

Document document = new Document();

Page page = new Page();
document.Pages.Add( page );
           
Type1Font type1Font = new Type1Font( @"Eras.pfm", @"Eras.pfb" );
page.Elements.Add( new TextArea( "Text", 0, 0, 200, 12, type1Font, 12 ) );      

document.Draw(@"Output.pdf");        

How to Use CJK Fonts in PDF

Seven of the fonts included with Adobe's Asian Font Pack can be used in a PDF document and do not need to be embedded into a PDF document when it is created. The only requirement is that the system where the PDF is being viewed should have the Asian Font Pack installed. The 7 CJK PDF fonts are accessed through static properties on the Font class:

Japanese

  1. Font.HeiseiKakuGothicW5
  2. Font.HeiseiMinchoW3

Korean

  1. Font.HanyangSystemsGothicMedium
  2. Font.HanyangSystemsShinMyeongJoMedium

Simplified Chinese

  1. ont.SinoTypeSongLight

Traditional Chinese

  1. Font.MonotypeHeiMedium
  2. Font.MonotypeSungLight

The following steps and sample code illustrate using CJK Fonts in a PDF document.

Steps for Using CJK Fonts in a PDF Document

  1. Create a Document object.
  2. Create a Page object and add it to the Document instance.
  3. Use the font to create a TextArea page element and specify the font and other necessary parameters.
  4. Save the PDF document.

Sample Code - C#

Document document = new Document();

Page page = new Page();
document.Pages.Add( page );
           
page.Elements.Add( new TextArea( "CJK Text", 0, 0, 200, 12, Font.HeiseiKakuGothicW5, 16 ) );         

document.Draw(@"Output.pdf");        

GitHub Project

Clone or view the example project at GitHub. This example code is contained in the Examples/FontsExample.cs file.

Clone or View Example Project on GitHub

Getting Started

NuGet Package

DynamicPDF Core Suite is available on NuGet and is part of the ceTe.DynamicPDF.CoreSuite.NET package. The easiest way to install the package is through the Visual Studio Package Manager, but you can also download directly from NuGet.

NuGet Package ID: ceTe.DynamicPDF.CoreSuite.NET

DynamicPDF Core Suite Information

More information on DynamicPDF Core Suite can be found on its website.

Available on Other platforms

DynamicPDF Core Suite is also available for the Java and COM/ActiveX platforms. Refer to the respective product pages for more details.

Why Choose DynamicPDF?

  • Transparent Pricing
  • Lots of Features
  • Easy to Use
  • Great Support
  • Efficient Performance
  • Product Maturity (Over 22 Years)
  • Free Evaluation
  • .NET Core Support (Most Products)
  • Flexible Licensing

We’re Not The Only Ones That Think We’re Great!