A Portable Document Format (PDF) is best understood by considering it as four parts: Objects, File structure, Document structure and Content streams like in the following diagram:
The following list gives a brief introduction for each of those parts, their implementation in GemBox.Pdf and links to further information.
Objects. A PDF document is a data structure composed from a small set of basic types of data objects. Basic types of PDF data objects are implemented in GemBox.Pdf.Objects namespace.
For more information, see Objects page.
File structure. The PDF file structure determines how objects are stored in a PDF file, how they are accessed and how they are updated. This structure is independent of the semantics of the objects.
Implementation of the PDF file structure is currently not exposed through the GemBox.Pdf interface.
Page File Structure gives more information about these members.
Document structure. The PDF document structure specifies how the basic object types are used to represent components of a PDF document: pages, fonts, annotations and so forth.
Root namespace GemBox.Pdf contains the implementation of the overall document structure. It also contains some general-purpose data structures (for example, PdfRectangle) that are built from the basic object types from GemBox.Pdf.Objects namespace and are used in many places throughout the PDF. Other namespaces address the detailed semantics of the more specific PDF components.
For more information, see Document Structure page.
Content streams. A PDF content stream contains a sequence of instructions composed of Objects (operands) and keywords (operators) describing the appearance of a page or other graphical entity.
Page Content Streams and Resources contains more details about PDF content streams and their associated resources in the GemBox.Pdf assembly.