PDFsharp creates and processes PDFs on the fly using GDI+-style drawing routines (text, images, shapes) shared across screen, PDF, and metafile output — draw once, render to any of the three. MigraDoc layers a higher-level document object model on top (paragraphs, tables, charts, sections, styles) with automatic pagination, bookmarks, tables of contents, and indexes, rendering that same document model to either PDF or RTF. The two projects ship together and are commonly used as a pair.