General Information
The RadPdfProcessing document model defines a hierarchy of elements that represent PDF content. The following sections describe the element structure and how to add content.
Document Elements
RadFixedDocument is the root element of all document elements. All document elements inherit from the FixedDocumentElementBase abstract class. The following diagram describes the hierarchy in RadPdfProcessing:
- FixedDocumentElementBase
-
RadFixedPage: IContentRootElement
-
- ContentAnnotationBase
-
- PushButtonWidget
- SignatureWidget
- TwoStatesButtonWidget
- VariableContentWidget
-
ContentAnnotation
-
- ContentAnnotationBase
-
Destination
- BoundingRectangleFit
- BoundingRectangleHorizontalFit
- BoundingRectangleVerticalFit
- Location
- PageFit
- PageHorizontalFit
- PageVerticalFit
- RectangleFit
-
ContentElementBase
- Clipping
- PositionContentElement
Composition of Document Elements
RadFixedDocument represents a tree of RadFixedPage instances where the fixed content is hosted. The following diagram describes the composition of the fixed content. Document elements are denoted in black and collections in orange.
- RadFixedDocument
- Pages
- Annotations
- Actions (PageActionCollection)
- NamedDestinations
- EmbeddedFiles
- AcroForm
- Bookmarks
- Actions (DocumentActionCollection)
- Pages
Creating or Editing Document Content
The RadPdfProcessing library provides an API for editing existing or creating new documents. You can use the following editors:
-
RadFixedDocumentEditor: This editor is suitable for creating new documents or adding content to existing documents. It allows you to add elements in a flow-like manner without explicitly setting positions and sizes. The
RadFixedDocumentEditorarranges document elements automatically and separates the content on different pages when needed. -
FixedContentEditor: This editor provides the flexibility of the PDF format. It is suitable for adding content to existing pages. With it, you must specify the exact position of each new element and manually separate the content on different pages when needed.