-
Notifications
You must be signed in to change notification settings - Fork 242
Home
This wiki contains more detail on various aspects of the public API and the PDF document format.
PdfPig aims to provide 2 main areas of functionality:
- Extracting PDF content.
- Creating PDFs.
The simplest usage of the library for extracting content involves opening a document and extracting the position and text of all words across all pages:
using System.Collections.Generic;
using UglyToad.PdfPig;
using UglyToad.PdfPig.Content;
using (PdfDocument document = PdfDocument.Open(@"C:\path\to\file.pdf"))
{
foreach (Page page in document.GetPages())
{
IEnumerable<Word> words = page.GetWords();
}
}
Pages can also be accessed individually with an index starting at 1. You can also access the positions and sizes of the individual letters on a page:
using System.Collections.Generic;
using UglyToad.PdfPig;
using UglyToad.PdfPig.Content;
using (PdfDocument document = PdfDocument.Open(@"C:\path\to\file.pdf"))
{
Page page = document.GetPage(1);
IReadOnlyList<Letter> letters = page.Letters;
}
For document creation a new document can be created using the Standard14 fonts which are included in the PDF specification:
PdfDocumentBuilder builder = new PdfDocumentBuilder();
PdfPageBuilder page = builder.AddPage(PageSize.A4);
PdfDocumentBuilder.AddedFont font = builder.AddStandard14Font(Standard14Font.Helvetica);
page.AddText("Hello World!", 12, new PdfPoint(25, 520), font);
byte[] b = builder.Build();
The resulting bytes are a valid PDF document and can be saved to the file system, served from a web server, etc.
More details on the API can be found here.
Release notes as well as downloadable packages can be found on the releases page https://github.com/UglyToad/PdfPig/releases.