FormSource
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
Initialize an empty form ready to accept content elements.
public FormSource()
Methods
Create a reusable form (XObject) from a 2D barcode with explicit target size in DIPs.
public static FormSource From2DBarcode(Symbology2DType symbology, string value, int width, int height)
The 2D barcode symbology. See Symbology2DType.
valuestringThe data to encode in the 2D barcode.
widthintTarget barcode width in DIPs.
heightintTarget barcode height in DIPs.
Returns:Modules are sized to fit within the provided width and height. Sizing snaps to whole DIP units to preserve crisp edges.
Create a reusable form (XObject) from a 2D barcode (e.g., QR, Swiss QR) using a default size of 100x100 DIPs.
public static FormSource From2DBarcode(Symbology2DType symbology, string value)
The 2D barcode symbology. See Symbology2DType.
valuestringThe data to encode in the 2D barcode.
Returns:If value is null or empty, no modules are generated and the returned form will have a size of 0x0.
Create a reusable form (XObject) from a 1D barcode using the specified symbology and default size, optionally rendering human‑readable text.
public static FormSource FromBarcode(Symbology1DType symbology, string value, bool showText)
The 1D barcode symbology to use. See Symbology1DType.
valuestringThe data to encode in the barcode.
showTextboolTrue to render the human‑readable value centered below the bars.
Returns:A FormSource representing the barcode content.
Text is rendered using Helvetica. Alignment is centered horizontally and aligned to the bottom of the form.
Create a reusable form (XObject) from a 1D barcode with explicit size and optional human‑readable text.
public static FormSource FromBarcode(Symbology1DType symbology, string value, int width, int height, bool showText)
The 1D barcode symbology to use. See Symbology1DType.
valuestringThe data to encode in the barcode.
widthintTarget barcode width in DIPs.
heightintTarget barcode height in DIPs.
showTextboolTrue to render the human‑readable value centered below the bars.
Returns:A FormSource representing the barcode content.
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.
Create a reusable form (XObject) from a 1D barcode with explicit target size in DIPs.
public static FormSource FromBarcode(Symbology1DType symbology, string value, int width, int height)
The 1D barcode symbology to use. See Symbology1DType.
valuestringThe data to encode in the barcode.
widthintTarget barcode width in DIPs.
heightintTarget barcode height in DIPs.
Returns:A FormSource representing the barcode content.
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.
Create a reusable form (XObject) from a 1D barcode value using the specified symbology and default size of 100x100 DIPs.
public static FormSource FromBarcode(Symbology1DType symbology, string value)
The 1D barcode symbology to use. See Symbology1DType.
valuestringThe data to encode in the barcode.
Returns:A FormSource representing the barcode content.
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.
Create a form from raw SVG bytes (UTF‑8 encoded XML expected).
public static FormSource FromSvg(byte[] svgData)
The byte array containing the SVG file data.
Returns:A FormSource object representing the SVG content.
Create a form whose drawing commands are produced from an SVG stream.
public static FormSource FromSvg(Stream stream)
The stream containing the SVG file data.
Returns:A FormSource object representing the SVG content.
Create a form from SVG XML text.
public static FormSource FromSvg(string xml)
The SVG XML string representing the form.
Returns:A FormSource object representing the SVG content.
Properties
Annotation collection (not supported for form content and will throw).
public AnnotationCollection Annotations { get; }
Implements:
Collection of child drawing elements composing the form’s appearance.
public ContentElementCollection Content { get; }
The content.
Implements:
Root structure element used as the starting point when auto‑tagging is active.
public StructureElement DefaultStructureRoot { get; }
The default structure root.
Implements:
Parent content element (always null because a form source is a root entity).
public IFixedDocumentElement Parent { get; }
Implements:
Size
Size
Logical width and height bounding the form’s coordinate space.
public Size Size { get; set; }
Implements:
Stack tracking nested structure elements while building tagged content.
public Stack<StructureElement> StructureStack { get; }
The structure stack.
Implements:
Indicates support for annotations (always false for forms).
public bool SupportsAnnotations { get; }
Implements:
Indicates whether automatic tagging is supported (forms do not support it).
public bool SupportsAutoTagging { get; }
True if the element supports auto tagging.
Implements: