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
- Create a
Document
object. - Create a
Page
object and add it to theDocument
object instance. - Create a
OpenTypeFont
object and specify the font filename. - Create a
TextArea
object and specify the font and add it to thePage
instance. - 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
- Create a
Document
object. - Create a
Page
object and add it to theDocument
instance. - Create a
Type1Font
object and provide the font file name. - Create a
TextArea
page element and specify the font and other necessary parameters. - Add Text Area to the
Page
instance. - 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
- Font.HeiseiKakuGothicW5
- Font.HeiseiMinchoW3
Korean
- Font.HanyangSystemsGothicMedium
- Font.HanyangSystemsShinMyeongJoMedium
Simplified Chinese
- ont.SinoTypeSongLight
Traditional Chinese
- Font.MonotypeHeiMedium
- 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
- Create a
Document
object. - Create a
Page
object and add it to theDocument
instance. - Use the font to create a
TextArea
page element and specify the font and other necessary parameters. - 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.
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.
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.
- Java - DynamicPDF Generator for Java
- COM/ActiveX - DynamicPDF Generator for COM/ActiveX