ClassFormSource
Reusable PDF form (XObject) content container owning a ContentElementCollection; instantiate once and place via multiple Form instances to avoid duplicating drawing operations.
Definition
Namespace:Telerik.Windows.Documents.Fixed.Model.Resources
Assembly:Telerik.Windows.Documents.Fixed.dll
Syntax:
public class FormSource : IContentRootElement, IContainerElement, IFixedDocumentElement
Inheritance: objectFormSource
Implements:
Constructors
FormSource()
Initialize an empty form ready to accept content elements.
Declaration
public FormSource()
Properties
Annotations
Annotation collection (not supported for form content and will throw).
Declaration
public AnnotationCollection Annotations { get; }
Property Value
Implements
Content
Collection of child drawing elements composing the form’s appearance.
Declaration
public ContentElementCollection Content { get; }
Property Value
The content.
Implements
DefaultStructureRoot
Root structure element used as the starting point when auto‑tagging is active.
Declaration
public StructureElement DefaultStructureRoot { get; }
Property Value
The default structure root.
Implements
Parent
Parent content element (always null because a form source is a root entity).
Declaration
public IFixedDocumentElement Parent { get; }
Property Value
Implements
Size
Logical width and height bounding the form’s coordinate space.
StructureStack
Stack tracking nested structure elements while building tagged content.
Declaration
public Stack<StructureElement> StructureStack { get; }
Property Value
Stack<StructureElement>
The structure stack.
Implements
SupportsAnnotations
Indicates support for annotations (always false for forms).
Declaration
public bool SupportsAnnotations { get; }
Property Value
Implements
SupportsAutoTagging
Indicates whether automatic tagging is supported (forms do not support it).
Declaration
public bool SupportsAutoTagging { get; }
Property Value
True if the element supports auto tagging.
Implements
Methods
From2DBarcode(Symbology2DType, string)
Create a reusable form (XObject) from a 2D barcode (e.g., QR, Swiss QR) using a default size of 100x100 DIPs.
Declaration
public static FormSource From2DBarcode(Symbology2DType symbology, string value)
Parameters
symbology
The 2D barcode symbology. See Symbology2DType.
value
The data to encode in the 2D barcode.
Returns
Remarks
If value is null or empty, no modules are generated and the returned form will have a size of 0x0.
From2DBarcode(Symbology2DType, string, int, int)
Create a reusable form (XObject) from a 2D barcode with explicit target size in DIPs.
Declaration
public static FormSource From2DBarcode(Symbology2DType symbology, string value, int width, int height)
Parameters
symbology
The 2D barcode symbology. See Symbology2DType.
value
The data to encode in the 2D barcode.
width
Target barcode width in DIPs.
height
Target barcode height in DIPs.
Returns
Remarks
Modules are sized to fit within the provided width and height. Sizing snaps to whole DIP units to preserve crisp edges.
FromBarcode(Symbology1DType, string)
Create a reusable form (XObject) from a 1D barcode value using the specified symbology and default size of 100x100 DIPs.
Declaration
public static FormSource FromBarcode(Symbology1DType symbology, string value)
Parameters
symbology
The 1D barcode symbology to use. See Symbology1DType.
value
The data to encode in the barcode.
Returns
A FormSource representing the barcode content.
Remarks
Units are device‑independent pixels (DIPs), where 96 DIPs = 1 inch. The returned form may be drawn on any page using DrawForm(FormSource) or wrapped in a Form and added to the page content.
If value is null or empty, no bars are generated. The returned form will have zero width and the default height.
To show human‑readable text under the bars, use an overload accepting showText.
FromBarcode(Symbology1DType, string, bool)
Create a reusable form (XObject) from a 1D barcode using the specified symbology and default size, optionally rendering human‑readable text.
Declaration
public static FormSource FromBarcode(Symbology1DType symbology, string value, bool showText)
Parameters
symbology
The 1D barcode symbology to use. See Symbology1DType.
value
The data to encode in the barcode.
showText
True to render the human‑readable value centered below the bars.
Returns
A FormSource representing the barcode content.
Remarks
Text is rendered using Helvetica. Alignment is centered horizontally and aligned to the bottom of the form.
FromBarcode(Symbology1DType, string, int, int)
Create a reusable form (XObject) from a 1D barcode with explicit target size in DIPs.
Declaration
public static FormSource FromBarcode(Symbology1DType symbology, string value, int width, int height)
Parameters
symbology
The 1D barcode symbology to use. See Symbology1DType.
value
The data to encode in the barcode.
width
Target barcode width in DIPs.
height
Target barcode height in DIPs.
Returns
A FormSource representing the barcode content.
Remarks
When drawn at a different size than width x height, the form is scaled. For crisp output, draw at the measured size or pass the same size to
DrawForm(FormSource, double, double).
If value is null or empty, no bars are generated. The returned form width will be 0 and height equals the requested height.
FromBarcode(Symbology1DType, string, int, int, bool)
Create a reusable form (XObject) from a 1D barcode with explicit size and optional human‑readable text.
Declaration
public static FormSource FromBarcode(Symbology1DType symbology, string value, int width, int height, bool showText)
Parameters
symbology
The 1D barcode symbology to use. See Symbology1DType.
value
The data to encode in the barcode.
width
Target barcode width in DIPs.
height
Target barcode height in DIPs.
showText
True to render the human‑readable value centered below the bars.
Returns
A FormSource representing the barcode content.
Remarks
Editing strategy: to "edit" a barcode already placed on a page, generate a new FormSource with the updated value and assign it to the existing FormSource or remove/redraw using FixedContentEditor. Barcode content is generated at creation time and is not mutable afterward.
FromSvg(Stream)
Create a form whose drawing commands are produced from an SVG stream.
Declaration
public static FormSource FromSvg(Stream stream)
Parameters
stream
The stream containing the SVG file data.
Returns
A FormSource object representing the SVG content.
FromSvg(byte[])
Create a form from raw SVG bytes (UTF‑8 encoded XML expected).
Declaration
public static FormSource FromSvg(byte[] svgData)
Parameters
svgData
byte[]
The byte array containing the SVG file data.
Returns
A FormSource object representing the SVG content.
FromSvg(string)
Create a form from SVG XML text.
Declaration
public static FormSource FromSvg(string xml)
Parameters
xml
The SVG XML string representing the form.
Returns
A FormSource object representing the SVG content.