Use PdfDocumentBuilder to construct a new PDF. You can add standard 14 fonts (like Helvetica) or register TrueType (.ttf) fonts to support non-ASCII characters.
Note on Coordinates: PDF coordinates run from the bottom-left of the page upwards. The Y coordinate of the top of the page is higher than 0.
using System.IO;
using UglyToad.PdfPig.Content;
using UglyToad.PdfPig.Core;
using UglyToad.PdfPig.Fonts.Standard14Fonts;
using UglyToad.PdfPig.Writer;
public static class Program
{
public static void Main()
{
PdfDocumentBuilder builder = new PdfDocumentBuilder();
PdfDocumentBuilder.AddedFont helvetica = builder.AddStandard14Font(Standard14Font.Helvetica);
PdfDocumentBuilder.AddedFont helveticaBold = builder.AddStandard14Font(Standard14Font.HelveticaBold);
PdfPageBuilder page = builder.AddPage(PageSize.A4);
PdfPoint closeToTop = new PdfPoint(15, page.PageSize.Top - 25);
page.AddText("My first PDF document!", 12, closeToTop, helvetica);
page.AddText("Hello World!", 10, closeToTop.Translate(0, -15), helveticaBold);
File.WriteAllBytes(@"C:\temp\file.pdf", builder.Build());
}
}
Using TrueType Fonts:
PdfDocumentBuilder builder = new PdfDocumentBuilder();
byte[] robotoBytes = File.ReadAllBytes(@"C:\fonts\roboto.ttf");
PdfDocumentBuilder.AddedFont roboto = builder.AddTrueTypeFont(robotoBytes);
using System.IO;
using UglyToad.PdfPig.Content;
using UglyToad.PdfPig.Core;
using UglyToad.PdfPig.Fonts.Standard14Fonts;
using UglyToad.PdfPig.Writer;
public static class Program
{
public static void Main()
{
PdfDocumentBuilder builder = new PdfDocumentBuilder();
PdfDocumentBuilder.AddedFont helvetica = builder.AddStandard14Font(Standard14Font.Helvetica);
PdfDocumentBuilder.AddedFont helveticaBold = builder.AddStandard14Font(Standard14Font.HelveticaBold);
PdfPageBuilder page = builder.AddPage(PageSize.A4);
PdfPoint closeToTop = new PdfPoint(15, page.PageSize.Top - 25);
page.AddText("My first PDF document!", 12, closeToTop, helvetica);
page.AddText("Hello World!", 10, closeToTop.Translate(0, -15), helveticaBold);
File.WriteAllBytes(@"C:\temp\file.pdf", builder.Build());
}
}