Telerik.Windows.Documents.Fixed Specifies how much of the certificate chain should be included in the certificate data. No certificate chain information is included. The entire certificate chain is included except for the root certificate. Only the end certificate is included in the certificate chain information. The entire certificate chain is included. Supported digest (hash) algorithms for producing CMS (PKCS#7) PDF signature values. SHA-256 (256-bit). Recommended default: strong, widely supported, and efficient. SHA-384 (384-bit). Use when organizational policy or key size (e.g. P-384) mandates higher strength. SHA-512 (512-bit). Use for highest SHA-2 family strength or long‑term archival policies; may have slightly higher computational cost. Base helper implementation for building external (client supplied) digital signatures. Implementations provide the signing certificate chain (public keys) and the raw data signing routine (private key operation) while the PDF processing library constructs the CMS (PKCS#7) detached signature container. This allows integrating hardware devices (HSM, smart card), remote signing services, or custom cryptographic stacks without exposing the private key material to the library. Typical usage: derive a class, override to return the X.509 certificate chain that will be embedded in the CMS structure, and override to invoke the external signing facility over the DER-encoded signed attributes. The infrastructure will call the explicit implementation to obtain the final CMS encoded byte array that is written into the PDF signature field. Initializes a new instance of the class. Returns the X.509 certificate chain associated with the signer. This should return an ordered array of certificates starting with the end-entity (leaf) certificate whose corresponding private key (or signing capability) is used in , followed by any intermediate CA certificates needed to establish a trust chain. The root certificate is typically excluded. Implementors may cache the certificates or retrieve them dynamically from a device/service. The library validates that the returned array is not null or empty. An array of X.509 certificates forming the signing certificate chain. Must not be null or empty. The first element must be the signing (leaf) certificate. Performs the raw cryptographic signing operation over the DER-encoded signed attributes. The DER-encoded signed attributes (CMS SignedAttributes) that must be signed. This includes the message digest, content type, signing time, and signing certificate reference. Signature generation settings (e.g. digest algorithm, timestamp server). The method should return the raw signature bytes appropriate for the public key type (e.g. RSA signature (PKCS#1 v1.5) or ECDSA signature). For ECDSA, the signature can be either raw format (r||s concatenated) or DER-encoded (SEQUENCE { r, s }); the infrastructure will handle the conversion if needed. The surrounding infrastructure will insert this value into the CMS (PKCS#7) SignerInfo structure. Binary signature value for the provided signed attributes. Builds a detached CMS (PKCS#7) signature for the provided PDF byte range data using the supplied settings. The raw PDF byte range data (document content excluding the signature placeholder) whose digest will be computed and signed. Signature generation settings controlling digest algorithm and timestamping. Byte array containing the CMS SignedData structure (detached) ready for embedding in a PDF. Abstraction for producing an external CMS (PKCS#7) detached signature over a PDF byte range. Implement this interface when integrating custom or third‑party signing components (e.g. HSMs, smart cards, remote signing services). The implementation is responsible for: 1. Computing the digest of the PDF byte range data. 2. Building a CMS SignedData structure whose signature value matches the specified . 3. Optionally applying an RFC 3161 timestamp when is provided. The returned value must be a detached SignedData (i.e. encapsulated content is omitted) suitable for embedding directly in a PDF signature dictionary. Builds a detached CMS (PKCS#7) signature for the provided PDF byte range data using the supplied settings. The raw PDF byte range data (document content excluding the signature placeholder) whose digest will be computed and signed. Signature generation settings controlling digest algorithm and timestamping. Byte array containing the CMS SignedData structure (detached) ready for embedding in a PDF. Configurable signing options controlling how a PDF digital signature is produced. Currently exposes the digest (hash) algorithm used when computing the CMS / PKCS#7 signature value for certificate-based signing. The value is not written as a direct PDF dictionary key; it influences the SignerInfo inside the CMS structure. The default is to provide a modern, interoperable baseline (SHA‑256). Gets or sets the digest (hash) algorithm used when producing the CMS (PKCS#7) signature. Gets or sets the timestamp server settings used to obtain a trusted timestamp for the signature. Gets or sets the option that determines which certificates are included in the certificate chain when exporting or processing certificates. Use this property to specify whether only the end-entity certificate, the entire chain, or a partial chain should be included. The selected option may affect compatibility with external systems and the ability to validate the certificate. Represents a Time Stamp Protocol (TSP) server configuration used when requesting trusted RFC 3161 time-stamps for digital signatures. Instances of this class encapsulate the endpoint URL, optional credentials, and an optional timeout interval used when communicating with the external timestamp authority (TSA). Initializes a new instance of the class with the specified URL and timeout. The absolute URL of the timestamp authority (TSA) endpoint. Optional request timeout. Specify null to use the default timeout behavior. Initializes a new instance of the class with the specified URL, credentials, and timeout. The absolute URL of the timestamp authority (TSA) endpoint. The username for authenticating with the TSA, if required. The password for authenticating with the TSA, if required. Optional request timeout. Specify null to use the default timeout behavior. Gets the absolute URL of the timestamp authority (TSA) endpoint. Gets the optional timeout applied to timestamp requests. A null value indicates that the default timeout will be used. Gets the username used for TSA authentication, if credentials are required. May be null. Gets the password used for TSA authentication, if credentials are required. May be null. Thrown when embedding a file whose name duplicates an existing embedded file name in the document. Initializes a new instance of the class. Initializes a new instance of the class. The message that describes the error. Initializes a new instance of the class. The message that describes the error. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method. The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when adding document JavaScript with a name that already exists in the PDF’s JavaScript name dictionary. Initializes a new instance of the class. Initializes a new instance of the class. The message that describes the error. Initializes a new instance of the class. The message that describes the error. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method. The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when a PDF action is malformed or unsupported during import or processing. Initializes a new instance of the class. Initializes a new instance of the class. The message that describes the error. Initializes a new instance of the class. The message that describes the error. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method. The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when a graphics operator contains an invalid number of operands during PDF parsing. Initializes a new instance of the class. Initializes a new instance of the class. The message that describes the error. Initializes a new instance of the class. The message that describes the error. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method. The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when an annotation has invalid properties or structure during import or processing. Initializes a new instance of the class. Initializes a new instance of the class. The message that describes the error. Initializes a new instance of the class. The message that describes the error. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Thrown when a PDF object reference is invalid during import or processing. This occurs when a structure element's object reference points to an unrecognized object type. Initializes a new instance of the class. Initializes a new instance of the class. The message that describes the error. Initializes a new instance of the class. The message that describes the error. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method. The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when a PDF page reference is invalid during import or processing. This occurs when a structure element's Page property references a non-page object. Initializes a new instance of the class. Initializes a new instance of the class. The message that describes the error. Initializes a new instance of the class. The message that describes the error. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method. The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when the PDF structure tree contains invalid or malformed elements during import. This exception wraps lower-level errors such as invalid page references or object references encountered while parsing the document's logical structure. Initializes a new instance of the class. Initializes a new instance of the class. The message that describes the error. Initializes a new instance of the class. The message that describes the error. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method. The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when a PDF action type is not supported by the processing engine. Initializes a new instance of the class. The message that describes the error. The name of the not supported action. Gets the name of the unsupported action encountered in the PDF. The name of the action that is not supported. Thrown when a PDF annotation type is not supported by the processing engine. Initializes a new instance of the class. Initializes a new instance of the class. The message that describes the error. Initializes a new instance of the class. The message that describes the error. The name of the not supported annotation. Initializes a new instance of the class. The message. The cause. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Gets the name of the unsupported annotation type from the PDF file. The name of the annotation type that is not supported. Thrown when a character set format in the document is not supported by the processing engine. Initializes a new instance of the class. Initializes a new instance of the class. The charset format. Initializes a new instance of the class. The charset format. The message. Initializes a new instance of the class. The message that describes the error. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Gets the charset format code that is not supported. The numeric code of the unsupported charset format. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when the document specifies a color space that the processing engine does not support. Initializes a new instance of the class. Initializes a new instance of the class. The name of the unsupported color space. Initializes a new instance of the class. The name of the unsupported color space. The error message that explains the reason for the exception. Initializes a new instance of the class. The error message that explains the reason for the exception. The exception that is the cause of the current exception. Gets the name of the unsupported color space. The name of the color space that is not supported. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when content uses a compression method that the processing engine does not support. Initializes a new instance of the class. Initializes a new instance of the class. The message that describes the error. Initializes a new instance of the class. The message that describes the error. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method. The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when an attempt is made to convert unsupported PDF primitive types. Initializes a new instance of the class. Initializes a new instance of the class. The message that describes the error. Initializes a new instance of the class. The message that describes the error. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Thrown when a document uses an encryption method that is not supported by the processing engine. Initializes a new instance of the class. Initializes a new instance of the class. The numeric code of the unsupported encryption method. Initializes a new instance of the class. The numeric code of the unsupported encryption method. The error message that explains the reason for the exception. Initializes a new instance of the class. The error message that explains the reason for the exception. The exception that is the cause of the current exception. Gets the numeric code of the unsupported encryption method. The encryption method code that is not supported. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when a document’s encryption revision is not supported by the processing engine. Initializes a new instance of the class. Initializes a new instance of the class. The encryption revision code. Initializes a new instance of the class. The encryption revision code. The message. Initializes a new instance of the class. The message that describes the error. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Gets the encryption revision code that is not supported. The numeric code of the unsupported encryption revision. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method SerializationInfo The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when the document references a font type that is not supported by the processing engine. Initializes a new instance of the class. Initializes a new instance of the class. The type name of the unsupported font. Initializes a new instance of the class. The type name of the unsupported font. The error message that explains the reason for the exception. Initializes a new instance of the class. The error message that explains the reason for the exception. The exception that is the cause of the current exception. Gets the type name of the unsupported font. The font type that is not supported. Initializes a new instance of the class. The info. The context. Provides COM objects with version-independent access to the method The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when the specified font family cannot be resolved or is not supported by the processing engine. Initializes a new instance of the class. Initializes a new instance of the class. The message. Initializes a new instance of the class. The message. The cause. Initializes a new instance of the class. The info. The context. Thrown when a PDF function dictionary specifies a function type that is not supported. Initializes a new instance of the class. Initializes a new instance of the class. The message. Initializes a new instance of the class. Type of the function. Initializes a new instance of the class. Type of the function. The message. Initializes a new instance of the class. The message. The cause. Gets the function type code that is not supported. The numeric code of the unsupported function type. Initializes a new instance of the class. The info. The context. Provides COM objects with version-independent access to the method The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when an image format in the document is not supported by the processing engine. Initializes a new instance of the class. Initializes a new instance of the class. The message that describes the error. Initializes a new instance of the class. The message. The cause. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method. The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when a shading or pattern dictionary uses a paint type that is not supported. Initializes a new instance of the class. Initializes a new instance of the class. The error message that explains the reason for the exception. Initializes a new instance of the class. The numeric identifier of the unsupported paint type. Initializes a new instance of the class. The numeric identifier of the unsupported paint type. The error message that explains the reason for the exception. Initializes a new instance of the class. The error message that explains the reason for the exception. The exception that is the cause of the current exception. Gets the numeric identifier of the unsupported paint type. The paint type identifier that is not supported. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when a predefined CMap name is not supported by the font or text extraction pipeline. Initializes a new instance of the class. Initializes a new instance of the class. The name of the unsupported predefined character map. Initializes a new instance of the class. The name of the unsupported predefined character map. The error message that explains the reason for the exception. Initializes a new instance of the class. The error message that explains the reason for the exception. The exception that is the cause of the current exception. Gets the name of the unsupported predefined character map. The name of the character map that is not supported. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when content uses a reserved (disallowed) FlateDecode compression method not supported by the engine. Initializes a new instance of the class. Initializes a new instance of the class. The message that describes the error. Initializes a new instance of the class. The message that describes the error. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method. The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when a shading dictionary specifies a shading type that is not supported. Initializes a new instance of the class. Initializes a new instance of the class. The error message that explains the reason for the exception. Initializes a new instance of the class. The numeric identifier of the unsupported shading type. Initializes a new instance of the class. The numeric identifier of the unsupported shading type. The error message that explains the reason for the exception. Initializes a new instance of the class. The error message that explains the reason for the exception. The exception that is the cause of the current exception. Gets the numeric identifier of the unsupported shading type. The shading type identifier that is not supported. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when an input stream lacks required capabilities (Read/Seek) or uses an unsupported stream type. Initializes a new instance of the class. Initializes a new instance of the class. The error message that explains the reason for the exception. Initializes a new instance of the class. A value indicating whether the stream supports read operations. A value indicating whether the stream supports seek operations. Initializes a new instance of the class. A value indicating whether the stream supports read operations. A value indicating whether the stream supports seek operations. The error message that explains the reason for the exception. Initializes a new instance of the class. The error message that explains the reason for the exception. The exception that is the cause of the current exception. Gets a value indicating whether the stream supports seek operations. true if the stream supports seek operations; otherwise, false. Gets a value indicating whether the stream supports read operations. true if the stream supports read operations; otherwise, false. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Thrown when a PDF XObject subtype is not supported by the processing engine. Initializes a new instance of the class. Initializes a new instance of the class. The message. Initializes a new instance of the class. The message. The cause. Initializes a new instance of the class. The info. The context. Thrown when a stream or image specifies a filter that is not supported by the processing engine. Initializes a new instance of the class. Initializes a new instance of the class. Name of the filter. Initializes a new instance of the class. Name of the filter. The message. Initializes a new instance of the class. The message that describes the error. The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. Gets the name of the unsupported filter. The name of the filter that is not supported. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. Provides COM objects with version-independent access to the method The object that holds the serialized object data about the exception being thrown. The structure that contains contextual information about the source or destination. Names of the 14 PDF Standard Type 1 fonts available on all PDF viewers. Monospaced Courier. Monospaced Courier Bold. Monospaced Courier Bold Oblique. Monospaced Courier Oblique. Sans-serif Helvetica. Sans-serif Helvetica Bold. Sans-serif Helvetica Bold Oblique. Sans-serif Helvetica Oblique. Serif Times Roman. Serif Times Bold. Serif Times Bold Italic. Serif Times Italic. Symbol font. ZapfDingbats dingbat font. Represents format provider settings converter. Returns whether the type converter can convert an object from the specified type to the type of this converter. An object that provides a format context. The type you want to convert from. true if this converter can perform the conversion; otherwise, false. Returns whether the type converter can convert an object to the specified type. An object that provides a format context. The type you want to convert to. true if this converter can perform the conversion; otherwise, false. Converts from the specified value to the intended conversion type of the converter. An object that provides a format context. The to use as the current culture. The value to convert to the type of this converter. The converted value. Provides API for handling the execution of delegates. NOTE: Use the delegates API with caution. Creating non-cached delegate instances in hot codepath will lead to high memory traffic. The implementers of this method should try executing the delegate safely, by trying to handle any exceptions of type . NOTE: Use the delegates API with caution. Creating non-cached delegate instances in hot codepath will lead to high memory traffic. The type of exceptions to be handled. The delegate to be executed. The implementers of this method should try executing the delegate safely, by trying to handle any exceptions of type . NOTE: Use the delegates API with caution. Creating non-cached delegate instances in hot codepath will lead to high memory traffic. The type of exceptions to be handled. The delegate to be executed. The delegate to be executed when an exception is handled. The implementers of this method should try executing the delegate safely, by trying to handle any exceptions of type . NOTE: Use the delegates API with caution. Creating non-cached delegate instances in hot codepath will lead to high memory traffic. The type of exceptions to be handled. The return type of the delegate to be executed. The delegate to be executed. The delegate to be executed when an exception is handled. The result of the executed delegate. Tries to handle a pre-built exception of type . Use this overload when you already have an exception instance and want to avoid lambda allocations. The type of the exception to handle. The exception to handle. If the exception is not handled, it will be thrown. Returns true if the compliance level requires all form fields to have appearance dictionaries. PDF/A specification section 6.9 requires every form field to have an appearance dictionary. Returns true if the compliance level restricts annotation appearance dictionaries to only the Normal (N) key. PDF/A-1 section 6.5.3, PDF/A-2 section 6.3.3, and PDF/A-3 section 6.3.3 all require that the AP dictionary contain only the N key. Encryption algorithms available when securing exported PDFs. RC4 encryption. AES‑128 encryption. AES‑256 encryption. Controls how fonts are embedded into exported PDFs, affecting size, fidelity, and portability. Do not embed fonts (smallest files, requires system fonts on the reader). Embed full font files (max fidelity, larger files). Embed only the glyph subset used in the document (balanced size and fidelity; default). Encoding filters used for images during PDF export, impacting compression, speed, and compatibility. Preserve original image encoding when possible (fastest, no re-encode). Do not encode images (largest size, fastest decode). Encode images with FlateDecode (zlib/deflate) lossless compression. Encode images with DCTDecode (JPEG) lossy compression. Creates an indirect object for the given primitive, with deduplication support. Two caching mechanisms are used to optimize file size: 1. StreamContentCache - for PdfStreamBase types, compares raw byte content using hash-first approach 2. CacheablePrimitivesCache - for IPdfCacheable types, uses Equals/GetHashCode for property-based comparison To enable caching for a new type, implement IPdfCacheable and override Equals/GetHashCode. Tries to find a cached indirect object that is equivalent to the given primitive. Registers a primitive for future deduplication based on its type. This writer is used for writing all the content on a single line (does not support multiline text writing). Encoding filters applied to content streams during export, affecting compression ratio and speed. Do not encode content streams. Encode with FlateDecode (zlib/deflate) lossless compression (default). Strategy for producing tagged PDFs, controlling whether existing structure is reused or built. Do not auto-tag; reuse the existing StructureTree (default). Auto-tag content and build a new StructureTree. Quality presets for re-encoding images during PDF export; higher values increase fidelity and file size. High image quality. Medium image quality. Low image quality. PDF/A and PDF/UA compliance targets for export, controlling feature availability and validation. No compliance target. PDF/A‑1b (basic visual integrity). PDF/A‑1a (fully tagged, accessible structure). PDF/A‑2b (visual integrity, newer features like JPEG2000 allowed). PDF/A‑2a (tagged, accessible structure with PDF/A‑2 features). PDF/A‑2u (Unicode mapping for text extraction). PDF/A‑3b (allows embedded files; visual integrity). PDF/A‑3a (tagged, accessible; allows embedded files). PDF/A‑3u (Unicode mapping; allows embedded files). PDF/UA‑1 (accessible PDF for users with disabilities). Configuration for PDF export, controlling encryption, compliance, compression, fonts, tagging, and exception handling. Initializes a new instance of the class. Enable encryption for the exported PDF using the selected . True if the document should be encrypted; otherwise, false. Remove JavaScript actions during export to improve security or meet compliance requirements. True if the document should strip the JavaScript actions; otherwise, false. Omit the StructureTree from the exported PDF to reduce size or when not required. True if the document should strip the structure tree; otherwise, false. Gets or sets the user password. The user password. Gets or sets the owner password. The owner password. Default image quality used when re-encoding images; higher values increase fidelity and file size. Overridden by per-image settings. The image quality. Target PDF/A or PDF/UA level; may restrict features to satisfy conformance. The compliance level. Gets or sets the user access permissions. These permissions specify which access permissions should be granted when the document is opened with user access. In order to be applied the IsEncrypted property should be set to true. The user access permissions. Font embedding strategy used for export, affecting portability and file size. Encryption algorithm applied when is true. Image encoding filter(s) to use; only a single value is supported by the current implementation. Content stream encoding filter(s) to use; only a single value is supported by the current implementation. Include XFA content in the exported PDF when present. True if the document should export XFA; otherwise, false. Tagging strategy used to produce an accessible StructureTree. Determines whether the object can raise an exception event. True if the object can raise an exception event; otherwise, false. Raised when an unhandled exception occurs during export. Raises the event. The containing the event data. Supported PDF color spaces used for interpreting and encoding image and graphic color data. Undefined color space. Grayscale color space. RGB color space. CMYK color space. Indexed color space. ICC-based color space. Pattern color space. Separation color space. DeviceN color space. CIE Lab color space. Calibrated RGB space (CalRgb). Calibrated grayscale space (CalGray). Represents the decode parameters collection. Contract for PDF stream filters capable of encoding and decoding raw bytes with optional parameters. Encode for the given PDF object. The encoded object. The input data. The encoded data. Decode for the given PDF object using optional . The decoded object. The input data. The decode parameters. The decoded byte array data. The registered filter name. The name. Well-known filter names as defined by the PDF specification and used by this library. Name for ASCIIHexDecode filter. Name for ASCII85Decode filter. Name for LZWDecode filter. Name for FlateDecode filter. Name for RunLengthDecode filter. Name for CCITTFaxDecode filter. Name for JBIG2Decode filter. Name for DCTDecode filter. Name for JPXDecode filter. Lightweight view of a PDF stream/image object used by filters during import and export; exposes dimensions, color space, and bit depth. This constructor is used for exporting stream objects. This constructor is used for exporting image stream objects. This constructor is used for decoding objects. This constructor is used for decoding stream objects on RadPdfProcessing import. The color space used to interpret image data for this object. The color space. The number of bits per color component used by the underlying data. The bits per component. The width of the image or stream content in pixels. The width. The height of the image or stream content in pixels. The height. Returns from this.dictionary when using PdfProcessing model; and ColorSpaceOld when using PdfViewer model. Returns from this.dictionary when using PdfProcessing; and from ColorSpaceOld when using PdfViewer. Central registry and executor for PDF stream filters; resolves filters by name to encode/decode data. Register or replace a PDF filter implementation under its . The filter. Converts an filter value to a . Handles single filter (PdfName) or multiple filters (PdfArray). Implements the DCTDecode filter for JPEG compression/expansion of image streams during PDF import and export. Create a JPEG DCTDecode filter instance used to compress and decompress image streams during PDF import and export. The registered filter name. The name. Encodes the specified data. The encoded object. The input data. The encoded data. Decodes the specified data. The decoded object. The input data. The decode parameters. The decoded byte array data. Decodes the data with Telerik's internal JpegDecoder class. This method was used in previous versions and you can achieve backwards compatibility by using it in the Decode method. The input data. The decoded data. Implements the FlateDecode filter using zlib/deflate for lossless compression of PDF streams. Create a FlateDecode filter instance for lossless deflate compression and decompression of PDF stream data. The file is stored (no compression). The registered filter name. The name. Decode Flate-compressed and apply any PNG prediction if present. The decoded object. The data. Decode parameters The decoded byte array data using Flate decompression. Encode using deflate with a zlib header for PDF FlateDecode streams. The encoded object. The data The encoded data. Class responsible for page content caching operations. Preserves all currently applied changes of the page content in memory. The page instance. Loads the page content. The page instance. A disposable object responsible for unloading the page content. Clears the cached content. Raised when a PDF password is required; provides the password value used to continue import. Creates a new instance used when prompting for a PDF password. Password supplied to unlock the document; used by the import workflow. The password. Encapsulates the three form-field import mappings that share a lifecycle. Reduces the number of top-level collection fields in BaseImportContext. Allocated once per document import — no per-page re-allocation. A stream wrapper that skips a specified number of bytes at the beginning, making the wrapped stream appear to start at an offset position. This is used to handle PDF files with garbage bytes before the %PDF- header. Gets a value indicating whether an has already been reported to the client during this import operation. Handles an by wrapping it in and reporting to the client only once per document import. Call this method in an inline catch block instead of using lambda-based wrappers to avoid closure allocations on hot paths. The caught exception to handle. Handles an by wrapping it in and reporting to the client only once per document import. Call this method in an inline catch block instead of using lambda-based wrappers to avoid closure allocations on hot paths. The caught exception to handle. Gets the cached singleton instance. Use this instead of creating new instances. Gets a cached ContentStreamKeywordCollection instance with color support. Gets a cached ContentStreamKeywordCollection instance without color support. Base class for keyword collections used during PDF parsing. Derived classes should provide their own cached singleton instances. Settings for importing PDF documents, controlling reading mode, stream copying, and event hooks used during the import process. Creates import settings with set to AllAtOnce and set to false. Raised when a user password is required to open the document; provides the password to continue import. Raised when an owner password is required to access restricted operations; provides the password to continue import. Raised when an unhandled exception occurs during document import; provides error details for logging or recovery. Raised when embedded files share the same name; provides a way to resolve to a unique file name. Default settings for loading all page content on import: { ReadingMode = AllAtOnce, CopyStream = false } Default settings for deferred, on-demand page loading: { ReadingMode = OnDemand, CopyStream = true } Controls how page content is loaded during import. If AllAtOnce applied, the document pages content will be loaded on import. If OnDemand applied, the document pages content will be loaded on demand. Currently, the OnDemand setting should be applied for use with viewers only. Controls whether the document stream is copied during import. When false and is OnDemand, the original stream must be kept open while the document is in use. When true, the original stream can be disposed after import, regardless of the reading mode. Instructs the importer to ignore marked content containers (if any) and import only their contained content. True if the document should ignore marked content on import; otherwise, false. Determines whether the object can raise an exception event. True if the object can raise an exception event; otherwise, false. Raises the event. The containing the event data. Converter for PageObject that handles cases where the referenced object is not actually a page (e.g., a stream object in malformed PDFs). Converts a PDF dictionary to a concrete object instance based on some type property and some parameter property in the dictionary. The type of the type property. The type of the parameter property. Converts a PDF dictionary to a concrete object instance based on some type property in the dictionary. The type of the type property. Determines whether the specified type name is a valid PDF annotation type per the PDF specification (Table 8.20). The type name to check. true if the type name corresponds to a valid PDF annotation type; otherwise, false. Represents annotation types. Represents Link annotation type. Represents Widget annotation type. Represents Text annotation type. Represents FreeText annotation type. Represents Line annotation type. Represents Square annotation type. Represents Circle annotation type. Represents Polygon annotation type. Represents Polyline annotation type. Represents Highlight annotation type. Represents Underline annotation type. Represents Squiggly annotation type. Represents Strikeout annotation type. Represents Stamp annotation type. Represents Caret annotation type. Represents Ink annotation type. Represents Popup annotation type. Represents FileAttachment annotation type. Represents Sound annotation type. Represents Movie annotation type. Represents Screen annotation type. Represents PrinterMark annotation type. Represents TrapNet annotation type. Represents Watermark annotation type. Represents ThreeD annotation type. Represents Redact annotation type. Represents a collection field dictionary that describes attributes of a field in a portable collection (PDF 1.7). Represents a collection item dictionary (CI) that stores custom field values for an embedded file in a PDF Portfolio (PDF 1.7). Represents a collection dictionary that a PDF consumer uses to enhance the presentation of file attachments stored in the PDF document (PDF 1.7). Gets or sets the collection schema dictionary. Gets or sets a string that identifies an entry in the EmbeddedFiles name tree, controlling the document that is initially presented in the user interface. Gets or sets the initial view. Valid values are: D (details), T (tile), H (hidden). Default value is D. Gets or sets the collection sort dictionary, which specifies the order in which items in the collection should be sorted in the user interface. Represents a collection schema dictionary that describes the fields in a portable collection (PDF 1.7). Represents a collection sort dictionary that identifies the fields used to sort items in the collection (PDF 1.7). Gets or sets the name or names of fields that the PDF viewer application uses to sort the items in the collection. Can be a PdfName or PdfArray. Gets or sets whether the items in the collection are sorted in ascending order. Can be a PdfBool or PdfArray of PdfBool. Default value is true. Writes a PdfArray property signature to a binary writer for cache key generation. Used by IPropertyAwareStream implementations. The binary writer. The PdfArray to encode, or null. Writes a PdfBool property signature to a binary writer for cache key generation. Used by IPropertyAwareStream implementations. The binary writer. The PdfBool to encode, or null. Cached data from GetCacheableData to prevent data loss when GetData clears internal state. Override this method in derived classes to provide the stream data for export and caching. This method is used by StreamContentCache for deduplication of identical streams. Note: This method may be called multiple times due to caching. If your implementation clears internal state after returning data, the cached value from GetCacheableData will be used. Gets data for writing, using cached value if available from prior GetCacheableData call. Call this instead of GetData when you need to ensure data is available even after caching. Gets the data for caching purposes. Used by StreamContentCache to deduplicate streams with identical content. This method is idempotent - subsequent calls return the cached value without calling GetData again. Sets a calculated byte at the specified position in the data byte array for the parameter number. This is reverse of the GetInt method. The data to be filled. The position in the data array. The length in bytes reserved for a specific field value from W. The number aka field value. Corrects Field2 wrap-around issues in corrupted PDFs. Some PDFs were created with insufficient byte width for Field2 (e.g., 1 byte instead of 2), causing values above 255 to incorrectly wrap around to 0. This class detects and compensates for such wrap-arounds during import. Ensures Field2 is correct by detecting and compensating for wrap-around. Tracks state per object stream to maintain correction across multiple values. The object stream number (Field1) that this entry belongs to. The raw Field2 value read from the PDF data. The corrected Field2 value with wrap-around compensation applied. Calculates the maximum value that can be stored in the given number of bytes. For example: 1 byte = 255, 2 bytes = 65535. Workaround: This class provides temporary support for reading hidden optional content groups (layers) during PDF import. It will be removed once the full feature "PdfProcessing: Add support for working with layers (optional content)" is implemented. A name specifying the tab order to be used for annotations on the page. Row order. Column order. Structured order. Determines whether the specified object is equal to the current PdfResource. Two PdfResource objects are equal if all their resource dictionaries contain the same keys mapped to the same IndirectReference values. Gets a hash code for this PdfResource based on the content of its dictionaries. Returns a value indicating whether this instance is equal to a specified object. An object to compare with this instance. true if obj equals the value of this instance; otherwise, false. Returns the hash code for this instance. A hash code for the current object. Represents Button field type. Represents Text field type. Represents Choice field type. Represents Signature field type. Returns a value indicating whether this instance is equal to a specified object. An object to compare with this instance. true if obj equals the value of this instance; otherwise, false. Returns the hash code for this instance. A hash code for the current object. Gets the decoded content data, lazily decoding from the stream if needed. Gets a byte array representing the significant properties that affect stream identity. FormXObject identity depends on BoundingBox, Matrix, Group, and Resources. Two form XObjects with the same content stream but different resources (e.g., the same page layout operator sequence referencing different images) must not be deduplicated. The Resources hash is included to distinguish such cases: different image indirect references produce different XObjects dictionary hashes, yielding distinct cache keys. Writes the property signature for this transparency group to the binary writer. Used for property-aware stream caching to ensure groups with different properties are not deduplicated. The binary writer to write to. The caller must handle null checking and write the PropertyNull marker if this group is null. This method assumes the group is not null and the PropertyPresent marker has already been written. Gets a value indicating whether this image was part of an inline image in a content stream. Inline images should not be cached because each instance is unique. Gets a byte array representing stream-significant properties for cache key generation. Image stream identity depends on SMask reference. Two images with identical data but different soft masks must not be deduplicated. Creates a Type 0 (Sampled) function from all gradient stops. All color samples are stored in a single compact stream. The samples are evenly distributed across the domain [0,1], with colors interpolated from the gradient stops at their actual offsets. Calculates the minimum number of samples needed to accurately represent the gradient. The sample count is chosen such that evenly-spaced sample positions align closely with the actual gradient stop offsets. Checks if gradient stops are evenly distributed (uniform spacing). Checks if all stop offsets have a close evenly-spaced sample position. Interpolates a color at the specified offset based on the gradient stops. Creates a simple Type 0 (Sampled) function with 2 samples (start and end colors). Implements the ARC4 (Alleged RC4) symmetric stream cipher used by PDF standard encryption. The same operation is used for both encryption and decryption. Initializes the cipher state from the given key bytes (KSA). Initializes the cipher state from the first bytes of (KSA). Initializes the cipher state from bytes of starting at (KSA). Encrypts (or decrypts) in place. Encrypts (or decrypts) the first bytes of in place. Encrypts (or decrypts) bytes of starting at in place. Encrypts (or decrypts) into . Both arrays must be at least as long as the input data. Core PRGA: generates keystream and XORs bytes of starting at into . Defines permitted document modifications enforced by PDF user-access permissions. No changes to the document are permitted. Allows inserting, deleting, and rotating pages. Allows filling existing form fields and signing existing signature fields. Allows commenting, filling form fields, and signing existing signature fields. Allows all modifications except extracting pages. Specifies allowed content copying actions under PDF user-access permissions. Disables all content copying. Enables standard content copying. Allows text access for assistive technologies (e.g., screen readers) for copying. No encryption. RC4 encryption. AES-128 encryption. AES-256 encryption. If the document is encrypted with a V value less than 2 and does not have any of the access permissions set to 0 that are designated "Security handlers of revision 3 or greater". If the document is encrypted with a V value of 2 or 3, or has any "Security handlers of revision 3 or greater" access permissions set to 0. If the document is encrypted with a V value of 4. Shall not be used. This value was used by a deprecated proprietary Adobe extension. If the document is encrypted with a V value of 5. Specifies whether printing is allowed and at what quality level under PDF permissions. Disables all printing. Allows printing at low resolution (typically up to 150 dpi). Allows printing at the highest available quality. Return the SASLPrep-canonicalized version of the given for use as a query string. This implements the SASLPrep algorithm defined in RFC 4013. The string to canonicalize. The canonicalized string. Return the SASLPrep-canonicalized version of the given for use as a stored string. This implements the {@code SASLPrep} algorithm defined in RFC 4013. The string to canonicalize. The canonicalized string. Return true if the given is a prohibited character as defined by RFC 4013, Section 2.3. The Unicode code point to check for prohibition. True if the code point is prohibited; otherwise, false. Return true if the given is a tagging character as defined by RFC 3454, Appendix C.9. The Unicode code point to check for tagging properties. True if the code point is a tagging character; otherwise, false. Return true if the given is change display properties or deprecated characters as defined by RFC 3454, Appendix C.8. The Unicode code point to check for display property changes. True if the code point changes display properties; otherwise, false. Return true if the given is inappropriate for canonical representation characters as defined by RFC 3454, Appendix C.7. The Unicode code point to check for canonical representation inappropriateness. True if the code point is inappropriate for canonical representation; otherwise, false. Return true if the given is inappropriate for plain text characters as defined by RFC 3454, Appendix C.6. The Unicode code point to check for plain text inappropriateness. True if the code point is inappropriate for plain text; otherwise, false. Return true if the given is a surrogate code point as defined by RFC 3454, Appendix C.5. The Unicode code point to check for surrogate status. True if the code point is a surrogate; otherwise, false. Return true if the given is a non-character code point as defined by RFC 3454, Appendix C.4. The Unicode code point to check. True if the code point is a non-character code point; otherwise, false. Return true if the given is a private use character as defined by RFC 3454, Appendix C.3. The Unicode code point to check for private use status. True if the code point is a private use character; otherwise, false. Return true if the given is a non-ASCII control character s defined by RFC 3454, Appendix C.2.2. The Unicode code point to check for non-ASCII control character status. True if the code point is a non-ASCII control character; otherwise, false. Return true if the given is an ASCII control character s defined by RFC 3454, appendix C.2.1. The character to check. True if the character is an ASCII control character; otherwise, false. Return true if the given is a non-ASCII space character as defined by RFC 3454, Appendix C.1.2. The character to check. True if the character is a non-ASCII space character; otherwise, false. Return true if the given is a "commonly mapped to nothing" character as defined by RFC 3454, Appendix B.1. The character to check. True if the character is commonly mapped to nothing; otherwise, false. Return true if the given is a Unicode character. The Unicode code point to check. True if the code point is defined in Unicode; otherwise, false. Returns the number of characters required to represent a specified Unicode character. The Unicode code point. The number of characters required to represent the code point. Return true if the given has right to left directionality as defined by RFC 3454, Appendix D.1. The Unicode code point to check. True if the code point has right-to-left directionality; otherwise, false. Return true if the given has left to right directionality as defined by RFC 3454, Appendix D.2. The Unicode code point to check. True if the code point has left-to-right directionality; otherwise, false. Bundles user-access permission settings that control printing, editing, and copying behavior for encrypted PDFs. Create a new set of user permission flags that control printing, editing, and copying capabilities for an encrypted PDF. Gets or sets the permitted printing level, which restricts whether and at what quality the document can be printed. Gets or sets which content modifications are allowed (for example, assembly, form filling, or commenting). Gets or sets the allowed content copying scope, including access for assistive technologies when enabled. Marker interface for PDF primitives that support deduplication during export. Types implementing this interface must override Equals and GetHashCode to enable value-based comparison for caching identical objects. Converts an IPdfPrimitive to PdfLong, handling PdfInt to PdfLong conversion automatically. Use this helper method when calling Read<IPdfPrimitive> and you need a PdfLong. Provides static methods for comparing IPdfPrimitive values for equality. Determines whether two IPdfPrimitive values are equal. Gets a hash code for an IPdfPrimitive value. Gets the raw byte data for caching purposes. For import streams, the context is not used. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Provides on-demand access to pages and form fields from a PDF without loading the entire document into memory. Creates a streaming PDF source over the specified , enabling on-demand page access. The pdf file stream. Creates a streaming PDF source and optionally leaves the provided stream open when this instance is disposed. The pdf file stream. Boolean value indicating whether or not to close the stream when instance is disposed. The default value is false. Creates a streaming PDF source with the specified import and stream lifetime behavior. The PDF file instance. The instance specifying settings for PDF file import. Boolean value indicating whether or not to close the stream when instance is disposed. The default value is false. Gets the pages available in the source; pages are discovered lazily and can be read on demand. The pages. Disposes the source and releases resources; closes the underlying stream unless leaveStreamOpen was specified. Finalizes an instance of the class. Throws an exception if the instance was not disposed and a debugger is attached, ensuring that resource leaks are caught during development. Thrown when the instance is garbage collected without being disposed and a debugger is attached. This indicates a resource leak that should be fixed by wrapping the instance in a 'using' statement. Gets PdfFormFieldSource instance by field name. The field name. The PdfFormFieldSource instance with the specified field name. Gets the count of the fields in the collection. Applies a digital signature to an existing PDF using incremental update, avoiding a full file rewrite. Creates a signer that writes the signed PDF to the specified . The output stream where the signed document will be written. Signs the PDF from , places on , and writes the signed result to the configured output stream. The original PDF document stream. The signature field to be added to the document. The index of the page where the signature will be added. The timeout for the operation. Thrown when the signature field contains no widgets or more than one widget, as it must contain exactly one widget for proper signing. Thrown when the page index is out of range. Signs an existing signature field in the PDF from and writes the signed result to the configured output stream using incremental update. The original PDF document stream. The name of the existing signature field to sign. The signature containing the certificate or external signer and settings. Thrown when , , or is null. Thrown when is empty. Signs an existing signature field in the PDF from and writes the signed result to the configured output stream using incremental update. When is provided, the widget's visual appearance is replaced with the specified content during signing. The original PDF document stream. The name of the existing signature field to sign. The signature containing the certificate or external signer and settings. The visual appearance to apply to the signature widget, or null to preserve the existing appearance. Thrown when , , or is null. Thrown when is empty. Streams a PDF document to an output , letting you write pages sequentially without holding the full document in memory. Creates a PDF stream writer over the specified . The stream. Creates a PDF stream writer and optionally leaves the output stream open when disposed. The stream. Boolean value indicating whether or not to close the stream after instance is disposed. Settings that control how the PDF is produced during streaming (compression, image quality, metadata). Writes a page from a into the output stream and finalizes it. The page source. Writes a into the output stream and finalizes it. The page. Begins a new page with the specified size and returns a writer for its content. Size of the page. The page stream. Begins a new page with the specified size and rotation and returns a writer for its content. Size of the page. The rotation. The page stream. Begins a new page with the specified media box, crop box, and rotation and returns a writer for its content. Defines the boundaries of the physical medium on which the page is intended to be displayed or printed. Defines the boundaries of the visible region of the page. When the page is displayed or printed, its contents are to be clipped (cropped) to this rectangle. The rotation. The page stream. Finalizes the document, writes all pending objects, and disposes resources; closes the stream unless leaveStreamOpen is true. Thrown when one or more instances that were used with this writer have not been disposed before disposing the writer. Always dispose instances before disposing to avoid empty pages and unexpected results. Finalizes an instance of the class. This finalizer ensures that unmanaged resources are properly released if Dispose was not called explicitly. Exposes page metadata and resources from a source PDF for streaming scenarios without fully loading the page content. The page rotation applied during display or printing. The rotation. The size of the physical medium on which the page is intended to be displayed or printed. The rectangle defining the boundaries of the physical medium on which the page is intended to be displayed or printed. The rectangle defining the visible region of the page; content outside this area is clipped when displayed or printed. Writes a single page’s content directly to a stream in a streaming workflow; content is flushed when the writer is disposed. The size of the physical medium on which the page is intended to be displayed or printed. The rectangle defining the boundaries of the physical medium on which the page is intended to be displayed or printed. The rectangle defining the visible region of the page; content outside this area is clipped when displayed or printed. The page rotation applied during display or printing. Gets or sets the current content position within the page coordinate system, affecting subsequent drawings. Writes the content of the specified to the current page stream. The PDF page source. Writes the content of the specified to the current page stream. The page instace. Finalizes the page and writes its content to the underlying stream, then releases resources. Saves the current content position and returns an that restores it when disposed. IDisposable action that restores the position when disposed. Configures how PDF output is produced during streaming (compression, image quality, metadata, and annotation handling). Initializes a new instance of the class. Gets document metadata that will be written to the PDF (for example, Title and Author). Gets or sets the default image quality when exporting images to PDF. The default value is High. The value of this property will be overridden when specifying the ImageQuality in ImageSource constructor or when creating ImageSource from EncodedImageData. The higher the quality, the bigger the document size. The image quality. Gets or sets whether annotations are included in the output PDF. Value indication whether to write annotations. Gets or sets the compression filters applied to page content streams, affecting size and performance. Gets or sets the compression filters applied to images embedded in the PDF. Raised when resolving conflicts between form field names while merging instances with duplicate names. Interface for PDF streams that support content-based caching during export. Implemented by both PdfStreamBase (import streams) and PdfStreamObjectBase (export streams). Gets the raw byte data for caching purposes. The export context. May be null for import streams (PdfStreamBase). The byte array to use for cache comparison, or null if caching is not supported. Interface for PDF streams whose identity depends on both content data and dictionary properties. Some PDF stream objects have dictionary properties that affect their semantic meaning. Two streams with identical byte content but different properties should NOT be deduplicated. Implement this interface to provide a property signature that will be combined with the stream content when computing cache keys. Currently implemented by: FormXObject - BoundingBox, Matrix, and Group properties affect rendering Candidates for future implementation: TilingObject - BBox, Matrix, XStep, YStep, PaintType, TilingType properties Gets a byte array representing the significant properties that affect stream identity. The export context. A byte array encoding the significant properties, or null/empty if no properties affect caching. This signature is combined with stream content for deduplication. The signature should include all properties that affect the semantic meaning of the stream. For example, FormXObject should include BoundingBox, Matrix, and Group properties. Resources are typically shared separately and don't need to be included. Defines the binary encoding format for property signatures used in stream caching. Property signatures are used by IPropertyAwareStream implementations to create cache keys that combine stream content with semantic properties. This class provides the constants that define the binary protocol for encoding these signatures. Marker byte indicating a property is null or absent (0x00). Marker byte indicating a property is present and followed by its encoded value (0x01). Cache for deduplicating PDF streams with identical content. Memory optimization strategy: Small streams (<85KB): Store raw data for exact byte comparison (stays off LOH) Large streams (≥85KB): Store SHA256 hash only (avoids LOH pressure) SHA256 provides collision resistance of ~2^-128, making false positives practically impossible. This allows deduplication of large repeated content (images, fonts) without LOH fragmentation. IMPORTANT: Do NOT use System.IO.Hashing or System.Memory (Span) on .NET Framework 4.6.2 / .NET Standard 2.0. These packages cause System.MethodAccessException at runtime in strong-named assemblies due to security transparency conflicts. Threshold for Large Object Heap allocation (85,000 bytes). Streams at or above this size use hash-only caching to avoid LOH pressure. Tries to find an existing indirect object with identical content to the given cacheable stream. The stream implementing ICacheableStream. The export context (may be null for import streams). The cached indirect object if found. True if a matching cached object was found; otherwise, false. Tries to find an existing indirect object with identical content to the given raw data. The raw byte data to look up. The cached indirect object if found. True if a matching cached object was found; otherwise, false. Registers a cacheable stream for future deduplication. The stream implementing ICacheableStream. The export context (may be null for import streams). The indirect object to cache. Registers raw byte data for future deduplication. The raw byte data to register. The indirect object to associate with this data. Computes the cache key for a stream, combining content data with property signature if applicable. The stream to compute the cache key for. The export context. The raw stream content data. The combined cache key (rawData + propertySignature) or just rawData if no signature. Combines two byte arrays into a single array. Computes SHA256 hash for large stream deduplication. Provides collision resistance of ~2^-128. Computes a fast 64-bit hash for small stream lookup. Uses XxHash64 on .NET 6+ (SIMD-optimized), FNV-1a on .NET Framework. Computes FNV-1a 64-bit hash with loop unrolling for performance. Manual implementation required for .NET Framework due to security transparency conflicts with System.IO.Hashing NuGet package. Compares two byte arrays for equality. Uses Span.SequenceEqual on .NET 6+ (SIMD-optimized), manual loop on .NET Framework. Manual byte array comparison with loop unrolling for performance. Manual implementation required for .NET Framework due to security transparency conflicts with System.Memory NuGet package. Represents a SHA256-based content hash for dictionary key usage. Stores first 128 bits of SHA256 plus content length for efficient equality/hashing. Cache entry for small streams (below LOH threshold). Stores raw byte data for exact comparison. Returns a 16-bit unsigned integer converted from two bytes at a specified position in a byte array. The integer is converted using the Big Endian ordering. The byte array containing the bytes to convert. The starting position within the byte array. A 16-bit unsigned integer formed by two bytes beginning at startIndex. Imports and exports to and from PDF, supporting both all-at-once and on-demand reading. Creates a provider with default import and export settings. Gets the file extensions this provider can process. The supported extensions. Gets or sets PDF import settings, including reading mode and execution behavior. The import settings. Gets or sets PDF export settings used when writing documents. The export settings. Gets a value indicating whether importing from PDF is supported. The value indicating whether can import. Gets a value indicating whether exporting to PDF is supported. The value indicating whether can export. Imports the specified input. The input. The cancellation token used to cancel the operation. The imported document. Exports the specified document. The document to export. The output. The cancellation token used to cancel the operation. Selects how page content is read during PDF import to balance memory usage and load time. Loads content for all pages during import to enable immediate access at the cost of memory. Defers reading page content until requested, reducing upfront memory and improving initial load time. Converts a to plain text using configurable line and page separators. Create a text export provider for converting a fixed document into plain text with configurable separators. Exports the specified document as text. The document to export. The settings. The timeout after which the operation will be cancelled. The text, that is extracted from the RadFixedDocument. Exports the specified document as text. The document to export. The timeout after which the operation will be cancelled. The text, that is extracted from the RadFixedDocument. Configures how produces plain text from a PDF document, including line and page separators. Returns a new settings instance that uses the default line and page separators. The default settings. Creates a settings instance with default separators. Creates a settings instance with custom separators. The lines separator. The pages separator. The string inserted between lines in the exported text. The lines separator. The string inserted between pages in the exported text; may contain placeholders like {0} for page numbers. The pages separator. Mutable list of items used to compose responses to user or document events. Gets the number of elements contained in the collection. Gets or sets the at the specified index. The zero-based index of the to get or set. The at the specified index. Adds the specified to the end of the collection. The to add. Adds the elements of the specified collection to the end of the current collection. The collection of objects to add. Inserts an into the collection at the specified index. The zero-based index at which the should be inserted. The to insert. Removes all elements from the collection. Removes the first occurrence of a specific from the collection. The to remove. Removes a range of elements from the collection. The zero-based index at which removal begins. The number of elements to remove. Removes the element at the specified index of the collection. The zero-based index of the element to remove. Determines whether the collection contains a specific . The to locate. true if the is found; otherwise, false. Finds the first that matches the conditions defined by the specified predicate. The delegate that defines the conditions of the element to search for. The first that matches the specified predicate, if found; otherwise, null. Finds all objects that match the conditions defined by the specified predicate. The delegate that defines the conditions of the elements to search for. A containing all the objects that match the specified predicate, if found; otherwise, an empty list. Returns the zero-based index of the first occurrence of a specific in the collection. The to locate. The zero-based index of the first occurrence of the ; -1 if not found. Reverses the order of the elements in the collection. Returns a range of elements from the collection. The zero-based starting index of the range. The number of elements in the range. A containing the specified range of elements. Returns an enumerator that iterates through the collection. An enumerator for the collection. Determines whether the specified object is equal to the current collection. The object to compare with the current collection. true if the specified object is equal to the current collection; otherwise, false. Serves as a hash function for the type. A hash code for the current collection. JavaScript hooks for form-field events to validate, format, and react to user input. Initializes a new instance of the class. Gets or sets the script invoked on keystrokes or selection changes, influencing immediate input behavior. Gets or sets the script run before the field formats its value for display. Gets or sets the script run when the field's value changes to validate input. Gets or sets the script used to recalculate this field when dependent fields change. Returns a value indicating whether this instance is equal to a specified object. An object to compare with this instance. true if obj equals the value of this instance; otherwise, false. Returns the hash code for this instance. A hash code for the current object. Navigate to a destination in a remote PDF by opening an external file and resolving its target location. Create an empty remote go-to action. Create a remote go-to action targeting the specified file. The file path or specification for the remote action target. Initializes a new instance of the class. The destination for the action. Initializes a new instance of the class. The named destination for the action. Gets or sets the file specification for the remote document that contains the target destination. The file path or file specification string identifying the remote PDF document. Gets or sets a value indicating whether to open the destination document in a new window. True if the document should be opened in a new window; otherwise, false. Launch an external application or open a file with the viewer’s associated handler. Create an empty launch action. Create a launch action targeting the specified file. The path or name of the file to be launched or opened. Gets or sets the file to launch or open via the operating system. The file path or name. Gets or sets whether the target should open in a new window when supported. true if the file should be opened in a new window; otherwise, false. Execute a predefined viewer operation such as page navigation or common UI commands. Create a named action for the specified . The type of the action representing the menu item to be executed. Gets the predefined operation to execute, e.g., navigation or viewer commands. The named action type that determines which operation will be performed. Predefined operations available to for common PDF viewer behaviors. Navigate to the next page. Navigate to the previous page. Navigate to the first page. Navigate to the last page. Print the current document. Save the current document as a new file. Find text within the document. Perform a search operation within the document. Close the current document or viewer. Go to a specific page within the document. Navigate back to the previous location. Navigate forward to the next location. Display the document in single-page view mode. Display the document in two-page view mode. Display the document in one-column layout mode. Show the document at its actual size. Fit the document page within the viewer. Fit the document width within the viewer. Fit the document height within the viewer. Fit the visible content of the page within the viewer. Zoom to a specified level. Enter full-screen mode. Show or hide articles within the document. Show or hide file attachments. Show or hide bookmarks. Show or hide optional content. Show or hide the model tree. Show or hide page thumbnails. Show or hide digital signatures. Open general preferences for the viewer. Display general information about the document. Exit the viewer application. Find the currently selected bookmark. Show the location associated with a bookmark. Zoom in the view. Zoom out the view. Open the help documentation for the reader. Display the document in two-column layout mode. Activate the hand tool menu item. Activate the zoom drag tool menu item. Initiate a scan operation. Holds actions invoked by page lifecycle events such as page open and close. Gets or sets actions executed when the page becomes active/opened. Gets or sets actions executed when the page is closed/unloaded. Controls whether specified fields are included in or excluded from a reset operation. Include the listed fields in the reset. Exclude the listed fields from the reset. Event action sets for widget annotations, including focus and page-visibility triggers. Initializes a new instance of the class. Gets or sets actions executed when the widget gains input focus. Gets or sets actions executed when the widget loses input focus. Gets or sets actions executed when the hosting page opens. Gets or sets actions executed when the hosting page closes. Gets or sets actions executed when the hosting page becomes visible. Gets or sets actions executed when the hosting page becomes invisible. Holds JavaScript actions invoked by document lifecycle events such as open/close, save, and print. Gets or sets the JavaScript to run before the document closes. The JavaScript action to execute when the document is about to close. Gets or sets the JavaScript to run before the document is saved. The JavaScript action to execute when the document is about to be saved. Gets or sets the JavaScript to run after the document is saved. The JavaScript action to execute after the document has been saved. Gets or sets the JavaScript to run before the document is printed. The JavaScript action to execute when the document is about to be printed. Gets or sets the JavaScript to run after the document is printed. The JavaScript action to execute after the document has been printed. Groups sequences for annotation mouse events, enabling hover and click behaviors on page annotations. Initializes a new instance of the class. Gets the actions executed when the pointer enters the annotation’s bounds. Gets the actions executed when the pointer leaves the annotation’s bounds. Gets the actions executed on mouse button press within the annotation. Gets the actions executed on mouse button release within the annotation. Execute JavaScript in response to user interactions or document events during PDF viewing. Create an empty JavaScript action. Create a JavaScript action with the provided script. The JavaScript code to execute when this action is triggered. Gets or sets the JavaScript source executed when the action runs. The JavaScript source code as a string. Abstract base for interactive PDF actions attached to annotations, form fields, or document events. Initialize the base for action objects that trigger behavior in response to document events or user interaction. Navigate to a destination within the current document, either by explicit coordinates or a named destination. Create an empty action that will navigate to a destination when configured. Create an action that targets a specific destination in the current document. The destination for the action. Create an action that targets a specific named destination. The named destination for the action. Gets or sets the explicit target within the document to navigate to when executed. The destination object that defines the target location within the document. Gets or sets the named destination resolved at runtime to a location in the document. The named destination object that references a location by name rather than explicit coordinates. Reset the values of interactive form fields, optionally limiting the operation to a specified subset. Create a reset action with empty and set to , which resets all fields. Create a reset action that includes or excludes the provided field names. A collection of field names to be included or excluded in the reset operation. Specifies whether the reset operation should include or exclude the specified fields. Default is . Gets or sets field names to include or exclude from the reset operation. Gets or sets whether are included in or excluded from the reset. Gets the type of the action, which is . Creates a clone of the current instance. The context used for cloning the document. A new instance with the same properties as the current instance. Represents submit form action. Open a target URI when activated, typically used for web links or external resources. Create a URI action with default settings. Create a URI action targeting the provided URI. The URI. Gets or sets the target address to open when the action runs; accepts absolute or relative URIs. The URI object representing the web address, file path, or other resource location. Gets or sets whether pointer coordinates are appended to the URI when triggered (viewer-dependent). true if the mouse coordinates should be included; otherwise, false. Border settings for annotations, including width, style, and optional dash pattern used when rendering the outline. Create a border with default width and style; adjust properties to change the rendered outline. Create a border using the specified width, style, and dash pattern for dashed styles. The border width in user units. The border style for the annotation. The dash array. Gets or sets the border thickness in page user units, affecting stroke weight when drawn. The thickness of the border line. Gets or sets how the outline is rendered, such as solid, dashed, or simulated 3D styles. The border style that determines how the border line is rendered. Gets or sets the dash pattern used when is dashed; values alternate dash and gap lengths. An array of numbers defining the lengths of dashes and gaps for dashed borders. Visual styles available for annotation borders, including solid, dashed, and simulated 3D effects. Draw the border as a continuous solid line. Draw the border using the current dash pattern. Simulate an embossed rectangle that appears raised relative to the page. Simulate an engraved rectangle that appears recessed into the page. A single line along the bottom of the annotation rectangle. Do not draw a border for this element. Appearance settings for button widgets, extending dynamic characteristics with caption text for interaction states. Create default button appearance characteristics; customize caption and inherited visual properties as needed. Copy all appearance settings from another instance. Other instance to copy from. Gets or sets the button caption shown in the default state, used by viewers when generating dynamic appearance. The text that appears on the button in its default state. Annotation with explicit appearance content, allowing a provided form to override viewer‑generated visuals. Gets the appearance content used for rendering; when set, it takes precedence over appearance characteristics and text properties in most PDF viewers. The content source providing the visual representation. Base for annotations whose appearance can be generated dynamically and recalculated on demand. Recalculate the annotation using current text properties and dynamic appearance settings. Ensure the appearance content is current, triggering recalculation if previously invalidated. Draws a straight line between two points, optionally with arrowhead endings and configurable thickness/color. Returns the line annotation type. The annotation type for lines. Gets or sets the start point in page user units. Coordinates are in document space with origin at the top-left. X increases to the right and Y increases downward. The coordinates where the line begins. Gets or sets the end point in page user units. Coordinates are in document space with origin at the top-left. X increases to the right and Y increases downward. The coordinates where the line ends. Gets or sets the decoration drawn at the start point (e.g., None, OpenArrow). The line start ending type. Gets or sets the decoration drawn at the end point (e.g., None, OpenArrow). The line end ending type. Recalculates the annotation content based on annotations text properties and dynamic appearance characteristics if there are such. Line ending decorations used at the start or end of a line annotation. No decoration. Two short lines forming an open arrow. Square cap. Circle cap. Diamond cap. Closed triangular arrowhead. Short perpendicular line (butt cap). Open arrow drawn in the reverse direction. Closed arrowhead drawn in the reverse direction. Short line at ~30° clockwise from perpendicular (slash). Base for annotations that add visual markup to content, supporting color, opacity, and optional popup notes. Gets or sets annotation transparency used when rendering (0.0 transparent to 1.0 opaque). A value in [0,1]. Gets or sets descriptive text used by viewers for tooltips, popups, or accessibility. The annotation description. Gets or sets the display color applied when rendering the markup. The markup color. Floating popup window used to display notes for a related markup annotation. Returns the popup annotation type. . Gets or sets the markup annotation this popup is attached to. The owning markup annotation. Gets or sets whether the popup is initially open when the document loads. true to open by default; otherwise, false. Stamp annotation for displaying predefined or custom text/graphics, commonly used for approval and status markings. Returns the stamp annotation type. The annotation type for stamps. Gets or sets the stamp identifier, either a predefined name from or a custom value requiring a matching appearance. The stamp name; custom names should supply a appearance. Predefined names for commonly used stamps. Stamp labeled "Approved". Stamp labeled "Not Approved". Stamp labeled "Draft". Stamp labeled "Final". Stamp labeled "For Comment". Stamp labeled "For Public Release". Stamp labeled "Not For Public Release". Stamp labeled "Void". Stamp labeled "Preliminary Results". Stamp labeled "Information Only". Stamp labeled "Confidential". Stamp with a red X symbol. Stamp labeled "Completed". Sticky note annotation used to display a textual comment on a page, typically shown as a note icon with optional popup. Returns the text annotation type. . Text markup that visually emphasizes text using highlight, underline, strikeout, or squiggly effects. Gets the type of the annotation. The annotation type that corresponds to the text markup behavior. Gets or sets the type of the text markup annotation. The text markup type specifying whether this is a highlight, underline, strikeout, or squiggly annotation. Recalculates the annotation content based on annotations text properties and dynamic appearance characteristics if there are such. Represents the text markup type. Represents highlight text markup. Represents underline text markup. Represents squiggly text markup. Represents strike out text markup. Signature field widget that displays digital signature appearance and related content. Returns the signature widget content type. . Gets the appearance content used to render the signature; this typically overrides viewer‑generated visuals. The content source for signature rendering. Recalculates the widget's content based on widget text properties and dynamic appearance characteristics. Viewer-driven appearance settings for widgets, such as rotation and optional border/background colors used to synthesize visuals. Create default characteristics with zero rotation and no colors. Copy rotation and colors from another instance. The instance to copy from. Gets or sets the rotation applied when rendering the widget content within its rectangle. The rotation orientation. Gets or sets the border color; when null the border is fully transparent. Only RGB channels are used by viewers (alpha is ignored). The RGB border color or null. Gets or sets the background color; when null the background is fully transparent. Only RGB channels are used by viewers (alpha is ignored). The RGB background color or null. Visual effect applied to a widget while highlighted or activated. Do not apply a highlight effect. Invert colors of the content within the annotation rectangle. Invert colors of the annotation border only. Use the MouseDown appearance source while highlighted. Relative layout of a button’s icon and caption. Draw caption only; hide icon. Draw icon only; hide caption. Place the caption below the icon. Place the caption above the icon. Place the caption to the right of the icon. Place the caption to the left of the icon. Overlay the caption on top of the icon. Controls how a button icon is scaled and positioned within the annotation rectangle. Create default fit behavior (proportional scaling, centered, border respected). Gets or sets when scaling occurs relative to the annotation area. The condition controlling whether the icon is resized. Gets or sets how the icon scales when resizing is needed (fit exactly or preserve aspect ratio). The scaling mode applied to the icon. Gets or sets the fraction of remaining horizontal space placed on the left after scaling (0..1, default 0.5 centers horizontally). A value in [0,1] controlling left-side blank space. Gets or sets the fraction of remaining vertical space placed at the bottom after scaling (0..1, default 0.5 centers vertically). A value in [0,1] controlling bottom-side blank space. Gets or sets whether border thickness is ignored when computing the fit region. true to ignore border width; otherwise, false. Modes that control how an icon scales when resizing is required. Scale to fit the rectangle exactly; aspect ratio may be distorted. Scale to fit inside while preserving aspect ratio. Appearance settings for push button widgets, adding captions, icons, and layout per interaction state. Create default push button appearance settings with no icon and caption-only layout. Copy captions, icons, icon fit, and layout from another instance. The instance to copy from. Gets or sets the caption shown during mouse-over. The hover caption. Gets or sets the caption shown while the mouse button is pressed. The pressed caption. Gets or sets the icon used in the default state. The default state icon . Gets or sets the icon used during mouse-over. The hover icon . Gets or sets the icon used while the mouse button is pressed. The pressed icon . Gets the options that control icon scaling and positioning within the widget rectangle. The icon fit options. Gets or sets the relative layout of icon and caption within the button appearance. The icon/caption layout. Interactive push button widget that can show text and/or icons and trigger actions when activated. Returns the push‑button widget content type. . Gets the appearance content for the widget; when provided, most viewers prefer it over viewer‑generated visuals. The content source for rendering. Recalculates the Widget content based on Widget text properties and dynamic appearance characteristics. Conditions that govern when a button icon is resized to fit its annotation rectangle. Always resize the icon to fit. Resize only when the icon is larger than the rectangle. Resize only when the icon is smaller than the rectangle. Never resize; use the original icon size. Radio button widget used within a group to allow a single mutually exclusive selection. Gets the option value this widget represents within its radio group. The radio option for this widget. Gets whether the RadioButtonWidget is actually selected, regardless of the ShouldUpdateRadiosInUnison value. Base for two‑state widgets (ON/OFF) such as checkboxes and radio buttons, providing appearance for each state. Returns the two‑states widget content type. . Gets the appearance content used when the widget is in the ON state; this typically overrides viewer‑generated visuals. The ON‑state content source. Gets the appearance content used when the widget is in the OFF state; this typically overrides viewer‑generated visuals. The OFF‑state content source. Gets the appearance state (AS entry) of the widget. Recalculates the widget's content based on widget text properties and dynamic appearance characteristics. Provides predefined caption constants for that render as symbols when using the ZapfDingbats font. The caption character that displays as a checkmark symbol in ZapfDingbats font. The caption character that displays as a filled circle symbol in ZapfDingbats font. The caption character that displays as a cross symbol in ZapfDingbats font. The caption character that displays as a diamond symbol in ZapfDingbats font. The caption character that displays as a square symbol in ZapfDingbats font. The caption character that displays as a star symbol in ZapfDingbats font. Widget whose appearance is generated by the viewer at runtime (e.g., text fields, combo boxes), with optional initial content. Returns the variable‑content widget content type. . Gets the initial appearance content used by viewers before dynamic rendering takes over. The initial content source. Recalculates the Widget content based on Widget text properties and dynamic appearance characteristics. Base class for interactive form field widgets that render field content and handle user input. Gets or sets how the widget is visually highlighted during interaction. Gets or sets text formatting used by viewers when synthesizing the widget appearance. Gets the form field this widget visualizes and edits. Gets the widget content type that determines rendering and behavior. Returns the widget annotation type. . Gets the actions triggered by widget events such as mouse interactions and focus changes. Generic widget base with strongly typed appearance characteristics . The type of appearance characteristics that define the widget's visual properties. Gets or sets viewer-driven appearance characteristics for this widget type. Holds instances for normal, hover, and pressed states used to render annotation or widget appearances. Create a content source holder for widget annotations, providing normal, pressed, and hover appearances. Gets or sets the appearance used in the default, idle state. The FormSource that provides the default appearance. Gets or sets the appearance used while the mouse button is pressed. The FormSource that provides the pressed appearance. Gets or sets the appearance used while the pointer hovers over the annotation. The FormSource that provides the hover appearance. Identifies how a widget’s content is rendered or provided. Content generated dynamically by the viewer (e.g., text fields, combo boxes). Content for widgets with two states (ON/OFF) such as checkboxes and radio buttons. Content for signature widgets. Content for push button widgets. Defines the set of PDF annotation categories supported by the API. Interactive link to a destination, action, or external resource. Widget used by interactive forms to render fields and handle user input. Text note (sticky note) attached to a point on the page. Free text drawn directly on the page. Single straight line between two points. Rectangle shape. Ellipse shape. Closed polygon defined by multiple vertices. Polyline similar to polygon but not closed automatically. Text highlight. Text underline. Text squiggly underline. Text strike‑out. Stamp showing predefined or custom text/graphics as if rubber‑stamped. Caret indicating text edits. Freehand ink strokes composed of one or more paths. Popup window for displaying or editing text. File attachment referencing an external file. Embedded sound. Embedded movie (legacy rich media). Screen region for playing media clips. Printer’s mark used for production alignment and identification. Trap network specifying page trapping characteristics. Watermark graphics printed at fixed size and position. Embedded 3D artwork. Redaction marking content intended for removal. Raised for annotation events; provides the affected page, the annotation, and a handled flag. Initializes event data for annotation notifications raised during fixed document interaction. Gets or sets the page that contains the annotation involved in the event. The page holding the annotation. Gets or sets the annotation instance associated with the event. The affected annotation. Gets or sets whether the event is handled, preventing further processing. true to stop propagation; otherwise, false. Base abstraction for PDF annotations, defining common rectangle, border, visibility, and cloning behavior used by all concrete annotation types. Defines the annotation rectangle in page user units, controlling its position and size on the page. Coordinates are in document space with origin at the top-left. X increases to the right and Y increases downward. The rectangular area that defines the annotation's position and size. Identifies the concrete annotation kind, which determines rendering and viewer interaction behavior. The annotation type that determines how the annotation is rendered and behaves. Controls the annotation outline appearance, including width, style, and optional dash pattern. The border configuration that defines the annotation's outline appearance. Indicates whether the annotation appears in printed output in addition to on‑screen viewing. true if the annotation appears in printed output; otherwise, false. Logical structure tag for accessibility, linking this element into the document’s structure tree. Clickable region that navigates to a destination, runs actions, or opens external resources when activated. Initializes a new instance of the class. The destination to navigate to when the link is activated. Initializes a new instance of the class. The first action in a collection of actions. Initializes a new instance of the class. The named destination to navigate to when the link is activated. Gets the explicit destination the link navigates to when activated. The target destination. Gets the ordered actions executed when the link is activated. The action sequence to run. Gets the named destination resolved at runtime, as an alternative to explicit coordinates. The target named destination. Returns the link annotation type. The annotation type for links. Represents a value in a collection item dictionary, storing custom metadata for an embedded file in a PDF Portfolio. Collection item values correspond to fields defined in the portfolio schema. Each value has a type (text, number, or date) that should match the corresponding schema field type. A value can optionally have a prefix that is displayed before the main value in the PDF viewer. Use , , or to create instances. Gets the type of this collection item value. Gets the text value if is . The text value, or null if the value is not a text type. Gets the numeric value if is . The numeric value, or null if the value is not a number type. Gets the date value if is . The date value, or null if the value is not a date type. Gets or sets an optional prefix that is displayed before the main value in the PDF viewer. This corresponds to the P entry in a CollectionSubitem dictionary (PDF 1.7). When a prefix is set, the value is exported as a CollectionSubitem dictionary with P and D entries. Example: A subject field might have prefix "Re:" and data "Let's have lunch on Friday!". Gets the raw value object. Used internally for export. Represents a collection of field values for an embedded file in a PDF Portfolio. Each entry maps a schema field key to its value. This collection stores custom metadata values that correspond to fields defined in the portfolio schema (). The field keys must match the keys defined in the schema for the values to be displayed correctly. Initializes a new instance of the class. Gets the number of values in the collection. Gets or sets the value associated with the specified field key. The key of the schema field. The collection item value associated with the key. Sets a text value for the specified field key. The key of the schema field. The text value. The created , allowing further configuration such as setting a prefix. Sets a numeric value for the specified field key. The key of the schema field. The numeric value. The created , allowing further configuration such as setting a prefix. Sets a date value for the specified field key. The key of the schema field. The date value. The created , allowing further configuration such as setting a prefix. Determines whether the collection contains a value with the specified field key. The key to locate. true if the collection contains a value with the key; otherwise, false. Removes the value with the specified field key. The key of the value to remove. true if the value was removed; otherwise, false. Removes all values from the collection. Tries to get the value associated with the specified field key. The key of the value to get. When this method returns, contains the value, or null if not found. true if the value was found; otherwise, false. Returns an enumerator that iterates through the collection. An enumerator for the collection. Specifies the type of data stored in a collection item value. A text string value. A numeric value. A date/time value. Attachment store for embedded files; add, rename, and remove files, with single ZUGFeRD/Factur‑X invoice support when present. Initializes a new instance of the class. The parent. Get the embedded file associated with the specified name. The name of the embedded file to retrieve. The embedded file with the specified name. Thrown when no embedded file with the specified name exists in the collection. Collection of names of the embedded files. Number of embedded files in the collection. Indicates whether the collection contains a ZUGFeRD (or Factur‑X) invoice file. True if the collection contains a ZUGFeRD invoice file; otherwise, false. Returns an enumerator that iterates through the collection. An enumerator for the collection. Removes the embedded file with the specified name from the collection and cleans up its parent associations. The name of the embedded file to remove. True if the embedded file was successfully found and removed; otherwise, false. Thrown when the name parameter is null. Removes all ZUGFeRD invoice files from the collection. True if any ZUGFeRD invoice files were successfully found and removed; otherwise, false. Changes the name of an existing embedded file in the collection. The current name of the embedded file to rename. The new name to assign to the embedded file. Creates and adds a new embedded file with the specified name and binary data to the collection. The name to assign to the embedded file. The binary data content of the embedded file. The newly created embedded file instance. Thrown when the name is null or empty. Thrown when the data is null. Thrown when an embedded file with the same name already exists in the collection. Creates and adds a ZUGFeRD-compliant embedded invoice file to the collection with basic conformance level. The raw XML bytes of the invoice to embed. This should contain a valid ZUGFeRD/Factur-X compliant XML document. The ZUGFeRD/Factur-X conformance level to apply when exporting the PDF. Defaults to . Supported values are , , , and . The newly created embedded file representing the invoice. Thrown when is null. Thrown when an invoice attachment is already present. Only one ZUGFeRD/Factur-X invoice per document is allowed. - If an invoice already exists (detected by common invoice filenames such as "ZUGFeRD-invoice.xml", "zugferd-invoice.xml", "factur-x.xml", or "xrechnung.xml"), the method throws. - The specified is stored in the collection and used during PDF export. - For , the embedded invoice file name is fixed to "xrechnung.xml". - To replace an existing invoice, call before adding a new one. Determines whether an embedded file with the specified name exists in the collection. The name to search for in the collection. True if an embedded file with the specified name exists; otherwise, false. Thrown when the name parameter is null. Removes all embedded files from the collection. Verifies that the collection has not exceeded its maximum capacity limit. Thrown when the collection size exceeds the maximum allowed limit. Generates an incremented version of the provided name if it already exists in the collection. The current counter value used for generating unique suffixes. The name components split by dot separators. The base file name without extension or numeric suffix. The candidate new name to check for uniqueness. A unique name that doesn't conflict with existing names in the collection. Represents a collection of JavaScript actions that can be associated with PDF documents, allowing for named access to individual actions. Initializes a new instance of the class. Gets the number of JavaScript actions in the collection. Gets the JavaScript action associated with the specified name from the collection. The name of the JavaScript action to retrieve. The JavaScript action with the specified name. Thrown when no JavaScript action with the specified name exists in the collection. Adds a named JavaScript action to the collection with the specified name and action. The unique name to assign to the JavaScript action. The JavaScript action to add to the collection. Thrown when the name or action parameter is null. Removes the JavaScript action with the specified name from the collection. The name of the JavaScript action to remove. True if the JavaScript action was successfully found and removed; otherwise, false. Thrown when the name parameter is null. Determines whether a JavaScript action with the specified name exists in the collection. The name of the JavaScript action to locate. True if a JavaScript action with the specified name exists; otherwise, false. Thrown when the name parameter is null. Returns an enumerator that iterates through the collection of JavaScript actions. An enumerator for the collection. Verifies that the collection has not exceeded its maximum capacity limit. Thrown when the collection size exceeds the maximum allowed limit. Generates an incremented version of the provided name if it already exists in the collection. The current counter value used for generating unique suffixes. The name components split by dot separators. The base file name without extension or numeric suffix. The candidate new name to check for uniqueness. A unique name that doesn't conflict with existing names in the collection. Base for name-keyed collections that support enumeration and automatic conflict-free name generation. Initializes a new instance of the class. Provides a thread-safe base for managing name-keyed collections with automatic name conflict resolution. Return an enumerator that iterates through the collection of named objects. An enumerator for the collection. Validates that the collection has not exceeded its maximum capacity limit. Generates an incremented version of the provided name if it already exists in the collection. The current counter value used for generating unique suffixes. The name components split by dot separators. The base file name without extension or numeric suffix. The candidate new name to check for uniqueness. A unique name that doesn't conflict with existing names in the collection. Creates an incremented name by appending a numeric suffix to avoid naming conflicts. The current counter value used for generating unique suffixes. The name components split by dot separators. The base file name without extension or numeric suffix. A new unique name with an incremented numeric suffix. Registry of named destinations used as navigation targets across the document for links and actions. Create a named-destinations registry so links and actions can target pages or views by name. The parent. Get the named destination associated with the specified name. The name of the named destination to retrieve. The named destination with the specified name. Thrown when no named destination with the specified name exists in the collection. Collection of all destination names in this collection. Number of named destinations contained in the collection. Add a new named destination with the specified name and destination target. The unique name to assign to the named destination. The destination target that defines where to navigate when this named destination is used. The newly created named destination instance. Thrown when the name or destination parameter is null. Thrown when an element with the same name already exists in the collection. Add a new named destination with the specified name and go-to action. The unique name to assign to the named destination. The go-to action that defines the navigation behavior for this named destination. The newly created named destination instance. Thrown when the name or goToAction parameter is null. Thrown when an element with the same name already exists in the collection. Remove all named destinations from the collection. Determine whether a named destination with the specified name exists. The name to search for in the collection. True if a named destination with the specified name exists; otherwise, false. Thrown when the name parameter is null. Return an enumerator that iterates through the collection of named destinations. An enumerator for the collection. Remove the named destination with the specified name and clean up its parent associations. The name of the named destination to remove. True if the named destination was successfully found and removed; otherwise, false. Thrown when the name parameter is null. Try to retrieve the named destination associated with the specified name. The name of the destination to retrieve. When this method returns, contains the named destination associated with the specified name if found; otherwise, null. True if a named destination with the specified name was found; otherwise, false. Thrown when the name parameter is null. Change the name of an existing named destination in the collection. The current name of the named destination to rename. The new name to assign to the named destination. Represents a PDF Portfolio (also known as PDF Collection or PDF Package) that provides enhanced presentation of embedded file attachments with customizable views, schema, and sorting. PDF Portfolios allow organizing multiple files within a single PDF with a structured user interface showing file metadata in columns (details view) or icons (tile view). This feature was introduced in PDF 1.7. Initializes a new instance of the class. Gets or sets a value indicating whether the portfolio presentation is enabled. When true, the document will be presented as a PDF Portfolio in compliant viewers. Set this property to true to enable portfolio mode for the document's embedded files. The portfolio will only be exported if this property is true and the document contains embedded files. Gets or sets the initial view mode for displaying the portfolio. Default value is . Gets or sets the name of the embedded file to display initially when the portfolio is opened. If null or not found, the container PDF document is displayed. Gets the schema that defines the fields (columns) displayed for embedded files. Use the schema's Add methods to add fields to the portfolio. Gets the sort settings that define how embedded files are ordered in the portfolio. Represents a field in a PDF Portfolio schema that defines a column of metadata for embedded files. Initializes a new instance of the class. The unique key identifying this field. The display name shown in the user interface. The type of data stored in this field. Gets the unique key identifying this field in the schema. This key is used to associate field values with embedded files. Gets or sets the display name shown to the user in the PDF viewer. Gets the type of data stored in this field. Gets or sets the relative display order of this field in the user interface. Fields are sorted by the viewer in ascending order of this value. Gets or sets a value indicating whether this field is visible in the user interface. Default value is true. Gets or sets a value indicating whether the PDF viewer should support editing this field value. Default value is false. Specifies the type of data stored in a portfolio collection field. A text field. The field data is stored as a text string. A date field. The field data is stored as a date. A number field. The field data is stored as a number. The field data is the file name of the embedded file stream. The field data is the description of the embedded file stream. The field data is the modification date of the embedded file. The field data is the creation date of the embedded file. The field data is the size of the embedded file. Represents the schema of a PDF Portfolio, defining the fields (columns) displayed for embedded files. Initializes a new instance of the class. Gets the number of fields in the schema. Gets the field at the specified index. The zero-based index of the field to get. The field at the specified index. Adds a predefined field for displaying file names. The display order of the column. The created . Adds a predefined field for displaying file descriptions. The display order of the column. The created . Adds a predefined field for displaying file sizes. The display order of the column. The created . Adds a predefined field for displaying modification dates. The display order of the column. The created . Adds a predefined field for displaying creation dates. The display order of the column. The created . Adds a custom text field to the schema. The unique key identifying this field. The display name shown in the user interface. The display order of the column. The created . Adds a custom date field to the schema. The unique key identifying this field. The display name shown in the user interface. The display order of the column. The created . Adds a custom number field to the schema. The unique key identifying this field. The display name shown in the user interface. The display order of the column. The created . Configures the schema with default fields containing common file properties. Removes all fields from the schema. Returns an enumerator that iterates through the fields. An enumerator for the fields collection. Adds a field to the schema. Used internally during import. The field to add. Represents sort settings for a PDF Portfolio, specifying how embedded files are ordered. Initializes a new instance of the class. Gets the list of field keys used for sorting, in priority order. The first field is the primary sort key; subsequent fields break ties. Gets the list of ascending flags corresponding to each sort field. True indicates ascending order; false indicates descending order. Adds a sort field with the specified sort direction. The key of the field to sort by (must match a field key in the schema). True for ascending order; false for descending order. Default is true. Clears all sort fields. Specifies the initial view mode for a PDF Portfolio (collection of embedded files). Details mode - displays all information in the schema in a multi-column format. This mode provides the most information to the user. This is the default value. Tile mode - displays each file as a small icon with a subset of schema information. This mode provides top-level information about the file attachments. Hidden mode - the collection view is initially hidden, but users can still access the file list. Top-level outline items that build the document’s navigation tree for quick jumps and hierarchical structure. Initializes a new instance of the class. The parent instance for this bookmarks collection. This parent is applied on each instance added to the collection. Gets the parent for the current instance. Traverses the bookmark hierarchy using depth-first search algorithm in preorder traversal (root, left child, right child). An enumerable sequence of bookmark items in depth-first search order. Traverses the bookmark hierarchy using breadth-first search algorithm, visiting all items at each level before moving to the next level. An enumerable sequence of bookmark items in breadth-first search order. Verifies the validity of the before it is inserted in the collection. An item is assumed to be valid when has not already been added in this or other instance, i.e. it's parent is null. The item to add. Thrown when the item is null. Thrown when the item has already been added in this or other instance. Page annotations API for adding links, text markups, stamps, and other interactive elements to a PDF page. Create an annotations collection for the specified page and manage interactive PDF annotations. The parent. Add a link annotation that navigates to the specified destination within the document. The document destination to navigate to when the link is clicked. The newly created link annotation. Add a link annotation that executes the specified action when activated. The action to execute when the link is clicked. The newly created link annotation. Add a link annotation that navigates to the given named destination within the document. The named destination to navigate to when the link is clicked. The newly created link annotation. Add a highlight annotation to emphasize text or content with a background highlight. The rectangle defining the area to highlight in page coordinates. The created highlight annotation. Add a squiggly underline annotation to mark text with a wavy underline. The rectangle defining the bounds of the squiggly underline in page coordinates. The newly created squiggly underline annotation. Add an underline annotation to draw a straight underline beneath text. The rectangle defining the area to underline in page coordinates. The created underline annotation. Add a strikeout annotation to draw a line through text. The rectangle defining the area to strike out in page coordinates. The created strikeout annotation. Add a stamp annotation that displays a rubber stamp-like visual or text. The rectangle defining the area for the stamp in page coordinates. The created stamp annotation. Add a text annotation that shows a pop-up note when activated. The rectangle defining the clickable area for the text annotation in page coordinates. The created text annotation. Add a line annotation that draws a straight line between two points. The starting point of the line in page coordinates. The ending point of the line in page coordinates. The created line annotation. Add a popup annotation that displays additional content for a parent markup annotation. The parent markup annotation that this popup will be associated with. The created popup annotation. Executes the action after the item is added to the collection. The annotation that has been added to the collection. Executes the action after the item is removed from the collection. The annotation that has been removed from the collection. Container-backed collection for composing page visuals with paths, text, images, forms, and marked content. Create a content element collection for the given container to compose page visuals. The parent container element that owns this collection. Add a new element to the container and return it for configuration. The newly created and added Path instance. Add a new element to the container and return it. The newly created and added TextFragment instance. Add a initialized with the specified text and return it. The text content for the TextFragment element. The newly created and added TextFragment instance with the specified text. Add a new element to the container and return it. The newly created and added Image instance. Add an with the specified and return it. The image source for the new image element. The newly created and added Image instance with the specified source. Add a new to the container and return it. The newly created and added Form instance. Add a with the specified and return it. The form source for the new form element. The newly created and added Form instance with the specified source. Add a new with the default tag and return it. The newly created and added MarkedContent instance. The structure element to associate with the marked content. Optional. Generic collection for document elements that enforces parent–child relationships and safe insertion into an owning container. The type of document elements contained in the collection. The type of the owner element that contains this collection. Construct a collection bound to the specified owner for managing child elements with enforced parent–child relationships. The parent element that owns this collection. Establishes the parent-child relationship between a document element and its parent container. The document element to set the parent for. The parent container to assign to the document element. Validates that a document element can be safely added to the collection by checking its parent associations. The document element to validate before insertion. Document pages collection used to create, order, and manage page instances during layout. Add a new page, assign the next sequential , and return it. The newly created page instance. Executes the action after the item is added to the collection. The page that has been added to the collection. Executes the action after the item is removed from the collection. The page that has been removed from the collection. Called from to get color from lookup array. Called from to get color from lookup array. Device CMYK color with cyan, magenta, yellow, and key (black) components; use for print-oriented color workflows. Creates a with all components set to 0. Creates a with explicit cyan, magenta, yellow, and key (black) values. The cyan component of the color, a value between 0.0 and 1.0. The magenta component of the color, a value between 0.0 and 1.0. The yellow component of the color, a value between 0.0 and 1.0. The key (black) component of the color, a value between 0.0 and 1.0. Gets or sets the cyan component, 0.0–1.0. The cyan component value. Gets or sets the magenta component, 0.0–1.0. The magenta component value. Gets or sets the yellow component, 0.0–1.0. The yellow component value. Gets or sets the key (black) component, 0.0–1.0. The key component value. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Serves as a hash function for a particular type. A hash code for the current . Well-known PDF color space names used when exporting or interpreting color values. The CalRGB color space. The CalGray color space. The Lab color space. The ICCBased color space. The DeviceRGB color space. The DeviceCMYK color space. The DeviceGray color space. The Separation color space. The DeviceN color space. The Indexed color space. The Pattern color space. Called from to get color from lookup array. Called from to get color from lookup array. Called from to get color from lookup array. Color stop used in a gradient, pairing a color with its normalized position. Creates a with the specified color and offset. The color at this gradient stop. The position of this stop along the gradient, a value between 0.0 and 1.0. Gets the color associated with this stop. The stop color. Gets the normalized position of this stop in the gradient. The offset between 0.0 (start) and 1.0 (end). Mutable list of gradient stops that define the color ramp for a gradient fill. Creates an empty collection of gradient stops. Gets the number of elements contained in the . The number of elements contained in the . The number of gradient stops in the collection. Gets a value indicating whether the is read-only. true if the is read-only; otherwise, false. Always returns false as the collection is modifiable. Gets or sets the at the specified index. The gradient stop at the specified index. Determines the index of a specific gradient stop in the collection. The gradient stop to locate in the collection. The zero-based index of the first occurrence of the gradient stop within the collection, or -1 if not found. Inserts a gradient stop at the specified index. The zero-based index at which to insert the gradient stop. The gradient stop to insert into the collection. Removes the item at the specified index. The zero-based index of the item to remove. is not a valid index in the . The is read-only. Adds the specified item. The gradient stop to add to the collection. Removes all items from the . The is read-only. Determines whether [contains] [the specified item]. The gradient stop to locate in the collection. True if the gradient stop is found in the collection; otherwise, false. Copies to. The destination array to copy gradient stops to. The zero-based index in the destination array at which copying begins. Removes the specified item. The gradient stop to remove from the collection. True if the gradient stop was successfully removed; otherwise, false. Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Ensures the collection has capacity for at least the specified number of gradient stops. Call before bulk additions to avoid list resizing overhead. The minimum capacity to ensure. Device grayscale color with a single component representing the gray value. Creates a with the gray component set to 0 (black). Creates a from a gray value. The gray component value (0-255), where 0 is black and 255 is white. Gets or sets the gray component, 0–255 (0 = black, 255 = white). The gray component value. Determines whether the specified is equal to the current . The to compare with the current instance. true if the specified color is a with the same gray component; otherwise, false. Returns a string representation of this gray color showing its component value. A string in the format "<G=value>". Called from to get color from lookup array. Called from to get color from lookup array. Called from to get color from lookup array. CIE L*a*b* color (device‑independent, perceptually uniform); use when accurate color appearance across devices is required. Creates a using CIE Standard Illuminant D65. The L* component. The a* component. The b* component. Creates a with a custom white point. The L* component. The a* component. The b* component. The white point component. Creates a with custom white point and range. The L* component. The a* component. The b* component. The white point component. The range component. Initializes a new instance of the class. The L* component. The a* component. The b* component. The white point component. The black point component. The range component. Gets or sets the L* (lightness) component. The L* component. Gets or sets the a* (green–red) component. The a* component. Gets or sets the b* (blue–yellow) component. The b* component. Gets or sets the white point used by the Lab color space. The white point component. Gets or sets the valid range for a* and b* components. The range component. Equals the specified other. The other. True if the specified color is equal to the current Lab color; otherwise, false. Serves as a hash function for a particular type. A hash code for the current . Specifies whether a tiling pattern supplies its own color or relies on the current paint. Colored tiling. Tiling without color. Radial gradient that blends colors between two circles defined by centers and radii; use for spotlight or vignette effects. Creates a radial gradient with the specified centers and radii. The start point. The end point. The start radius. The end radius. Gets or sets the radius of the inner circle where interpolation starts. Start radius in user units. Gets or sets the radius of the outer circle where interpolation ends. End radius in user units. Compares this radial gradient with another color for value equality. The other color to compare. True if both represent equivalent radial gradients; otherwise, false. Serves as a hash function for a particular type. A hash code for the current . Base for gradient pattern colors that interpolate between multiple stops; use to fill areas with linear or radial color transitions. Creates a gradient defined by start and end points. The starting point of the gradient. The ending point of the gradient. Creates a gradient with explicit placement transform. The starting point of the gradient. The ending point of the gradient. The position transformation matrix for the gradient. Gets or sets the starting point that anchors the gradient. The starting point of the gradient. Gets or sets the ending point that anchors the gradient. The ending point of the gradient. Gets or sets whether the gradient extends beyond the start point. True if the gradient extends before the start point; otherwise, false. Gets or sets whether the gradient extends beyond the end point. True if the gradient extends after the end point; otherwise, false. Gets or sets the background color used outside the gradient ramp when extension is disabled. The background color, or null if no background color is specified. Gets the ordered stops that define the color interpolation. The gradient stops collection. Gets or sets the transform that positions the gradient in user space. The position transformation matrix. Equals the specified other. The other. True if the specified gradient is equal to the current gradient; otherwise, false. Serves as a hash function for a particular type. A hash code for the current . Linear gradient that interpolates colors along a straight line between two points; use for directional fills like fades and bands. Creates a linear gradient between the specified start and end points. The starting point coordinates where the gradient begins. The ending point coordinates where the gradient ends. Compares this linear gradient with another color for value equality. The other color to compare. True if both represent equivalent linear gradients; otherwise, false. Called from to get color from lookup array. Base for pattern-based colors (gradients, tilings) used to paint areas with reusable patterns and transforms. Initializes a new instance of the class. Gets or sets the transform that positions the pattern when applied. The position transformation matrix. Called from to get color from lookup array. Base for concrete color types that expose component values directly (e.g., RGB). Base contract for tiling patterns used by PDF pattern colors; exposes cell geometry, spacing, and placement settings. Initializes a new instance of the class. Gets or sets how tiles are fitted when rendered (distortion tolerance vs. fidelity/performance). The type of the tiling. Gets or sets the vertical distance between adjacent tiles; when unset, the cell height is used. The vertical spacing. Gets or sets the cell bounds in user space that constrain painting. The bounding box. Gets or sets the horizontal distance between adjacent tiles; when unset, the cell width is used. The horizontal spacing. Gets the cell size computed from the current . The size. Gets the vector elements that compose the cell (paths, text, images, forms). The content. Gets the logical parent element in the fixed document tree. The parent. Gets a value indicating whether annotations are supported for this element. True if the element supports annotations. Gets the annotations collection. The annotations collection. Gets a value indicating whether the element participates in automatic tagging. True if the element supports auto tagging. Gets the default structure root associated with this element for use during auto-tagging, when applicable. The default structure root. Gets the stack of structure elements used when building tagging hierarchy. The structure stack. Controls how a tiling pattern cell may be distorted during placement to balance quality and speed. Allows small distortion. Does not allow any distortion. Allows additional distortion which permits faster tiling. Tiling pattern that repeats a cell of vector content across an area; use to fill shapes with repeating artwork or textures. Initializes a new instance of the class with default bounding box and position. Initializes a new instance of the class with the specified bounding box. The rectangular area that defines the tiling pattern boundary. Initializes a new instance of the class with the specified position transformation. The position transformation matrix applied to the tiling pattern. Initializes a new instance of the class with the specified bounding box and position. The rectangular area that defines the tiling pattern boundary. The position transformation matrix applied to the tiling pattern. Gets the cell size derived from the bounding box width and height. The size of the tiling pattern. Gets the vector content that defines the repeated cell (paths, text, images, forms). The content elements collection. Gets or sets the vertical spacing between cells; defaults to the cell height when not set. The vertical spacing value, or the pattern height if not explicitly set. Gets or sets the horizontal spacing between cells; defaults to the cell width when not set. The horizontal spacing. Gets or sets the cell bounds in user space coordinates. The bounding box. Gets or sets the transform applied when placing the tiling. The position. Gets or sets the tiling placement mode, affecting distortion tolerance and performance. The type of the tiling. Equals the specified other. The other. True if the specified tiling is equal to the current tiling; otherwise, false. Tiling pattern that omits color so the paint is supplied externally; use to reuse geometry while applying different colors at draw time. Creates an that reuses the geometry from and paints it with the provided at usage time. The tiling. The color. Gets the underlying tiling cell geometry used by this uncolored pattern; color is provided by the current graphics state. The tiling. Gets the paint color applied when this uncolored tiling is rendered. The color. Gets the content elements that make up the tiling cell (paths, text, images). The content. Gets the size of the tiling cell derived from its . The size. Gets or sets the geometric bounds of the tiling cell in user space coordinates. The bounding box. Gets or sets the transformation applied when placing the tiling pattern. The position. Gets or sets the horizontal spacing between adjacent tiles; defaults to the cell width when unspecified. The horizontal spacing. Gets or sets the vertical spacing between adjacent tiles; defaults to the cell height when unspecified. The vertical spacing. Gets or sets the tiling placement mode, balancing distortion allowances and rendering speed. The type of the tiling. Compares this uncolored tiling with another color for value equality. The other color to compare. True if both reference the same tiling geometry and color; otherwise, false. Serves as a hash function for a particular type. A hash code for the current . Represents the base class for all color types. Initializes the base color state for derived color types used in fixed document processing. Determines whether the specified is equal to the current color. The color to compare with the current color. True if the specified color is equal to the current color; otherwise, false. Determines whether the specified is equal to the current color. The object to compare with the current color. True if the specified object is equal to the current color; otherwise, false. Returns the hash code for the current color instance. A hash code for the current color. Called from to get color from lookup array. Called from to get color from lookup array. Device RGB color with ARGB components for drawing content; use to specify red/green/blue values with optional transparency. Creates an with default alpha (fully opaque). Creates an from RGB components with default alpha (fully opaque). The red component value (0-255). The green component value (0-255). The blue component value (0-255). Creates an from explicit ARGB components. The alpha (transparency) component value (0-255), where 0 is fully transparent and 255 is fully opaque. The red component value (0-255). The green component value (0-255). The blue component value (0-255). Gets or sets the alpha (transparency) component, 0–255 (0 = transparent, 255 = opaque). The alpha component value, where 0 represents fully transparent and 255 represents fully opaque. Gets or sets the red component, 0–255. The red component value. Gets or sets the green component, 0–255. The green component value. Gets or sets the blue component, 0–255. The blue component value. Calculates a hash code for this RGB color instance based on its component values. A hash code for the current RGB color. Determines whether the specified color is equal to the current RGB color. The color to compare with the current color. True if the specified color is equal to the current RGB color; otherwise, false. Returns a string representation of this RGB color showing its ARGB component values. A string representation of the RGB color in the format "<A=alpha R=red G=green B=blue>". Provides predefined RGB color constants for commonly used colors. Gets the black color (RGB: 0, 0, 0). An RGB color representing black. Gets the white color (RGB: 255, 255, 255). An RGB color representing white. Gets a fully transparent color (ARGB: 0, 0, 0, 0). An RGB color representing transparency. Abstraction representing a fixed page with defined boundaries and display properties. Provides access to the page's physical dimensions, visible area, and orientation. Gets the rectangle defining the boundaries of the physical medium on which the page is intended to be displayed or printed. A rectangle specifying the media box dimensions in page coordinate units. Gets the rectangle defining the boundaries of the visible region of the page. When the page is displayed or printed, its contents are to be clipped (cropped) to this rectangle. A rectangle specifying the crop box dimensions in page coordinate units. Gets the rotation angle applied to the page content. This determines how the page should be oriented when displayed or printed. The rotation value indicating the page orientation. Specifies how a PDF document should be displayed when opened in a viewer application. Represents the default display mode with no special navigation panels shown. Displays the document with the bookmarks navigation panel visible, allowing easy access to document bookmarks. Initialize property with default value getter. Default value getter allowing to get the default value on demand only. Content element that applies explicit positioning and geometric transforms in fixed-document page coordinates; use to place, rotate, scale, or skew visuals precisely on a page. Coordinates are in document space with origin at the top-left. X increases to the right and Y increases downward. Initialize the element with deferred matrix-based positioning. The identity transformation is created on first access. Gets or sets the position and transformation matrix that defines how this element is positioned and oriented on the page. This includes translation, rotation, scaling, and skewing transformations applied to the element. The position object containing transformation information for rendering this element. Thrown when attempting to set a null value. Creates a cloned instance of this position content element. The type of position content element to create. The cloned instance of the position content element. Base type for renderable page content; common surface for graphics, text, images, and forms during layout and export. Clipping region that limits the element’s visible area; set null to disable clipping. The clipping region, or null if no clipping is applied. Represents the base class for all elements that can be part of a fixed document structure. Gets the parent element that contains this fixed document element in the document hierarchy. The parent element, or null if this element is at the root level. Establishes a parent-child relationship by setting the parent element for this document element. The new parent element to assign to this document element. Gets the fixed document element type. The fixed document element type. Represents all fixed document element types. RadFixedDocument element type. RadFixedPage element type. Container element type. Path element type. Image element type. TextSegment element type. Form element type. Destination element type. Annotation element type. BookmarkItem element type. NamedDestination element type. EmbeddedFiles element type. MarkedContent element type. Marker element type. Marker element type. Represents the base interface for elements that can contain other content elements. This interface extends the fixed document element functionality with content management capabilities. Gets the collection of content elements contained within this container element. This collection provides access to all child elements that make up the content of this container. The collection of content elements. Represents the base interface for the root of the content elements tree. Gets the size dimensions of the content root element. This defines the available space for content within the root element. The size dimensions of the element. Gets a value indicating whether the element supports annotation functionality. When true, annotations can be added to this element through the Annotations collection. True if the element supports annotations; otherwise, false. Gets the collection of annotations associated with this content root element. This collection provides access to all interactive annotations such as links, comments, and form fields. The collection of annotations for this element. Gets a value indicating whether the element supports automatic tagging functionality. True if the element supports auto tagging. Gets the default structure root element of the structure. This is the root element that is used when auto-tagging is enabled. The default structure root. Gets the stack of structure elements used to manage hierarchical processing when auto-tagging is enabled. The structure stack. Represents the base interface for a fixed document that contains structured content. Represents the base interface for all elements that can be part of a fixed document structure. Provides access to the hierarchical relationship between document elements. Gets the parent element that contains this element in the document hierarchy. Returns null if this element is at the root level of the document structure. The parent element, or null if this is a root-level element. Gets or sets the character spacing. The character spacing. Gets or sets the word spacing. The word spacing. Gets or sets the horizontal scaling. The horizontal scaling. Gets or sets the text rise. The text rise. Gets or sets the size of the font. The size of the font. Gets or sets the rendering mode. The rendering mode. Gets or sets the font. The font. Gets or sets the fill color. The fill color. Gets or sets the stroke color. The stroke color. Gets or sets the width of the stroke line. The width of the stroke line. Gets or sets the stroke line cap. The stroke line cap. Gets or sets the stroke line join. The stroke line join. Gets or sets the stroke dash array. The stroke dash array. Gets or sets the stroke dash offset. The stroke dash offset. Gets or sets the miter limit. The miter limit. Gets or sets the alpha constant. Specifying the constant shape or constant opacity value to be used for nonstroking operations. The alpha constant. Gets or sets the stroke alpha constant. Specifying the constant shape or constant opacity value to be used for stroking operations. The stroke alpha constant. Gets or sets the character spacing. The character spacing. Gets or sets the word spacing. The word spacing. Gets or sets the horizontal scaling. The horizontal scaling. Gets or sets the text rise. The text rise. Gets or sets the size of the font. The size of the font. Gets or sets the rendering mode. The rendering mode. Gets or sets the font. The font. Gets or sets the fill color. The fill color. Gets or sets the stroke color. The stroke color. Gets or sets the width of the stroke line. The width of the stroke line. Gets or sets the stroke line cap. The stroke line cap. Gets or sets the stroke line join. The stroke line join. Gets or sets the stroke dash array. The stroke dash array. Gets or sets the stroke dash offset. The stroke dash offset. Gets or sets the miter limit. The miter limit. Gets or sets the alpha constant. Specifying the constant shape or constant opacity value to be used for nonstroking operations. The alpha constant. Gets or sets the stroke alpha constant. Specifying the constant shape or constant opacity value to be used for stroking operations. The stroke alpha constant. Image formats supported by the fixed document model when embedding or exporting raster graphics. JPEG (Joint Photographic Experts Group), a lossy format suited for photos and gradients; balances file size and quality. Contract for positioning and transforming elements using a 2D matrix (scale, rotate, translate) within fixed documents. Current transformation matrix combining scale, rotation, and translation in page coordinates. The transformation matrix containing scale, rotation, and translation values. Scale by the specified factors along X and Y. The horizontal scale factor. The vertical scale factor. Scale around a pivot point using the specified factors. The horizontal scale factor. The vertical scale factor. The X coordinate of the scaling center point. The Y coordinate of the scaling center point. Rotate by the specified angle (degrees) around the origin. The rotation angle in degrees. Rotate around a pivot point by the specified angle (degrees). The rotation angle in degrees. The X coordinate of the rotation center point. The Y coordinate of the rotation center point. Translate by the specified offsets along X and Y. The horizontal translation offset. The vertical translation offset. Reset all transformations to identity. Create a deep copy of the position including its transformation state. A deep copy of this IPosition instance. Gets or sets the current position. The position. Saves the position. A disposable object that will restore the position when disposed. Restores the position. Lightweight that composes transforms from scale, rotate, and translate properties at runtime. Create a new instance initialized to identity (no translation, unit scale, 0° rotation). Returns a new instance preconfigured with identity transformation. A new SimplePosition instance with default transformation values. Transformation matrix computed from the current scale, rotation, and translation values. The computed transformation matrix that combines scale, rotation, and translation operations. Applies scaling transformation by the specified factors. The horizontal scale factor. The vertical scale factor. Applies scaling transformation by the specified factors around a center point. The horizontal scale factor. The vertical scale factor. The X coordinate of the scaling center point. The Y coordinate of the scaling center point. Applies rotation transformation by the specified angle around the origin. The rotation angle in degrees. Applies rotation transformation by the specified angle around a center point. The rotation angle in degrees. The X coordinate of the rotation center point. The Y coordinate of the rotation center point. Applies translation transformation by the specified offset values. The horizontal translation offset. The vertical translation offset. Resets all transformation values to their default state. Creates a deep copy of the current simple position with all transformation values. A new SimplePosition instance that is a copy of this instance. Matrix-backed implementation of for precise 2D transforms when placing content in fixed documents. Create a new instance with an identity matrix. Create a new instance by copying the matrix from another position. The position to copy transformation values from. Create a new instance using the provided transformation matrix. The transformation matrix to use. Returns a new instance with identity transformation for convenience. A new MatrixPosition instance with identity matrix. Transformation matrix that defines the current position, scale, and rotation. The transformation matrix containing scale, rotation, and translation values. Applies scaling transformation by the specified factors. The horizontal scale factor. The vertical scale factor. Applies scaling transformation by the specified factors around a center point. The horizontal scale factor. The vertical scale factor. The X coordinate of the scaling center point. The Y coordinate of the scaling center point. Applies rotation transformation by the specified angle around the origin. The rotation angle in degrees. Applies rotation transformation by the specified angle around a center point. The rotation angle in degrees. The X coordinate of the rotation center point. The Y coordinate of the rotation center point. Applies translation transformation by the specified offset values. The horizontal translation offset. The vertical translation offset. Resets all transformation values to their default state. Creates a deep copy of the current matrix position with all transformation values. A new MatrixPosition instance that is a copy of this instance. Discrete rotation angles applied to pages or content in fixed documents (degrees, clockwise). 0° rotation; content appears in its normal orientation. 90° clockwise; content is rotated a quarter turn. 180°; content is upside down. 270° clockwise (or 90° counterclockwise); content is rotated three quarters. Elliptic curve public key cryptography. Adds a signature time-stamp token (RFC 3161) to the SignerInfo of an existing CMS structure. Defines a class used for reading a document source in a byte array format. Reads the specified output buffer. The output buffer. The output buffer position. The stream offset. The length. The total number of bytes read into the buffer. Defines a class used for reading a document source in a format. Initializes a new instance of the class. The stream. Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. An array of bytes. When this method returns, the buffer contains the specified byte array with the values between offset and (streamOffset + length - 1) replaced by the bytes read from the current source. The zero-based byte offset in outputBuffer at which to begin storing the data read from the current stream. The zero-based byte offset in buffer at which to begin read from the current stream. The maximum number of bytes to be read from the current stream. The total number of bytes read into the buffer. Central registry and factory for hash algorithms used in signature creation and validation by OID. Creates an instance of a predefined hash algorithm class from an Oid. The algorithm oid. The hash algorithm instance if found; otherwise, null. Registers a hash algorithm with the specified object identifier (OID). The object identifier that uniquely identifies the hash algorithm. The hash algorithm implementation to register. Determines whether the contains a definition of a hash algorithm for the specified OID. The object identifier to check for registration. true if a hash algorithm is registered for the specified OID; otherwise, false. Unregisters a hash algorithm for the specified object identifier (OID). The object identifier of the hash algorithm to unregister. Defines a class with predefined constants for digital signature security handlers filter strings. Gets the name of the Adobe PPKLite security handler. Adobe.PPKLite is the default security handler used for performing private key functions, validating signatures, and signing and encrypting documents. Filter. Defines a predefined Oids used in the digital signature. Gets the main algorithm oid. The oid. The main algorithm OID if found; otherwise, null. Validates PKCS#1 signatures embedded in PDF signature dictionaries, verifying digests against the signer's RSA public key. Create a PKCS#1 signature validation handler. When overridden in a derived class, validates the digital signature. The data properties containing information about the signature to validate. The validation properties specifying how the signature should be validated. An instance of the class describing the result from the validation. Validates PKCS#7 (CMS) embedded signatures, decoding and verifying message digests. Create a PKCS#7/CMS signature validation handler. When overridden in a derived class, validates the digital signature. The data properties containing information about the signature to validate. The validation properties specifying how the signature should be validated. An instance of the class describing the result from the validation. Validates PKCS#7 (CMS) detached signatures by comparing message digests or checking signer info when available. Create a PKCS#7 detached signature validation handler. When overridden in a derived class, validates the digital signature. The data properties containing information about the signature to validate. The validation properties specifying how the signature should be validated. An instance of the class describing the result from the validation. Digital signature API for signing and validating PDF content, enabling integrity checks and signer attribution. Create a signature instance bound to an X.509 certificate used for signing. The X.509 certificate containing the private key used for digital signing. Create a signature instance configured for external signing. The external signing handler that performs the actual signing operation. Initializes a new instance of the class. Metadata and configuration for the signature (signer info, time, location, contents, and byte ranges). The signature data properties that define the signature's characteristics and metadata. Signing configuration applied when producing (or guiding external production of) the CMS / PKCS#7 signature. Values contained here (e.g. selected digest algorithm) are not written directly as PDF dictionary keys; they influence how the CMS envelope is built for new signatures. Changing settings after the signature bytes (/Contents) have been generated has no effect on that existing signature. Indicates whether this instance supports validation (imported signatures only). true if the signature was imported from an existing document and can be validated; false for newly created signatures. Validate the signature using default settings and return whether validation succeeded. When this method returns, contains the signature validation result. Return true on success; otherwise false. Validate the signature using the provided properties and return whether validation succeeded. The validation properties. When this method returns, contains the signature validation result. Return true on success; otherwise false. Validate the signature using default validation properties and return the result. An instance of the class. Validate the signature using the specified properties and return the validation result. The validation properties. The validation result indicating whether the signature is valid. Base infrastructure for signature validation handlers, providing byte-range hashing and certificate checks. Create a base handler for signature validation. Gets the signature data properties. The signature data properties. Gets the signature validation properties. The signature validation properties. When overridden in a derived class, validates the digital signature. The data properties containing information about the signature to validate. The validation properties specifying how the signature should be validated. An instance of the class describing the result from the validation. Validates a digital signature using the specified data and validation properties. The data properties containing information about the signature to validate. The validation properties specifying how the signature should be validated. An instance of the class describing the result from the validation. Computes a hash. The hash algorithm oid. Computes a hash. The hash algorithm. Gets the byte array over which the hash should be computed. Gets a collection from a . A collection of source parts representing the byte ranges. Validates the hash. The original hash. The hash algorithm oid used for computing a comparing hash. True if the hash is valid; otherwise, false. Validates the hash. The original hash. The computed hash. True if the hashes match; otherwise, false. Validates the certificates and builds the corresponding data into the validation result. The validation result builder. The certificate collection. Builds the hash algorithm into the the validation result argument. The validation result builder. The digest algorithm. Data model for signature dictionaries and related payload (byte ranges, contents, certificates, and signer metadata). Initializes a new instance of the class. Gets the name of the signature form field associated with this properties. The name of the signature form field. Gets the name of the preferred signature handler to use when validating this signature. The filter. Gets a name that describes the encoding of the signature value and key information in the signature dictionary. The sub filter. Gets the signature value. The contents. Gets a collection of X.509 certificate chain used when signing and verifying signatures. The certificates. Gets an array of pairs of integers (starting byte offset, length in bytes) describing the exact byte range for the digest calculation. The byte range. Gets an array of three integers specifying changes to the document that have been made between the previous signature and this signature. The changes. Gets the name of the person or authority signing the document. The name. Gets the CPU host name or physical location of the signing. The location. Gets the reason for the signing. The reason. Gets contact information enabling a recipient to contact the signer to verify the signature. The contact info. Gets the version of the signature handler used to create the signature. The signature handler version. Gets the version of the signature dictionary format. The signature dictionary version. Gets or sets the time of signing. The time of signing. Well-known sub-filter names used in PDF signature dictionaries to declare signature encoding. Sub-filter for X.509 RSA with SHA‑1 encoded signatures. Sub filter. Sub-filter for PKCS#7 (CMS) with SHA‑1 embedded signatures. Sub filter. Sub-filter for PKCS#7 (CMS) detached signatures. Sub filter. Registry for mapping PDF signature sub-filters to validation handlers used during signature verification. Register a validation handler for a given sub-filter. The signature sub filter name that identifies the handler type. The validation handler instance to register. Unregister the handler associated with the specified sub-filter. The signature sub filter name identifying the handler to unregister. Determine whether a handler is registered for the specified sub-filter. The sub filter. true if is found in the ; otherwise, false. Gets the signature validation handler for the specified sub filter type. The signature sub filter name identifying the handler to retrieve. The signature validation handler if found; otherwise, null. Settings for certificate chain validation during signature verification, including revocation and accepted statuses. Initializes a new instance of the class. Gets or sets the chain used to validate the certificate that signed the digital signature. The chain. Gets or sets the chain status flags which describes the used signature certificate as invalid. The chain status flags. Outcome of signature verification, including document modification state, certificate validity, and signer details. Initializes a new instance of the class. Name of the signature form field associated with this validation result. The name of the signature form field. Indicates whether the signed byte ranges were altered after signing. true if the document was modified; otherwise, false. Indicates whether the signing certificate builds a valid chain; see CertificatesChainElements for details when invalid. true if the certificate is valid; otherwise, false. Certificates included with the signature used to validate the chain. The collection of certificates used for signing. Chain elements produced during validation that describe any issues with the certificate path. A collection of X.509 certificate chain elements. Signer information, typically the name or entity extracted from the signature. The name or identifier of the signer. Hash algorithm OID used to compute the message digest for this signature. The hash algorithm OID. Gets the friendly name of the hash algorithm (e.g., "SHA1", "SHA256"), or the OID value when no friendly name is available. The hash algorithm display name. Helper for incrementally building a during validation. Create a new result builder. Set the name of the signature form field associated with the result. The name of the signature form field. Set whether the document was modified after it was signed. If set to true, indicates the document was modified after signing. Set whether the certificate used for signing is valid. If set to true, indicates the certificate is valid. Set the certificates used to create the digital signature. The collection of X.509 certificates used for signing. Set the chain elements that describe issues encountered during certificate validation. The collection of X.509 certificate chain elements. Set the signer information (e.g., name or entity) extracted from the signature. The name or identifier of the signer. Set the hash algorithm OID used to compute the message digest. The hash algorithm OID. Get the constructed signature validation result. An instance of the class. Defines a class used for determining what part of a should be read. Initializes a new instance of the class. The offset. The length. Gets or sets the offset. The offset. Gets or sets the length. The length. Defines a class used for composing a byte range from a specified multiple instances of a . Gets the calculated length from all source parts. The length. Composes the byte range. Defines an interface used for reading a document source. Reads the specified output buffer. The output buffer. The output buffer position. The stream offset. The length. The total number of bytes read into the buffer. Event args carrying an exception raised during lazy or processing operations on a . Create args wrapping an unhandled document exception; Handled defaults to false. The document exception. The thrown exception instance. The document exception. Indicates whether the exception was handled by event subscribers. true if the exception was handled; otherwise, false. Event args for resolving duplicate embedded file names during merge; holds original, proposed, and used names. Create args with conflicting file name, proposed new name, and existing attachment names. The current name of the embedded file. The new name of the embedded file. The names that are currently used in the . The conflicting original embedded file name. The name. Proposed unique embedded file name (handler may change). The new name. Existing embedded file names for collision checks. The used names. Event args for resolving duplicate JavaScript action names during document merge; includes original, proposed, and used names. Create args with conflicting name, proposed unique name, and set of existing JavaScript names. The current name of the JavaScript. The new name of the JavaScript. The names that are currently used in the . The conflicting original JavaScript name. The name. Proposed new unique JavaScript name (handler may adjust). The new name. Collection of already used JavaScript names for collision detection. The used names. Collection of flow blocks for building content; provides helpers to create blocks, tables, and list-bulleted blocks. Initializes an empty collection of block elements used to compose flow content such as paragraphs, lists, and tables on a fixed page. Creates a table, adds it to the collection, and returns it. The newly created and added table. Creates a block, adds it to the collection, and returns it. The newly created and added block. Creates a block configured with the specified list and level, adds it to the collection, and returns it. The list. The list level. The block. Generic base collection for editing model elements; provides validated add, index access, and enumeration. Number of items currently in the collection. The count. Accesses the element at the specified index; assignments are validated for non-null. The element. Adds the specified item after validating input. The item. Returns an enumerator to iterate over the items in insertion order. A that can be used to iterate through the collection. Returns a non-generic enumerator for iteration. An object that can be used to iterate through the collection. Collection for creating and managing numbered or bulleted lists in a document, including factory methods for template-based lists. Creates a list, adds it to the collection, and returns it. The newly created and added list. Creates a list using the specified template, adds it to the collection, and returns it. The type of list template to use for formatting and numbering. The newly created and added list with the specified template applied. Collection of list levels defining hierarchy and formatting for multilevel lists. Initializes an empty collection of list levels used to define numbering and indentation across hierarchical list items. Creates a list level, adds it to the collection, and returns it. The newly created and added list level. Collection of table cells used to build a row; provides a helper to create and add cells. Initializes an empty collection of table cells used to build rows within a table during fixed document composition. Creates a table cell, adds it to the collection, and returns it. The newly created and added TableCell instance. Collection of table rows for constructing a table; includes a helper to create and add rows. Initialize an empty collection for building table row sequences used when composing tables in a fixed document. Creates a table row, adds it to the collection, and returns it. The newly created and added TableRow instance. Gets or sets the source of the image. The source of the image. Strikethrough decoration pattern applied to text. No strikethrough decoration. Draws a single line through the text baseline. Defines tab stop leader types. No tab stop leader type. Dot tab stop leader type. Hyphen tab stop leader type. Underscore tab stop leader type. MiddleDot tab stop leader type. Defines tab stop types. Left aligned tab. Center aligned tab. Right aligned tab. Decimal tab stop. Specifies that the current tab is a bar tab. Clears an inherited tab stop. Initializes a new instance of the class. Gets or sets the text. The text. Gets or sets the font family. The font family. Gets or sets the foreground color of the text. The the foreground color. Tries to set the current font. The font family. True if succeeded. Represents a base class for the watermark settings classes. Gets or sets the width of the watermark element. The width. Gets or sets the height of the watermark element. The height. Gets or sets the angle of the watermark element towards the horizontal direction. The angle. Specifies that the object shall be left aligned to the horizontal alignment base. Specifies that the object shall be centered with respect to the horizontal alignment base. Specifies that the object shall be right aligned to the horizontal alignment base. Specifies that the object shall be inside of the horizontal alignment base. Specifies that the object shall be outside of the horizontal alignment base. Specifies that the object shall be at the top of the vertical alignment base. Specifies that the object shall be centered with respect to the vertical alignment base. Specifies that the object shall be at the bottom of the vertical alignment base. Specifies that the object shall be inside of the vertical alignment base. Specifies that the object shall be outside of the vertical alignment base. Specifies that text shall wrap around both sides of the object. Specifies that text shall only wrap around the left side of the object. Specifies that text shall only wrap around the right side of the object. Specifies that text shall only wrap around the largest side of the object. Specifies that the vertical positioning shall be relative to the line containing the anchor character. Specifies that the vertical positioning shall be relative to the paragraph which contains the drawing anchor. Specifies that the vertical positioning shall be relative to the edge of the page. Specifies that the vertical positioning shall be relative to the page margins. Specifies that the vertical positioning shall be relative to the top margin of the current page. Specifies that the vertical positioning shall be relative to the bottom margin of the current page. Specifies that the vertical positioning shall be relative to the outside margin of the current page. Specifies that the vertical positioning shall be relative to the inside margin of the current page. No wrapping should be used for the related element. In effect, this setting shall place the object in front of or behind the text. This element specifies that text shall wrap around a virtual rectangle bounding this shape. This element specifies that text shall wrap around the top and bottom of this object, but not its left or right edges. Specifies that the horizontal positioning shall be relative to the position of the anchor within its run content. Relative to the extents of the column which contains its anchor. Specifies that the horizontal positioning shall be relative to the edge of the page. Specifies that the horizontal positioning shall be relative to the page margins. Specifies that the horizontal positioning shall be relative to the left margin of the page. Specifies that the horizontal positioning shall be relative to the right margin of the page. Specifies that the horizontal positioning shall be relative to the inside margin of the current page (the left margin on odd pages, right on even pages). Specifies that the horizontal positioning shall be relative to the outside margin of the current page (the right margin on odd pages, left on even pages). Specifies how an inline element’s baseline is positioned vertically relative to the surrounding text baseline. Aligns the text to the normal baseline of the containing line box. Shifts the baseline to the subscript position of the line box. Shifts the baseline to the superscript position of the line box. Defines a set of properties which will be applied when an inline is created. Initializes a new instance of the class. Gets or sets the size of the font. The size of the font. Gets or sets the font. The font. Gets or sets the color of the foreground. The color of the foreground. Gets or sets the color of the highlight. The color of the highlight. Gets or sets the baseline alignment. The baseline alignment. Gets or sets the underline pattern. The underline pattern. Gets or sets the strikethrough pattern. The strikethrough pattern. Gets or sets the color of the underline. The color of the underline. Gets or sets the color of the strikethrough. The color of the strikethrough. Gets the value that indicates whether the characters should simulate italic style. True if italic simulation needed, otherwise false. Gets the value that indicates whether the characters should simulate bold weight. True if italic simulation needed, otherwise false. Tries to set the current font. The font family. True if succeeded. Tries to set the current font. The font family. The font style. The font weight. True if succeeded. Copies the properties from. From properties. Contract for layoutable block elements that can be measured, drawn, and split during pagination. Indicates whether measurement left content that still needs layout in subsequent passes. Boolean value indicating whether there is any pending content after the last measure. The size requested by the element after measurement. The desired size. Measures the block element with specified available size. The available size. The cancellation token to stop the measuring process if necessary. The result size. Draws the block element with the specified editor. The editor. The bounding rectangle. Splits this instance. The remaining block element. Gets a value indicating whether this instance has open marked content. Boolean value indicating whether this instance has open marked content. Table layout algorithm controlling how column widths are computed. Uses fixed column widths; content is clipped or wrapped within given sizes. Sizes columns based on content and available width. Settings applied when creating a page section, including size, margins, and rotation. Initializes a new instance of the class with default page settings. Gets or sets the page size used when creating pages in this section. The size of the page. Gets or sets the page margins applied to content layout. The page margins. Gets or sets the page rotation applied during rendering. The page rotation. Copies the properties from. From properties. Text alignment options along the horizontal axis for paragraphs and inline content. Aligns text to the left margin. Aligns text to the right margin. Centers text between the margins. Justifies text so both left and right edges align, adjusting inter-word spacing. Defines a set of properties which will be applied when a paragraph is created. Initializes a new instance of the class. Gets or sets the horizontal alignment. The horizontal alignment. Gets or sets the spacing before. The spacing before. Gets or sets the spacing after. The spacing after. Gets or sets the line spacing. The line spacing. Gets or sets the value indicating how the spacing between lines is calculated. The type line spacing rule. Gets or sets the first line indent. The first line indent. Gets or sets the left indent. The left indent. Gets or sets the right indent. The right indent. Gets or sets the color of the background. The color of the background. Gets or sets the list id. The list id. Gets or sets the list level. The list level. Copies the properties from. From properties. Underline decoration pattern applied to text. No underline decoration. Draws a single line below the text baseline. Vertical alignment options for positioning text relative to its container. Aligns text to the top edge of the container. Centers text vertically within the container. Aligns text to the bottom edge of the container. Height calculation modes that determine whether content grows freely, respects a minimum, or is constrained to an exact value. Height is automatically determined based on the content. The element will grow or shrink to fit its content. Specifies a minimum height for the element. The element will be at least this tall, but may grow taller if the content requires it. Specifies an exact height for the element. The element will be exactly this tall, regardless of its content. Content that doesn't fit may be clipped or handled according to overflow rules. Returns a that represents the current . A that represents the current . Abstract base for layout elements used during editing; provides size and font metrics used to position and render content within a line. Gets the measured width used for line layout. The width. Gets the baseline-aligned height used for line layout. The height. Horizontal alignment options that position a table within its containing rectangle. Align the table to the left edge of its container. Align the table to the right edge of its container. Center the table horizontally within its container. Height specification for a , supporting automatic, exact, or minimum values. Initialize a height descriptor, typically used to create with . The type. Initialize a height descriptor with an explicit value. The type of the height. The row height in device independent pixels (1/96 inch). Returns a that represents the current . For the type is returned; otherwise the type and the numeric value. A representation of the table row height. Controls whether adjacent cell borders share edges (collapse) or remain separate with spacing during measurement and rendering. Measure and render borders from their center lines; adjacent borders merge. Measure and render borders from their outer edges; spacing is preserved between borders. Content container inside a table with support for borders, padding, background, and row/column spanning. Gets or sets how the cell’s content is positioned vertically within the available height. The vertical alignment for the cell content. Gets or sets how many rows the cell spans vertically; values greater than 1 extend across multiple rows. The row span count. Must be at least 1. Gets or sets how many columns the cell spans horizontally; values greater than 1 extend across multiple columns. The column span count. Must be at least 1. Gets or sets the preferred cell width in device-independent pixels; layout attempts to honor this value. The preferred width in pixels, or null to use automatic width calculation. Gets the collection of block elements (paragraphs, images, tables, shapes) composing the cell’s content. The collection of blocks that make up the cell's content. Gets or sets internal spacing between content and borders; falls back to table defaults when null. The padding thickness for all sides of the cell, or null to use default padding. Gets or sets the cell border definitions; can override the table’s default borders. The cell border configuration including all four sides and diagonal borders. Gets or sets the background color painted behind the cell’s content; null uses the table default. The background color of the cell, or null for transparent background. Gets the final size occupied by the cell after layout, including borders and padding. The actual size occupied by the cell in the rendered table. Gets the desired size. The value of the desired size. Measures this instance in infinity. The result size. Measures the cell in the specified size. The available. The cancellation token to stop the measuring process if necessary. The result size. Returns a that represents the current . A that represents the current . Border set applied to a table cell, including four sides and optional diagonals. Initialize with no borders. Initialize using the same border for all sides and diagonals. All. Initialize with individual borders for each side. The left. The top. The right. The bottom. Initialize with borders for each side and optional diagonal borders. The left. The top. The right. The bottom. The diagonal up. The diagonal down. Gets the left border. The left border. Gets the top border. The top border. Gets the right border. The right border. Gets the bottom border. The bottom border. Gets the diagonal up border. The diagonal up border. Gets the diagonal down border. The diagonal down border. Default visual properties applied to table cells, including borders, padding, and background. Initialize default cell properties with empty borders, no padding, and transparent background. Gets the cell border definitions applied when a cell does not specify its own. The borders. Gets or sets the internal padding applied between cell borders and content. The padding. Gets or sets the background color painted behind cell content. The background. A single row within a table that contains a collection of cells and a height specification. Gets the cells contained in this row. The cells. Gets or sets the row height policy and value. The height. Returns a that represents the current . A that represents the current . Container for tabular content with rows and cells; lays out columns, borders, spacing, and background for rendering in a document. Initialize an empty table. Initializes a new instance of the class. The index of the first row. Initializes a new instance of the class. The other. The index of the first row. Gets or sets outer margins around the table that separate it from surrounding content. The margin thickness values for all sides of the table. Gets or sets the column width calculation mode used during measurement. The table layout type that controls how the table calculates column widths. Gets or sets how the table is positioned horizontally within the available width. The horizontal alignment value that determines table positioning. Gets or sets the border definitions drawn around the table's outer rectangle. The table borders configuration. Gets or sets the background color painted behind the entire table. The background color of the table, or null for transparent background. Gets the fallback cell properties applied when specific cells do not override them. The default cell properties including padding, borders, and background settings. Gets the size computed by the last measurement, including borders and spacing. The desired size required to display the table with its current content. Gets or sets the spacing between adjacent cell borders when BorderCollapse is Separate; ignored when Collapse. The border spacing value in device-independent pixels. Must be greater than or equal to 0. Gets or sets whether adjacent cell borders merge (Collapse) or remain distinct with spacing (Separate). The border collapse behavior for the table. Gets the collection of rows in this table; use to add, remove, or access rows. The collection of table rows. Gets a value indicating whether some rows or cells could not fit in the last layout and must continue later. true if there is pending content that requires additional space; otherwise, false. Gets a value indicating whether this table instance has any open marked content that requires closing. true if this instance has open marked content; otherwise, false. Gets or sets the associated with this element. Measure the table with infinite available size and return the desired size. The measured size. Measure the table with infinite available size and return the desired size. The cancellation token used to cancel the operation. The measured size. Measure the table with the specified available size and cancellation token. The available size. The cancellation token used to cancel the operation. The result size. Draw the table into the specified editor within the given bounding rectangle. The editor. The bounding rect. Split the table at the last measured break point and return the remaining part. The remaining block element. Splits this instance. The remaining block element. Arranges the block element with the specified editor. The editor. The bounding rectangle. Border settings for drawing outlines around elements, controlling line style, thickness, and color in document coordinates. Use to render frames consistently across pages and containers. Initializes a new instance of the class. Initializes a new instance of the class. The border style. Initializes a new instance of the class. The thickness. The color. Initializes a new instance of the class with the specified thickness, style, and color. The thickness of the border in device-independent units. The visual style of the border (such as solid, dashed, dotted). The color of the border. Gets the visual style of the border. An enumeration value that specifies how the border is rendered (None, Single, Dotted, Dashed, etc.). Gets the border thickness in device-independent units. A double value that represents the thickness of the border. Gets the color of the border. A object that represents the color used to render the border. Border line styles used when stroking element outlines during rendering. Represents a border that will not be rendered (invisible). Represents a border with a continuous single line. Represents a border with a dotted line pattern. Represents a border with a standard dashed line pattern. Represents a border with a dashed line pattern that has smaller gaps between dashes. Base for fixed-content editors that centralizes text and graphics state and offers scoped save/restore for rendering settings. Derive from this to apply consistent formatting while drawing content without manually tracking property stacks. Gets the graphic properties that control the visual appearance of graphical elements such as shapes, lines, and fills in the fixed content. This includes properties like colors, line thickness, line styles, and filling options. The current instance for this editor. Gets the text state that is responsible for the text properties in the fixed content. The text state. Saves the current graphic properties state and returns a disposable object that will automatically restore the previous state when disposed. This enables a clean way to temporarily modify graphic properties within a scope. An object that will restore the graphic properties when disposed. using (editor.SaveGraphicProperties()) { editor.GraphicProperties.StrokeColor = new RgbColor(0, 0, 0); // Draw with temporary properties } // Original properties are automatically restored here Restores the graphic properties to the previously saved state. This method is automatically called when a disposable object returned by is disposed. Saves the current text properties state and returns a disposable object that will automatically restore the previous state when disposed. This allows for temporary text formatting changes within a specific scope. An object that will restore the text properties when disposed. using (editor.SaveTextProperties()) { editor.TextProperties.FontSize = 14; // Draw text with temporary properties } // Original properties are automatically restored here Restores the text properties to the previously saved state. This method is automatically called when a disposable object returned by is disposed. Saves both text and graphic properties simultaneously and returns a disposable object that will automatically restore both property sets when disposed. This is more efficient than calling and separately. An object that will restore both text and graphic properties when disposed. using (editor.SaveProperties()) { editor.TextProperties.FontSize = 14; editor.GraphicProperties.FillColor = new RgbColor(1, 0, 0); // Draw with temporary properties } // Original properties are automatically restored here Restores both text and graphic properties to their previously saved states. This method is automatically called when a disposable object returned by is disposed. Flowing-content container that lays out inline elements, images, and forms with indentation, spacing, alignment, and background for pagination. Use it to accumulate and arrange runs and inline content before measuring and drawing onto the document. Initializes a new instance of the class. Initializes a new instance of the class. The other block. Gets the desired size. The desired size. Gets the actual size of the block after it is drawn. The actual size. Gets if there is any pending content after the last measure. Boolean value indicating whether there is any pending content after the last measure. Gets or sets the bullet element. The bullet element. Gets or sets the indent after the bullet element. The indent after the bullet element. Gets or sets the spacing before. The spacing before. Gets or sets the spacing after. The spacing after. Gets or sets the line spacing. The line spacing. Gets or sets the value indicating how the spacing between lines is calculated. The type line spacing rule. Gets or sets the first line indent. The first line indent. Gets or sets the left indent. The left indent. Gets or sets the right indent. The right indent. Gets or sets the background color. The background color. Gets or sets the horizontal alignment. The horizontal alignment. Gets or sets the vertical alignment. The vertical alignment. Indicates if the block contains any elements. True if the block does not contain any elements. Gets the pending elements. The pending elements. Gets a value indicating whether this block has any open marked content segments that haven't been closed. Marked content is used to identify specific content within a PDF for various purposes such as accessibility, structure, or logical organization. true if this block has open marked content segments; otherwise, false. Inserts the text. The text. Inserts the text using the given font family. The font family. The text. Inserts the text using the given font family, font style and font weight. The font family. The font style. The font weight. The text. Inserts a line break. Inserts a form. The form source. Inserts a form. The form source. The width. The height. Inserts a form. The form source. The size. Inserts an image from a stream at its intrinsic size at the current inline position in the block. The stream containing the encoded image data. Inserts an image from a stream scaled to the specified width and height. The stream containing the encoded image data. Target width. Target height. Inserts an image from a stream scaled to the specified size. The stream containing the encoded image data. Target size. Inserts an image represented by an existing at its intrinsic size. The image source. Inserts an scaled to the specified size. The image source. Target size. Inserts an scaled to the specified width and height. The image source. Target width. Target height. Inserts a line. The point1. The point2. Inserts a rectangle. The rectangle. Inserts an ellipse. The center. The radius X. The radius Y. Inserts a circle. The center. The radius. Inserts a path. The geometry. Inserts hyperlink start. The URI. Inserts hyperlink start. The destination. Inserts hyperlink end. Inserts marked content start. If no is provided, the marked content will be tagged as an Artifact. The structure element tag that relates the marked content with the document's structure tree. If null, the content is tagged as an artifact. Inserts marked content end. Inserts the specified element. The element. Inserts the specified layout element. The element. Inserts the specified layout elements. The elements. Measures the block in the infinite size. The block size. Measures the block element with specified available size. The available size. The cancellation token used to cancel the operation. The result size. Draws the block element with the specified editor. The editor. The bounding rectangle. Splits this instance. The remaining block. Splits this instance. The remaining block element. Sets the bullet from the corresponding list and list level. The list. The list level. Clears the block children. Returns a that represents the current . A that represents the current . Contract for generating bullet or number content for list items based on the current list level state. Build the bullet or number for the current item and return it as a positioned content element. The list levels indexer that provides current index information for each list level. The position content element representing the bullet numbering. Provides the current numbering index for each level in a nested list during bullet or number generation. Get the current numbering value for the specified zero-based list level. The zero-based list level index. The current numbering index for the specified list level. Container for list levels and numbering settings used to create bulleted, numbered, or custom lists within a document. Initialize an empty list with no predefined levels. Initialize a list using a predefined template for common numbering or bullet styles. Type of the list template. Gets the unique identifier assigned when the list is added to a collection. The unique identifier of the list, or -1 if the list has not been added to a collection. Gets the list levels that define hierarchy, indentation, and numbering across nested items. The list level collection containing all levels for this list. Gets or sets the associated with this element. Defines formatting, numbering style, and indentation for items at a specific nesting level within a list. Initialize a list level with the default bullet/numbering format. Initialize a list level with a specific bullet or numbering format. The numbering style format. Gets or sets the first numbering value for this level; affects the number shown for the first item. The starting index for numbering. Default is typically 1 for numbered lists. Gets or sets the level after which numbering restarts; use -1 to disable automatic restart. The list level index that triggers numbering restart, or -1 if restart is disabled. Gets the character formatting applied to the generated bullet/number content. The character properties for the bullet numbering. Gets paragraph layout settings (spacing, indentation, alignment) for items at this level. The paragraph properties for this list level. Gets or sets the horizontal spacing between the bullet/number and the item text. The indent distance after the bullet, measured in document units. Gets or sets the strategy that generates the bullet or number displayed for items at this level. The bullet numbering format implementation. Paragraph layout settings applied to list items, including indentation used during measurement and rendering. Initialize paragraph layout settings for a list level so you can configure indentation applied to generated list items. Gets or sets the indent applied to the first line of each item. The first line indent. Gets or sets the left indent applied to all lines of each item. The left indent. Copy values from another instance. The other paragraph properties instance to copy from. Predefined list templates that configure common bullet and numbering styles. Bullet style with default symbols and indentation. Decimal numbering with default indentation. Decimal numbering wrapped in parentheses (e.g., 1) 2) 3)). Multi-level numbering showing the full hierarchy (e.g., 1.1, 1.2, 2.1). Bullet/number format that produces plain text based on current list level indices. Initialize a text-based numbering format with a delegate that creates the textual bullet. The function that generates the text representation of the bullet based on the list levels indexer. Create the bullet/number text and return it as a content element for placement. The list levels indexer that provides current index information for each list level. The position content element representing the bullet numbering, or null if no text is generated. Base for property sets that support scoped save/restore via an internal stack, enabling temporary changes during rendering. Use in editors to capture and revert formatting or state reliably. The derived type that inherits from PropertiesBase. Saves the current state of the properties to an internal stack and returns a disposable object that will automatically restore the previous state when disposed. This enables using the Save method in a using statement for automatic restoration. An object that will restore the properties when disposed. Restores the properties to the previously saved state. This method pops the most recently saved state from the internal stack and applies it to the current instance. Thrown when attempting to restore without a prior save operation. Copies the text properties from other instance. The other properties. High-level document builder for adding paragraphs, tables, images, and sections using a flow API that handles pagination and layout. Use to construct pages top‑down while the editor measures content, manages lists, and arranges shapes and forbidden zones. Initializes a new instance of the class. The document. Gets the document. The document. Gets the lists. The lists. Gets the section properties. The section properties. Gets the paragraph properties. The paragraph properties. Gets the character properties. The character properties. Inserts new paragraph. Inserts the text. The text. Inserts the text using the given font family. The font family. The text. Inserts the text using the given font family, font style and font weight. The font family. The font style. The font weight. The text. Inserts the text and moves to the next line. The text. Inserts a line break. Inserts the image inline. The image source. The size. Inserts the image inline. The image source. Inserts the form inline. The form source. Inserts the form inline. The form source. The form size. Inserts new section. Inserts new page. Inserts the table. The table. Inserts the block element. The block. Inserts the marked content. The marked content. Finishes the pages and closes the document. Represents the border configuration for a table, defining the visual boundaries around the entire table. Initializes a new instance of the class. Initializes a new instance of the class with the specified border for all sides. The border configuration to apply to all four sides of the table. Initializes a new instance of the class with individual borders for each side. The border configuration for the left side of the table. The border configuration for the top side of the table. The border configuration for the right side of the table. The border configuration for the bottom side of the table. Gets the border configuration for the left side of the table. The left border configuration, or null if no border is specified. Gets the border configuration for the top side of the table. The top border configuration, or null if no border is specified. Gets the border configuration for the right side of the table. The right border configuration, or null if no border is specified. Gets the border configuration for the bottom side of the table. The bottom border configuration, or null if no border is specified. Graphics state for path and shape rendering—controls fill and stroke color, thickness, caps/joins, and dash patterns that affect drawing output. Use to configure how subsequent geometries are painted on the page. Initializes a new instance of the class. Gets or sets a value indicating whether the drawn geometry's interior should be filled. When true, the geometry will be filled with the current . true if the geometry should be filled; otherwise, false. Gets or sets a value indicating whether the outline of the drawn geometry should be stroked. When true, the geometry's outline will be drawn with the current and . true if the geometry's outline should be stroked; otherwise, false. Gets or sets the fill color. The color of the fill. Gets or sets the stroke color. The color of the stroke. Gets or sets the stroke thickness. The stroke thickness. Gets or sets the miter limit which determines when a miter join is beveled. When the length of the miter at a join exceeds the product of this value and the line width, the join is converted from a miter to a bevel. A nullable double value representing the miter limit ratio. Gets or sets the distance into the dash pattern to start the dash. This allows shifting the pattern along the stroke without modifying the pattern itself. A double value representing the stroke dash offset in device-independent units. Gets or sets the pattern of dashes and gaps used to stroke paths. The array contains alternating values for the dash length and gap length in device-independent units. A collection of double values that define the pattern of dashes and gaps. Gets or sets the shape to be used at the corners of stroked paths. A enumeration value that determines how the corners of stroked paths are rendered. Gets or sets the shape to be used at the ends of open stroked paths. A enumeration value that determines how the ends of stroked paths are rendered. Copies the graphic properties from fromProperties instance. The graphic properties. Edit fixed-page content by positioning text, images, forms, and shapes with precise coordinates, clipping, and state management. Use to draw directly onto a page or form XObject and control layout via the current and clipping stack; coordinates originate at the top-left with X to the right and Y downward. Initializes a new instance of the class. The root. A value indicating whether to automatically tag the content with structure tags. Initializes a new instance of the class. The root. The initial position. A value indicating whether to automatically tag the content with structure tags. Gets the root element for the fixed content, which serves as the container for all content created by this editor. This is typically a page or form object in a PDF document. The root element that contains all the fixed content. Gets or sets the current position where content will be added in the document. The position is used as the starting point for rendering operations and is updated automatically when content is added. An object representing the current position in the document. Gets the current clipping object which defines the visible region for content rendering. Content drawn outside the current clipping region will not be visible in the document. Returns null if no clipping is currently defined. The current object or null if no clipping is applied. Gets a value indicating whether automatic tagging is enabled. Pushes the clipping. The clip. A disposable object that will pop the clipping when disposed. Pushes the clipping. The clip. A disposable object that will pop the clipping when disposed. Pops the clipping. The clipping that was popped from the stack, or null if the stack is empty. Draws the text using current text state at the current position. The text. Draws the text. The text. The size. Draws an image from a stream at its intrinsic size using the current position. The stream containing the encoded image data. Draws an image from a stream scaled to the specified width and height. The stream containing the encoded image data. Target width in document units. Target height in document units. Draws an image from a stream scaled to the specified size. The stream containing the encoded image data. Target size in document units. Draws an image from an existing (already registered resource). The image source. Draws an scaled to the specified size. The image source. Target size. Draws an scaled to the specified width and height. The image source. Target width. Target height. Draws the form. The source. Draws a form. The form source. The width. The height. Draws a form. The form source. The size. Creates new representing a and draws the widget with a specified size. This method will add widget only in cases when the Root supports annotations. The widget type. The form field the should be represented by the widget. The size. Creates new representing a and draws the widget with a specified size. This method will add widget only in cases when the Root supports annotations. The form field the should be represented by the widget. The option that should be represented by the widget. The size. Creates a new and draws it with a specified size and name. This method will add the stamp only in cases when the Root supports annotations. The size of the stamp. The name of the stamp. Creates a new and draws it with a specified size and text and can create a to go with it. The size of the text annotation. The size of the popup annotation. The text that will appear in the popup annotation. A value indicating whether to create a popup for the text annotation. Creates a new with starting point the current point of the editor and end point the current point of the editor plus the given distances. The distance between the start and the end point of the line along the x-axis. The distance between the start and the end point of the line along the y-axis. Draws a line. The point1. The point2. Draws a rectangle. The rectangle. Draws a ellipse. The center. The radius X. The radius Y. Draws a circle. The center. The radius. Draws a path with given geometry. The geometry. Draws the table. The table. Draws the table with some fit table width. The table. The width to fit the table in. Draws the table. The table. The size to fit the table in. Only the rows that fit in the given hight are drawn. The rest of the table can be taken with the table.Split() method. Draws the block. The block. Draws the block in given size. The block. The size. Draws the specified element. The element. Draws the specified element. The element. Inserts marked content start. If no is provided, the marked content will be tagged as an Artifact. The structure element tag that relates the marked content with the document's structure tree. If null, the content is tagged as an artifact. Inserts the end of marked content. Saves the position. A disposable object that will restore the position when disposed. Restores the position. Text formatting state for runs—controls font, size, rendering mode, spacing, decorations, highlight, and baseline alignment used when drawing text. Configure before inserting text to affect subsequent layout and rendering. Initializes a new instance of the class. Gets or sets the underline pattern applied to text. This determines the visual style of the underline decoration. An enumeration value that defines the appearance of the underline. Gets or sets the strikethrough pattern applied to text. This determines the visual style of the strikethrough decoration. A enumeration value that defines the appearance of the strikethrough. Gets or sets the color of the underline decoration. A object that defines the color of the underline decoration. Gets or sets the color of the strikethrough decoration. A object that defines the color of the strikethrough decoration. Gets or sets the color used for text highlighting (background color behind the text). A object that defines the background highlight color for the text. Gets or sets the spacing between characters, measured in device-independent units. Positive values increase spacing, while negative values decrease spacing. A nullable double value that specifies the additional space between characters. Gets or sets the additional spacing between words, measured in device-independent units. Positive values increase spacing, while negative values decrease spacing. A nullable double value that specifies the additional space between words. Gets or sets the horizontal scaling of text as a percentage of normal width. Values above 100 stretch the text, while values below 100 compress it horizontally. A nullable double value that specifies the horizontal scaling percentage. Gets or sets the size of the font in points. A double value representing the font size in points. Gets or sets the text rendering mode which controls how text is visually rendered. This affects whether text is filled, stroked, or used as a clipping path. A enumeration value that determines how text is rendered. Gets or sets the baseline alignment which controls the vertical positioning of text relative to the baseline. This allows for creating subscripts, superscripts, or other vertical text alignments. A enumeration value that determines the vertical position of text relative to the baseline. Gets or sets the font used for rendering text. This defines the typeface, style, and other font characteristics used when displaying text. A object that represents the font to be used for text rendering. Thrown when attempting to set the font to null. Tries to set the current font. The font family. True if succeeded. Tries to set the current font. The font family. The font style. The font weight. True if succeeded. Copies the text properties from other instance. The text properties. Attachment entry embedding arbitrary binary data into the document. Gets or sets the attachment's display file name (including extension) shown in viewer UIs. The filename including extension that identifies the embedded file. Raw embedded file bytes. The file data as a byte array. Gets or sets the MIME type of the embedded file. The MIME type string (e.g., "application/xml", "text/xml", etc.). If not specified, the default value of "application/octet-stream" will be used. Gets or sets the description of the embedded file. This value is displayed in the Description column of a PDF Portfolio when the schema includes an AddDescriptionField(). Gets or sets the creation date of the embedded file. This value is displayed in the Created column of a PDF Portfolio when the schema includes an AddCreationDateField(). Gets or sets the modification date of the embedded file. This value is displayed in the Modified column of a PDF Portfolio when the schema includes an AddModificationDateField(). Gets the size of the embedded file in bytes. This value is automatically calculated from the Data property and is displayed in the Size column of a PDF Portfolio when the schema includes an AddSizeField(). Gets the collection item values for this embedded file in a PDF Portfolio. These values correspond to custom fields defined in the portfolio schema (). Use this property to set metadata that appears in the portfolio's columns when viewing embedded files. Extension methods that create Telerik values from WPF , with control over export quality for PDF processing. Create an from a using the default export image quality. The bitmap source to convert. An ImageSource instance created from the bitmap source. Create an from a using the specified export image quality. The bitmap source to convert. The image quality to apply during conversion. An ImageSource instance created from the bitmap source with the specified quality. Extension helpers for converting system color values to RadPdfProcessing color types so colors render consistently in PDFs. Convert the system color to a for use in RadPdfProcessing, preserving the original ARGB components. The system Color to convert. An RgbColor instance with the same ARGB values as the input color. Returns the hash code for this instance. A hash code for the current object. Returns a value indicating whether this instance is equal to a specified object. An object to compare with this instance. true if obj equals the value of this instance; otherwise, false. Returns the hash code for this instance. A hash code for the current object. Returns a value indicating whether this instance is equal to a specified object. An object to compare with this instance. true if obj equals the value of this instance; otherwise, false. Gets a dictionary containing all code points where PdfDocEncoding differs from StandardEncoding. Key: byte code (0-255), Value: glyph name in PdfDocEncoding Returns a value indicating whether this instance is equal to a specified object. An object to compare with this instance. true if obj equals the value of this instance; otherwise, false. Returns the hash code for this instance. A hash code for the current object. Returns a value indicating whether this instance is equal to a specified object. An object to compare with this instance. true if obj equals the value of this instance; otherwise, false. Returns the hash code for this instance. A hash code for the current object. Base type for fonts used in fixed documents; manages encoding, glyph IDs, metrics, and rendering characteristics for PDF output. The font name as stored in the document, used to identify the resource and resolve rendering behavior. The name. The original font family name reported by the underlying font source. The original name. Indicates whether the font has bold weight, considering the actual source and any simulation. true if the font is bold; otherwise false. The or a fallback used when rendering the glyph outlines. Returns a value indicating whether this instance is equal to a specified object. An object to compare with this instance. true if obj equals the value of this instance; otherwise, false. Returns the hash code for this instance. A hash code for the current object. Central registry for fonts used by the fixed document model; create standard or embedded fonts and manage font registration. Gets the Symbol font object. The Symbol font instance. Gets the ZapfDingbats font object. The ZapfDingbats font instance. Gets the Times Roman font object. The Times Roman font instance. Gets the Times Bold font object. The Times Bold font instance. Gets the Times Bold Italic font object. The Times Bold Italic font instance. Gets the Times Italic font object. The Times Italic font instance. Gets the Helvetica font object. The Helvetica font instance. Gets the Helvetica Bold font object. The Helvetica Bold font instance. Gets the Helvetica Oblique font object. The Helvetica Oblique font instance. Gets the Helvetica Bold Oblique font object. The Helvetica Bold Oblique font instance. Gets the Courier font object. The Courier font instance. Gets the Courier Bold font object. The Courier Bold font instance. Gets the Courier Oblique font object. The Courier Oblique font instance. Gets the Courier Bold Oblique font object. The Courier Bold Oblique font instance. Tries to create a new font object based on the given font properties. The font family to create. The font style (normal, italic, etc.). The font weight (normal, bold, etc.). When this method returns, contains the created font object if successful, or null if creation failed. True if the font was created successfully; otherwise, false. Tries to create a new font object with normal style and weight based on the given font family. The font family to create. When this method returns, contains the created font object if successful, or null if creation failed. True if the font was created successfully; otherwise, false. Registers a font with the specified font family, style, weight, and data for use in PDF documents. The font family to register. The font style (normal, italic, etc.). The font weight (normal, bold, etc.). The binary font data. Replaces a built-in Standard Font with user-provided Type 1 font data. Use this when the built-in standard font differs from the one you possess (e.g., different vendor/metrics) and you want the PDF to use your exact font. Not intended for replacing a standard font with a non-standard font. The provided data must represent the same standard Type 1 font corresponding to the specified name. The name of the standard font to be replaced. The binary font data to use as replacement. Thrown when an invalid font name is passed or the font data is not a valid Type1 font. Sets a fallback font to be used when a standard font cannot be loaded or used. The name of the standard font for which to set a fallback. The fallback font to use in place of the standard font. Thrown when fallback is null. Thrown when an invalid standard font name is passed. Clears all registered custom fonts from the repository, resetting it to default state. Clears all standard font fallbacks from the repository. Returns a value indicating whether this instance is equal to a specified object. An object to compare with this instance. true if obj equals the value of this instance; otherwise, false. Returns the hash code for this instance. A hash code for the current object. Container for a document's interactive form (AcroForm) tied to a ; manage fields, XFA, and viewer behavior. The collection of all form fields defined in this document. The form field collection that provides access to all text boxes, check boxes, radio buttons, and other form elements. Gets or sets whether PDF viewers should regenerate widget appearances from field properties instead of using stored appearances. True if viewers should recalculate appearances dynamically; false to use static pre-rendered appearances. The XFA (XML Forms Architecture) collection attached to this form. Gets or sets document‑level flags that govern signature field behavior. Flatten all fields by drawing their current appearances on pages and removing the interactive controls. Flatten a single form field by painting its appearance and removing the widget. The Field to be flattened. Binary choice field that toggles on/off; supports custom export value and configurable appearance. Initialize a new with the provided name. The field name. Gets the field category reported to viewers for rendering and processing. Gets or sets whether the checkbox is currently selected. Gets or sets whether the checkbox is selected when the form is reset to defaults. Gets or sets the value exported when the checkbox is checked; unchecked exports nothing by default. Abstract base for form fields that offer selection from predefined options (e.g., combo box, list box). Initializes a new instance of class. The field name. The collection of selectable options available for this choice field. A collection containing all options that users can select from in this choice field. Gets or sets whether the form should submit automatically when the selection changes. true to submit the form immediately when selection changes; false to require manual form submission. Selectable option used by choice fields (combo box, list box), holding the data value and optional display text. Initialize a new with the specified data value. The string value for this choice option. Gets or sets the data value used for submission and processing. The underlying string value that represents this option's data. Gets or sets the UI label shown to users; when null, is displayed. The display text for this option, or null to use the Value property for display. Specialized collection of for choice fields; updates widget appearances when options change. Choice field with a drop‑down list; optionally allows free‑text entry when editable. Initializes a new instance of class. The field name. Gets the field category reported to viewers for rendering and processing. Gets or sets whether the drop‑down includes an editable text area so users can type custom values. true if users can type custom text; false if they can only select from predefined options. Gets or sets whether spell checking applies to text typed in the editable area. true to enable spell checking; false to disable it. Gets or sets the currently selected option; when editable, may reflect user‑typed text instead of a predefined option. The selected choice option, or null if no option is selected. Gets or sets the option selected when the form is reset to defaults. The default choice option to be selected on form reset, or null if no default is specified. Text box that constrains input to fixed, equally spaced character cells; useful for structured entries like postal codes or serials. Initialize a new with the provided name. The field name. Gets the field category reported to viewers for rendering and processing. Gets or sets the maximum number of characters and visible comb cells; changing it reflows the widget appearance. The maximum length of input characters allowed in this field. Abstract base for selectable items used by choice fields (combo box, list box, radio groups), exposing the data value. Gets or sets the value associated with this option that will be used for form submission and data processing. The string value that represents this option's data. Base collection for managing options in choice fields; add, remove, index, and enumerate items. The type of field option that extends FieldOptionBase. Get or set the option at the specified index. The zero-based index of the option to get or set. The field option at the specified index. Thrown when the index is outside the bounds of the collection. Thrown when attempting to set a null value. The total number of options in the collection. The number of options in the collection. Add an option to the end of the collection. The option. Remove the option at the specified index. The option index. Remove all options from the collection. Return an enumerator that iterates through the options. The options. Iterates the options in the collection. The options. Initializes a new instance of the class. The old field name. The new field name. Gets the old name of the field. The old name. Gets the new name of the field. The new name. Collection helper for creating and tracking instances bound to a option. Create and add a widget bound to the supplied option, initializing default visual appearance. The radio option that this widget will represent. The newly created and configured radio button widget. Single selectable value within a radio button group; its string Value is submitted when chosen. Create a radio option with the provided submission . The option value. Gets or sets the submission value for this option (must be non‑null). The string value that represents this radio option's data. Collection of mutually exclusive instances used by a radio button field. Bit flags describing document‑wide signature presence and update constraints. No signature related flags are set. Indicates the document defines at least one signature field. Requires incremental save; a full rewrite could invalidate existing signatures. Configurable set of text layout, font, and painting properties used when generating dynamic widget appearances. Initialize with default left alignment and empty styling. Initialize by copying values from another instance. The other properties. Horizontal alignment applied to laid out text. Additional character spacing applied (tracking). The character spacing. Additional spacing inserted between words. The word spacing. Horizontal text scaling factor (percentage as fraction) overriding glyph width usage. The horizontal scaling. Font used to render the text. The font. Font size in points (0 lets viewer auto size per PDF spec). The size of the font. Baseline rise offset in text space units. The text rise. Text rendering mode controlling fill/stroke behavior. The rendering mode. Fill brush/color for glyph interiors. The fill color. Stroke brush/color for glyph outlines. The stroke color. Stroke line width for outline rendering. The width of the stroke line. Line cap style applied to stroke rendering. The stroke line cap. Line join style for stroke rendering. The stroke line join. Sequence defining dash and gap lengths for stroke rendering. The stroke dash array. Offset into the dash pattern at which to start stroking. The stroke dash offset. Maximum miter length to line width ratio before joins are beveled. The miter limit. Base abstraction for fields that collect user input in a PDF, exposing common properties, actions, and access to visual widgets. Initializes a new instance of . The field name. Gets the field category used by viewers to render and process the field (text, button, choice, etc.). Gets or sets the field's unique name used to identify it within the document and exported form data. The field name used to identify this form field uniquely within the document. Name cannot be empty. Gets or sets the text formatting properties used by PDF viewers to render the field's appearance dynamically. Collection of actions triggered by field events such as value changes or mouse interactions. Gets or sets an alternate field name to be used in place of the actual field name wherever the field must be identified in the user interface. For instance this may be used for error or status messages referring to the field. This text is also useful when extracting the document’s contents in support of accessibility to users with disabilities or for other purposes. Gets or sets the mapping name to be used when exporting interactive form field data from the document. Gets or sets a value indicating whether this field should not accept user input or changes. Gets or sets a value indicating whether this field must contain a value when the form is submitted. Gets or sets a value indicating whether this field should be excluded from form submission. Collection of visual widget instances that render this field on document pages. An enumerable collection of widgets associated with this form field. Gets the associated with this element. Returns a value indicating whether this instance is equal to a specified object. The object to compare with the current form field. true if the specified object is equal to the current form field; otherwise, false. Returns a hash code for the current form field based on its key properties. A hash code value for the current form field instance. Generic base for form fields that expose a strongly typed widget collection for UI rendering. The widget type. Get the strongly typed widget collection for this field. Collection for managing interactive form fields in a PDF document; add, remove, look up by name, and enumerate fields. Get the form field with the specified name from the collection. The unique name of the form field to retrieve. The form field with the specified name. Thrown when no field with the specified name exists in the collection. Create a push button field with the specified name, add it to the collection, and return it. The unique name for the new push button field. The newly created and added push button field. Create a checkbox field with the specified name, add it to the collection, and return it. The unique name for the new checkbox field. The newly created and added checkbox field. Create a radio button field with the specified name, add it to the collection, and return it. The unique name for the new radio button field. The newly created and added radio button field. Create a comb text box field with the specified name, add it to the collection, and return it. The unique name for the new comb text box field. The newly created and added comb text box field. Create a text box field with the specified name, add it to the collection, and return it. The unique name for the new text box field. The newly created and added text box field. Create a combo box field with the specified name, add it to the collection, and return it. The unique name for the new combo box field. The newly created and added combo box field. Create a list box field with the specified name, add it to the collection, and return it. The unique name for the new list box field. The newly created and added list box field. Create a signature field with the specified name, add it to the collection, and return it. The unique name for the new signature field. The newly created and added signature field. Add the specified form field to the collection. The field to be added. Remove the specified form field from the collection and clean up its event subscriptions. The form field to remove from the collection. Rename a form field from an old name to a new unique name that meets naming rules. The current name of the field to rename. The new name to assign to the field. Thrown when the old name or new name is null or empty, when no field with the old name exists, when the new name is already used by another field, or when the new name contains a period character. Return whether a field with the specified name exists in the collection. Name of the field. true if a field with the specified name exists; otherwise, false. The number of form fields contained in the collection. Return an enumerator that iterates through the form fields. The enumerator. Gets the enumerator for the elements in the collection. An enumerator that can be used to iterate through the form fields in the collection. Specifies the category of a , used to determine behavior and rendering in forms. Push button control for clickable actions in PDF viewers. Checkbox control for binary on/off selection. Radio button control used in groups where only one option can be selected at a time. Comb text box that constrains input to fixed, equally spaced character cells. Standard text box for free‑form text input. Combo box choice control with a drop‑down list; editability depends on field settings. List box choice control that displays a list of selectable items. Digital signature field for capturing or displaying a signature. List box form field that shows a scrollable set of predefined options; supports single or multi‑selection for capturing one or several values in a PDF form. Create a list box field with the specified . The field name. Gets the form field type identifier (ListBox) used during export and processing. Gets or sets whether the user may select more than one option (enables multi‑value submission when true). true to allow multiple selection; false to restrict selection to a single item. Gets or sets the currently selected options; assign an array to change the selection and refresh widget appearances. An array containing all selected options, or null if no options are selected. Gets or sets the options selected after a form reset (default selection state). An array of default selected options, or null if no default selections are specified. Gets or sets the zero‑based index of the first option displayed (initial scroll position). Push button form field for invoking actions (submit, navigation, scripts) when clicked in the PDF viewer. Create a push button field with the specified . The field name. Gets the form field type identifier (PushButton) used during export and processing. Radio button group enabling a single logical choice (or controlled deselection) among mutually exclusive options in a PDF form. Create a radio button field grouping options under the specified . The field name. Gets the form field type identifier (RadioButton) used during export and processing. Gets the list of mutually exclusive selectable options. A collection containing all radio button options that users can choose from. Gets the widget collection rendering each option on document pages. A specialized widget collection containing all radio button widgets associated with this field. Gets or sets the currently selected option; changing it raises the value changed event. The selected radio option, or null if no option is currently selected. Gets or sets the option selected after a form reset (default choice). Gets or sets whether the user may toggle the selected option off leaving the group with no selection. Gets or sets whether widgets sharing an identical value update selection state together (value‑based unison behavior). Signature capture field used to embed or validate a digital signature within the PDF (supports cryptographic integrity checks). Create a signature field with the specified . The field name. Gets or sets the applied digital signature object; assigning sets its FieldName and enforces single ownership. The signature object containing cryptographic information and validation data, or null if the field is not yet signed. Thrown when attempting to assign a signature that is already associated with another signature field. Gets the form field type identifier (Signature) used during export and processing. Text input field supporting single or multiline entry, optional password masking, file path selection, scrolling, and length limits. Create a text box field with the specified . The field name. Form field type identifier (TextBox) used during export and processing. Whether multiple lines (with line breaks) are accepted. true to allow multiline text entry; false for single-line text input only. Whether input is obscured (password mode) in the viewer. true if it is a password; otherwise false. Whether the field captures a file system path whose contents are submitted. true if the field should allow file selection; false for regular text input. Whether spell checking is enabled by supporting viewers. true to enable spell checking; false to disable spell checking for this field. Whether overflowing content may scroll; when false input is clipped to the widget rectangle. true to allow scrolling for content overflow; false to restrict text input to the visible widget rectangle. Maximum allowed character count; null removes the limit. The maximum character limit, or null to allow unlimited text input. Abstract base for form fields that capture and display textual content, providing shared value handling and appearance invalidation. Initialize the text field with the specified . The field name. Current textual value displayed and submitted for this field. The text value entered by the user, or null if no text has been entered. Text value restored on form reset (default state). The default text content for this field, or null if no default value is specified. Collection wrapper that creates widgets and applies initial appearance configuration. The type of widget that extends the Widget base class. Create, add, and initialize a new widget instance. The newly created and initialized widget instance. Base collection providing creation, enumeration, and removal logic for form field widgets. The specific widget type that extends the Widget base class. Number of widgets currently stored. The number of widgets in the collection. Remove the specified widget and detach it from its field. The widget to remove from the collection. Return an enumerator over the widgets. An enumerator for the widget collection. Return a non-generic enumerator over the widgets. Represents a collection of XFA (XML Forms Architecture) forms, allowing for storing and managing form data as a collection of name and byte array pairs. Initialize an empty XFA packet collection. Number of stored XFA packets. Remove all packets from the collection. Return an enumerator over name/data pairs. Return an enumerator over name/data pairs. Adds a form entry to the collection with the specified name and data. The name of the form entry. The data associated with the form entry, represented as a byte array. Vector path element for drawing shapes in page content; configure fill and stroke to render outlines and areas in the document’s coordinate space. Initializes a new instance of the class. Gets or sets the geometric shape that defines the path's outline and area. The geometry object that describes the path's shape. Gets or sets the color used to fill the interior of the path. The fill color, or null if the path should not be filled. Gets or sets the color used to draw the outline of the path. The stroke color, or null if the path outline should not be drawn. Gets or sets a value indicating whether the path's interior should be filled with color. True if the path should be filled; otherwise, false. Gets or sets a value indicating whether the path's outline should be drawn. True if the path outline should be stroked; otherwise, false. Gets or sets the width of the path's outline stroke in user units. The thickness of the stroke line used to draw the path outline. Gets or sets the style of line caps used at the endpoints of the path's stroke. The line cap style that determines how stroke endpoints are rendered. Gets or sets the stroke line join. The line join style that determines how stroke line segments are joined together. Gets or sets the dash pattern applied to the stroke outline of the path. An enumerable collection of doubles representing the dash pattern lengths, or null for a solid line. Gets or sets the stroke dash offset. The offset distance in user units from the beginning of the dash pattern. Gets or sets the miter limit. The miter limit ratio, or null to use the default system value. Gets or sets the alpha constant. Specifying the constant shape or constant opacity value to be used for nonstroking operations. The alpha constant value between 0.0 (transparent) and 1.0 (opaque), or null to use default opacity. Gets or sets the stroke alpha constant. Specifying the constant shape or constant opacity value to be used for stroking operations. The stroke alpha constant value between 0.0 (transparent) and 1.0 (opaque), or null to use default opacity. Creates a deep copy of this path element with all its properties and geometry. A new instance that is a complete copy of this path. Creates a new instance of the path for cloning purposes. The type of the cloned instance. A new instance of the specified type containing the cloned path data. Rectangular geometry used to draw or define rectangular regions in fixed documents. Coordinates use the document origin at the top-left; X increases to the right and Y increases downward. Create a new with an empty rectangle (zero width and height) in document coordinates. Create a new using the specified rectangle; values are interpreted in document coordinates (origin at top-left, X grows right, Y grows down). The rectangle that defines the geometry's bounds and shape. Gets or sets the rectangle that determines this geometry's position and size in document coordinates, directly affecting the drawn region. The rectangle that specifies the position, width, and height of this geometry. Gets the geometry bounds. The rectangular bounds of this geometry. The type of artifact. Pagination artifacts are ancillary page features such as running heads, folios (page numbers) or Bates Numbering. Layout artifacts are purely cosmetic typographical or design elements such as footnote rules or decorative ornaments. Page artifacts are production aids extraneous to the document itself, such as cut marks and color bars. Background artifacts can occur from document templates that are often repeated unchanged across many pages and include images, patterns or colored blocks that either run the entire length and/or width of the page or the entire dimensions of a structural element. Interface for content elements that can be linked to a semantic structure element in the tagged PDF tree. Gets or sets the that semantically classifies this element within the document structure tree. BlockStacked in the block-progression direction within an enclosing reference area or parent BLSE. InlinePacked in the inline-progression direction within an enclosing BLSE. BeforePlaced so that the before edge of the element’s allocation rectangle coincides with that of the nearest enclosing reference area. The element may float, if necessary, to achieve the specified placement (see note below). The element is treated as a block occupying the full extent of the enclosing reference area in the inline direction. Other content is stacked so as to begin at the after edge of the element’s allocation rectangle. StartPlaced so that the start edge of the element’s allocation rectangle coincides with that of the nearest enclosing reference area. The element may float, if necessary, to achieve the specified placement (see note below). Other content that would intrude into the element’s allocation rectangle is laid out as a runaround. EndPlaced so that the end edge of the element’s allocation rectangle coincides with that of the nearest enclosing reference area. The element may float, if necessary, to achieve the specified placement (see note below). Other content that would intrude into the element’s allocation rectangle is laid out as a runaround. Defines standard owner categories under which PDF structure attributes are grouped for layout, list, table and format‑translation semantics. Custom owner is specified. Attributes governing the layout of content. Attributes governing the numbering of lists. (PDF 1.7) Attributes governing Form structure elements for non-interactive form fields. Attributes governing the organization of cells in tables. Additional attributes governing translation to XML, version 1.00. Additional attributes governing translation to HTML, version 3.20. Additional attributes governing translation to HTML, version 4.01. Additional attributes governing translation to OEB, version 1.0. Additional attributes governing translation to Microsoft Rich Text Format, version 1.05. Additional attributes governing translation to a format using CSS, version 1.00. Additional attributes governing translation to a format using CSS, version 2.00. Represents a collection of objects. Gets or sets the placement attribute that specifies the positioning of the structure element. Gets or sets the bounding box that defines the location of the structure element on the page. Gets or sets the amount of space to leave after the structure element. Gets or sets the horizontal alignment of text within the structure element. Mutable list managing child nodes of a structure tree, enforcing parent linkage on insert/remove. Creates a collection bound to the specified parent structure tree. The parent structure tree. Gets or sets the at the given zero‑based index. The index. The structure element at the specified index. Gets the current number of structure elements held in the collection. Gets a value indicating whether the collection is read‑only (always false for this implementation). Removes all elements, clearing parent references from each before disposal. Determines whether the specified element instance is contained in the collection. The structure element to locate in the collection. true if the structure element is found; otherwise, false. Copies all elements to the target array starting at the provided destination index. The array to copy elements to. The zero-based index in the array at which copying begins. Returns an enumerator for iterating through the elements in order of insertion. An enumerator for the collection. Gets the zero‑based index of the specified element instance, or -1 if not found. The structure element to locate in the collection. The index of the structure element if found; otherwise, -1. Inserts the provided element at the given index, updating its parent reference. The zero-based index at which the structure element should be inserted. The structure element to insert. Removes the first matching element, nulling its parent reference if found. The structure element to remove. true if the structure element was successfully removed; otherwise, false. Removes the element at the specified index and clears its parent reference. The zero-based index of the structure element to remove. Creates, appends, and returns a new using the specified standard structure tag. The tag to associate with the structure element. The newly created . Creates, appends, and returns a new structure element with the provided custom tag mapped to the given standard type. The custom tag to assign to the new structure element. The standard structure tag type mapped to the custom tag. The newly created . Container for a sequence of content elements grouped under a single marked‑content tag for tagging, accessibility, or artifact classification in the PDF structure tree. Creates a marked content sequence initialized with the default artifact tag. Gets the collection of child content elements that belong to this marked content sequence. Gets or sets the used to map this marked content to a semantic structure element; assigning updates the underlying PDF marked‑content tag. Gets the type of the fixed document element. Gets or sets the marker tag of the marked content. Tag is a name object indicating the role or significance of the sequence. Gets or sets the properties of the marked content. Gets or sets the language of the marked content. Node in the tagged PDF structure tree describing semantic type, text alternatives, language, and associated content elements. Initializes a new instance of the class. Initializes a new instance of the class with the specified type and page. The type of the structure element. Gets or sets replacement text that assistive technologies should read instead of the physical content. Gets or sets a human‑readable alternate description (alt text) required for figures, annotations, and links. Gets or sets the natural language (BCP‑47 / PDF Lang) applying to text within this element. Gets the standard structure type identifying the semantic role (e.g. Paragraph, Figure). Gets the custom structure type name when a non‑standard role is used. Gets or sets the attribute collection providing layout, list, table, and translation metadata for this element. Gets a snapshot of elements (marked content or other structural parts) associated with this structure element. Gets or sets the page containing this element's primary content when page‑scoped. Gets or sets the parent structure tree node; null indicates a root element. Gets or sets the unique ID assigned when an explicit reference is required (e.g. for Reference elements). Represents attributes associated with structure elements in the document. Initializes a new instance of the class. This constructor sets the property to its default value of . Gets or sets the attribute owner type that identifies the standard by which the attributes are defined. Gets or sets the custom owner type for the structure element. Represents the types of structure tags used in a document. No specific structure tag type. A complete document. This is the root element of any structure tree containing multiple parts or multiple articles. A large-scale division of a document. This type of element is appropriate for grouping articles or sections. A relatively self-contained body of text constituting a single narrative or exposition. Articles should be disjoint; that is, they should not contain other articles as constituent elements. A container for grouping related content elements. For example, a section might contain a heading, several introductory paragraphs, and two or more other sections nested within it as subsections. A generic block-level element or group of elements. A portion of text consisting of one or more paragraphs attributed to someone other than the author of the surrounding text. A brief portion of text describing a table or figure. A list made up of table of contents item entries . An individual member of a table of contents. A sequence of entries containing identifying text accompanied by reference elements that point out occurrences of the specified text in the main body of a document. A grouping element having no inherent structural significance; it serves solely for grouping purposes. This type of element differs from a division in that it is not interpreted or exported to other document formats; however, its descendants are to be processed normally. A grouping element containing private content belonging to the application producing it. The structural significance of this type of element is unspecified and is determined entirely by the producer application. Neither the Private element nor any of its descendants are to be interpreted or exported to other document formats. Represents a paragraph element. Represents a heading element. Represents a level 1 heading. Represents a level 2 heading. Represents a level 3 heading. Represents a level 4 heading. Represents a level 5 heading. Represents a level 6 heading. Represents a list element. Represents a list item element. Represents a list label element. Represents a list body element. Represents a table element. Represents a table row element. Represents a table header element. Represents a table data element. Represents a table head element. Represents a table body element. Represents a table footer element. Represents a span element. Represents a quotation element. Represents a note element. Represents a reference element. Represents a bibliographic entry element. Represents a code element. Represents a link element. Represents an annotation element. Represents a ruby element. Represents the base text of a ruby element. Represents the annotation text of a ruby element. Represents the punctuation of a ruby element. Represents a warichu element. Represents the text of a warichu element. Represents the punctuation of a warichu element. Represents a figure element. Represents a formula element. Represents a form element. Base node for a structure tree; the root or any intermediate element holding child structure elements. Initializes a new instance of the class. Gets the collection of child structure elements attached to this node. Builds the structure tree for tagged PDF export, organizing content into semantic elements. Key for uniquely identifying a table within the document. This attribute applies only to TH elements and indicates whether the header cell applies to the rest of the cells in the row that contains it, the column that contains it, or both the row and the column that contain it. Specifies how text is aligned within a text element. Aligned with the start edge. Centered between the start and end edges. Aligned with the end edge. Aligned with both the start and end edges, with internal spacing within each line expanded, if necessary, to achieve such alignment. Inline progression from left to right; block progression from top to bottom. This is the typical writing mode for Western writing systems. Inline progression from right to left; block progression from top to bottom. This is the typical writing mode for Arabic and Hebrew writing systems. Inline progression from top to bottom; block progression from right to left. This is the typical writing mode for Chinese and Japanese writing systems. Event args used when resolving a duplicate form field name during document merge; supplies original, proposed, and already used names. Create args with the conflicting name, initial new name proposal, and set of existing form field names. The current name of the field. The new name of the field. The names that are currently used in the . The conflicting original field name. The name. Proposed new unique field name (handler may modify). The new name. Existing field names present in the target document for conflict checking. The used names. Bookmark node in the PDF outline that triggers a destination or action and structures hierarchical navigation. Initializes a new instance of the class. Create a new that navigates to the specified destination when activated. The text to be displayed for this bookmark item. The destination to be displayed when this bookmark item is activated. Thrown when the title or destination is null. Create a new that executes the provided action (and subsequent actions in the collection) when activated. The text to be displayed for this bookmark item. The action first action in a collection of actions to be performed when this bookmark item is activated. Thrown when the title or action is null. Create a new that targets the specified named destination for indirect navigation. The text to be displayed for this bookmark item. The named destination to be displayed when this bookmark item is activated. Thrown when the title or namedDestination is null. Initializes a new instance of the class. The text to be displayed for this bookmark item. Thrown when the title is null. Gets or sets whether this bookmark's child items are initially expanded when the document loads, controlling outline visibility. Gets the destination shown in the viewer when the bookmark is activated. Gets the named destination this bookmark resolves to for indirection across the document. Gets the ordered collection of actions executed when the bookmark is activated. The actions. Gets or sets the visual style flags (bold / italic) applied to the bookmark text. Gets or sets the bookmark text color (RGB), influencing outline appearance. Thrown when the value is null. Gets or sets the display text shown for the bookmark in the outline panel. Thrown when the value is null. Gets the collection of direct child bookmarks forming this node's subtree. Flags describing visual emphasis applied to bookmark text in the outline. Default appearance with no emphasis applied. Italicizes the bookmark text. Renders the bookmark text in bold weight. Destination alias identified by a unique name, allowing indirect references from bookmarks, links, and actions. Gets or sets the unique identifier used by external navigation elements to resolve this destination. The destination name as a string identifier. Gets or sets the underlying destination this name resolves to. The destination object that specifies where to navigate. Gets or sets the GoTo action executed when the name is invoked as an interactive target. The GoTo action that will be executed when navigating to this destination. Destination that scales the minimal bounding box of page content to fit the viewer both horizontally and vertically while preserving aspect ratio. Initialize a destination that scales the page content bounds to fit the viewport while preserving aspect ratio; offsets derive from the fitted bounds. Gets or sets the type of the destination. The type of the destination. Destination that scales content's bounding rectangle to fit the viewport width while preserving original aspect ratio; vertical position can be adjusted via Top. Initialize a destination that fits the width of the page content bounds to the viewport; optionally position by Top. Gets or sets the type of the destination. The type of the destination. Gets or sets the Y offset applied after horizontal fit; when null the top of the box aligns with the viewport top. The top coordinate in points, or null to position at the top of the viewport. Destination that scales content's bounding rectangle to fit the viewport height while preserving aspect ratio; horizontal position can be adjusted via Left. Initialize a destination that fits the height of the page content bounds to the viewport; optionally position by Left. Gets or sets the type of the destination. The type of the destination. Gets or sets the X offset applied after vertical fit; when null aligns the rectangle's left edge to the viewport. The left coordinate in points, or null to position at the left edge of the viewport. Destination that scales the page so its width matches the viewport width, preserving aspect ratio; vertical offset may be specified via Top. Initializes a destination that zooms to fit the page width within the viewport while preserving layout proportions. Gets or sets the type of the destination. The type of the destination. Gets or sets the Y offset applied after horizontal fit; null aligns the page top to the viewport top. The top coordinate in points, or null to position at the top of the viewport. Destination that scales the entire page to fit inside the viewport in both dimensions while preserving aspect ratio. Initializes a destination that zooms to show the whole page within the viewport, preserving aspect ratio. Destination that scrolls to an explicit point on a page with optional zoom factor. Coordinates are in document space with origin at the top-left. X increases to the right and Y increases downward. Initialize a location destination with no fixed offsets or zoom; unless Left, Top, or Zoom are set later, navigation preserves the viewer's current position and scale. Gets or sets the type of the destination. The type of the destination. Gets or sets the X coordinate to align in the viewport; null preserves current horizontal scroll. Coordinates are in document space with origin at the top-left. X increases to the right and Y increases downward. The left coordinate in points, or null to preserve the current horizontal position. Gets or sets the Y coordinate to align in the viewport; null preserves current vertical scroll. Coordinates are in document space with origin at the top-left. X increases to the right and Y increases downward. The top coordinate in points, or null to preserve the current vertical position. Gets or sets the zoom factor applied on navigation; null keeps the viewer's existing zoom. The zoom factor as a decimal value (e.g., 1.0 for 100%, 2.0 for 200%), or null to preserve the current zoom level. Destination that scales a specified page rectangle to fit inside the viewport while preserving aspect ratio. Coordinates are in document space with origin at the top-left. X increases to the right and Y increases downward. Initializes a destination that zooms to fit a given rectangle on the page within the viewport, preserving aspect ratio. Gets or sets the type of the destination. The type of the destination. Gets or sets the rectangle's left X coordinate in page units. Coordinates are in document space with origin at the top-left. X increases to the right and Y increases downward. The left coordinate value, or null if not specified. Gets or sets the rectangle's bottom Y coordinate in page units. Coordinates are in document space with origin at the top-left. X increases to the right and Y increases downward. The bottom coordinate value, or null if not specified. Gets or sets the rectangle's top Y coordinate in page units. Coordinates are in document space with origin at the top-left. X increases to the right and Y increases downward. The top coordinate value, or null if not specified. Gets or sets the rectangle's right X coordinate in page units. Coordinates are in document space with origin at the top-left. X increases to the right and Y increases downward. The right coordinate value, or null if not specified. Destination that scales the page so its height matches the viewport height, preserving aspect ratio; horizontal offset may be specified via Left. Initializes a destination that zooms to fit the full page height within the viewport while preserving aspect ratio. Gets or sets the type of the destination. The type of the destination. Gets or sets the X offset applied after vertical fit; null aligns the page left to the viewport. The left coordinate in points, or null to position at the left edge of the viewport. Base type for navigation targets that instruct a viewer how to display a page (location, fit or zoom) when triggered. Initialize a destination base instance for page navigation; derived types specify how the viewer positions and scales the target page. Gets or sets the target page within the document that this destination refers to. When navigating to this destination, the viewer will display this specific page. The RadFixedPage object that will be displayed when navigating to this destination. Gets or sets the type of the destination. The type of the destination. Specifies the different types of destinations available for document navigation. Each type defines how the page should be displayed when navigating to the destination. A destination that specifies an explicit location on a page. A destination that fits the entire page within the viewer window while maintaining aspect ratio. A destination that fits the page horizontally within the viewer window. A destination that fits the page vertically within the viewer window. A destination that fits a specified rectangular region within the viewer window. A destination that fits the bounding rectangle of page content within the viewer window. A destination that fits the bounding rectangle of page content horizontally within the viewer window. A destination that fits the bounding rectangle of page content vertically within the viewer window. Marker interface for elements that expose or reference navigation destinations within the fixed document model. Creates the cloned instance. The cloned instance. Form XObject element that reuses shared PDF content via a referenced for efficient templating and repeated drawing. Initializes a form XObject container that draws reusable PDF content defined by a shared FormSource. Gets or sets the reusable content definition backing this form instance. The form source. Gets or sets the displayed width overriding the source's width when specified. The width. Gets or sets the displayed height overriding the source's height when specified. The height. Gets or sets the constant opacity applied to non‑stroking paint operations. The alpha constant. Gets or sets the constant opacity applied to stroking (outline) operations. The stroke alpha constant. Creates and returns a deep copy of this form including dimension overrides and its referenced source. Creates the cloned instance. The cloned instance. Positioned raster image element that draws pixels from an with optional dimension overrides and transparency. Initializes a new image element with default size inferred from its source when assigned. Gets or sets the image data container supplying pixel dimensions and encoded content. The ImageSource object containing the image data and format information. Gets or sets the display width overriding the intrinsic bitmap width when specified. The width value. Gets or sets the display height overriding the intrinsic bitmap height when specified. The height value. Gets or sets the constant opacity applied to non‑stroking paint operations. The alpha constant. Creates and returns a WPF for this image, applying stencil color if present. The instance. Creates and returns a deep copy of this image including dimension overrides and stencil settings. Creates the cloned instance. The cloned instance. Defines the reading order preference used to arrange pages or text when displayed side by side or printed n-up. Left‑to‑right reading order. Right‑to‑left reading order (also used for vertical East Asian writing systems). Specifies duplex printing behavior requested in the print dialog; no default is implied and unsupported values are ignored by viewers. Single‑sided printing. Double‑sided printing, flip on the sheet's short edge (portrait binding). Double‑sided printing, flip on the sheet's long edge (landscape binding). Determines which navigation pane (if any) a viewer should show when leaving full‑screen mode; honored only when the catalog PageMode is FullScreen (default: UseNone). No outline, thumbnails, or optional content panel. Show the document outline (bookmarks) panel. Show the thumbnail images panel. Show the optional content (layers) panel. Indicates the preset copy count to propose in the print dialog (values outside the defined range are ignored; default: One). One copy (default). Two copies. Three copies. Four copies. Five copies. Selects the page scaling behavior a viewer should preselect in the print dialog. No scaling; print at original dimensions. Defer to the viewer application's current scaling setting. Holds viewer behavior hints that influence how a PDF is initially presented on screen or printed when no user overrides are applied. Indicates whether the viewer should hide its toolbars while this document is active (default: false). Indicates whether the viewer should hide its menu bar while this document is active (default: false). Indicates whether to suppress standard window UI (scroll bars, navigation panels) so only page content is shown (default: false). Indicates whether to resize the window to exactly fit the first displayed page (default: false). Indicates whether to center the document window on the screen when opened (default: false). Indicates whether the window title bar should show the document Title metadata instead of the file name (default: false). Specifies which navigation pane (if any) to show after leaving full‑screen mode (effective only when catalog PageMode is FullScreen; default: UseNone). The page scaling option to be selected when a print dialog is displayed for this document. Valid values are None, which indicates that the print dialog should reflect no page scaling, and AppDefault, which indicates that applications should use the current print scaling. If this entry has an unrecognized value, applications should use the current print scaling. Default value: AppDefault. Requests a duplex handling mode for printing (null if unspecified). Specifies the initial number of copies the print dialog should propose (default: One). Indicates the predominant reading order so viewers can arrange pages correctly in side‑by‑side or n‑up layouts (default: L2R). Metadata container for document descriptive information (author, title, dates, keywords) embedded in the PDF info dictionary. Gets or sets the author of the document. The name of the document's author. Gets or sets the title of the document. The title of the document. Gets or sets a short textual summary of the document’s purpose or contents. A brief description of the document's content or purpose. Gets or sets comma or space separated search keywords aiding classification. The keywords. Gets or sets the name of the creator of the document. If the document was converted to PDF from another format, the name of the application that created the original document from which it was converted. The name of the creator. Gets or sets the name of the producer associated with the item. If the document was converted to PDF from another format, the name of the application that converted it to PDF. Gets or sets the document creation timestamp (CreationDate). The creation date. Gets or sets the date and time when the object was last modified. The modification date. Creates a copy of this containing all metadata properties. Modifying properties on the returned instance does not affect this instance. A new independent instance with copied property values. Encapsulates raw encoded image bytes plus metadata (size, bits/component, color space, filters, optional alpha) for PDF embedding or decoding. Encoded image byte stream (compressed per ). The data. Optional encoded alpha channel matching dimensions/bits/filters of ; always interpreted in DeviceGray. Number of bits used to store each color component sample. The bits per component. Image width in pixels. The width. Image height in pixels. The height. PDF color space name associated with the encoded data (e.g., DeviceRGB, DeviceGray, DeviceCMYK). The color space. Ordered list of PDF filter names applied to (decode in sequence). The filters. Create an image descriptor from encoded bytes without an alpha channel. The data. The bits per component. The width. The height. The color space. The filters. Create an image descriptor from encoded bytes with an optional alpha channel matching size/bits/filters. The data. The alpha channel data. This data should be encoded with same bitsPerComponent, width, height and filters as the image data. The colorspace of the alpha channel is not related to the colorspace of the image data and the alpha data colorspace is always DeviceGray. The bits per component. The width. The height. The color space. The filters. This class handles the logic for both ImageMask and ColorKeyMask depending on the constructor. Gets or sets the PDF transform matrix. SVG calculations are internally converted to pixels, the PDF accepts mm and internally converts them to points. Reusable PDF form (XObject) content container owning a ; instantiate once and place via multiple instances to avoid duplicating drawing operations. Initialize an empty form ready to accept content elements. Root structure element used as the starting point when auto‑tagging is active. The default structure root. Stack tracking nested structure elements while building tagged content. The structure stack. Collection of child drawing elements composing the form’s appearance. The content. Logical width and height bounding the form’s coordinate space. Indicates support for annotations (always false for forms). Annotation collection (not supported for form content and will throw). Indicates whether automatic tagging is supported (forms do not support it). True if the element supports auto tagging. Parent content element (always null because a form source is a root entity). Gets or sets the matrix which maps the form space into user space. Create a form whose drawing commands are produced from an SVG stream. The stream containing the SVG file data. A FormSource object representing the SVG content. Create a form from raw SVG bytes (UTF‑8 encoded XML expected). The byte array containing the SVG file data. A FormSource object representing the SVG content. Create a form from SVG XML text. The SVG XML string representing the form. A FormSource object representing the SVG content. Create a reusable form (XObject) from a 1D barcode value using the specified symbology and default size of 100x100 DIPs. The 1D barcode symbology to use. See . The data to encode in the barcode. A 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 or wrapped in a and added to the page content. If 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 reusable form (XObject) from a 1D barcode with explicit target size in DIPs. The 1D barcode symbology to use. See . The data to encode in the barcode. Target barcode width in DIPs. Target barcode height in DIPs. A representing the barcode content. When drawn at a different size than x , the form is scaled. For crisp output, draw at the measured size or pass the same size to . If 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 using the specified symbology and default size, optionally rendering human‑readable text. The 1D barcode symbology to use. See . The data to encode in the barcode. True to render the human‑readable value centered below the bars. A representing the barcode content. Text is rendered using . 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. The 1D barcode symbology to use. See . The data to encode in the barcode. Target barcode width in DIPs. Target barcode height in DIPs. True to render the human‑readable value centered below the bars. A representing the barcode content. Editing strategy: to "edit" a barcode already placed on a page, generate a new with the updated value and assign it to the existing or remove/redraw using . Barcode content is generated at creation time and is not mutable afterward. Create a reusable form (XObject) from a 2D barcode (e.g., QR, Swiss QR) using a default size of 100x100 DIPs. The 2D barcode symbology. See . The data to encode in the 2D barcode. If 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 2D barcode with explicit target size in DIPs. The 2D barcode symbology. See . The data to encode in the 2D barcode. Target barcode width in DIPs. Target barcode height in DIPs. Modules are sized to fit within the provided and . Sizing snaps to whole DIP units to preserve crisp edges. Immutable raster image resource providing encoded pixel data, dimensions, color space, and optional masks for PDF rendering. Load image data from a stream, preserving original encoding when possible. The stream. Load image data from a stream with a target recompression quality. The stream. The image quality. Wrap existing encoded image information (created externally) as an image resource. The image source info. Create an image resource from a preserving its pixel data. The bitmap source. Create an image resource from a with specified recompression quality. The bitmap source. The image quality. Image height in pixels. Image width in pixels. Linear component value mapping applied during decoding (customizes range scaling per PDF spec). The decode array. Return the encoded image bytes and metadata suitable for embedding or reuse. The encoded image data. Create a instance from this image’s pixel data. The instance. Represents a grid hypothesis formed from detected borders. Initializes a new instance of the class. Initializes a new instance of the class with specified boundaries. The Y coordinates of row boundaries. The X coordinates of column boundaries. Gets the sorted Y coordinates of row boundaries. Gets the sorted X coordinates of column boundaries. Gets the number of rows in the grid. Gets the number of columns in the grid. Gets or sets the overall bounding rectangle of the grid. Determines if the grid is valid (has at least one row and one column). Adds a row boundary at the specified Y coordinate. The Y coordinate of the row boundary. Adds a column boundary at the specified X coordinate. The X coordinate of the column boundary. Gets the bounding rectangle for a specific cell. The zero-based row index. The zero-based column index. The bounding rectangle of the cell, or empty if indices are invalid. Finds the cell indices that contain the specified point. The X coordinate. The Y coordinate. Output: the row index, or -1 if not found. Output: the column index, or -1 if not found. True if a cell was found; otherwise, false. Calculates the column span for an element based on its bounds. The left X coordinate of the element. The right X coordinate of the element. Output: the starting column index. The number of columns the element spans (1 or more). Calculates the row span for an element based on its bounds. The top Y coordinate of the element. The bottom Y coordinate of the element. Output: the starting row index. The number of rows the element spans (1 or more). Represents the content of a table cell. Initializes a new instance of the class. Initializes a new instance of the class with cell position. The zero-based row index. The zero-based column index. Gets the zero-based row index of this cell. Gets the zero-based column index of this cell. Gets the elements contained in this cell. Gets or sets the bounding rectangle of the cell. Gets or sets the row span (number of rows this cell spans). Gets or sets the column span (number of columns this cell spans). Gets or sets whether this cell is a header cell. Gets the combined text content of all text elements in this cell. Determines if this cell has any content. Adds an element to this cell. The element to add. Key for identifying a specific table cell within a detected table. Context for detecting tables within a PDF page based on content elements. Initializes a new instance of the class. Gets the detected tables after processing. Adds a content element to the detection context. The element to add. Processes all added elements and detects tables. Determines if bounds represent a likely table border. The bounds to check. True if the bounds appear to be a border; otherwise, false. Tries to form grids from the collected border candidates. A list of valid grid hypotheses. Filters borders to keep only those that span a significant portion of the table extent. This filters out nested table borders that are shorter than main table borders. Finds distinct table regions by analyzing border connectivity. Separates nested tables from outer tables. Finds complete rectangular table boundaries (outer rectangles). Represents a distinct table region with its own borders. Assigns text elements to table cells. The table to populate with cell content. Clears all collected elements and detected tables. Attempts to form table grids from text element alignment patterns (for borderless tables). A list of grid hypotheses formed from text alignment. Clusters text positions into rows or columns. Builds cell boundaries from clustered positions. Lightweight wrapper to cache bounds for a content element. Represents a detected table with its grid structure and cell contents. Initializes a new instance of the class. The grid hypothesis defining the table structure. Gets the grid structure of the table. Gets or sets the confidence score (0.0 to 1.0) indicating how likely this is a valid table. Gets the bounding rectangle of the table. Gets the number of rows in the table. Gets the number of columns in the table. Gets or sets whether the first row is detected as a header row. Gets or sets whether the first column is detected as a header column. Gets or sets whether the table has visible borders. Gets the cell content at the specified position. The zero-based row index. The zero-based column index. The cell content, or null if no content exists. Sets the cell content at the specified position. The zero-based row index. The zero-based column index. The cell content to set. Gets the number of filled cells. Determines if the table is valid (has valid grid, reasonable confidence, and some content). Calculates and updates the confidence score based on various heuristics. Creates PDF structure elements for detected tables. Creates a table structure element from a detected table hypothesis. The detected table hypothesis. A structure element representing the table. Creates a table structure element with actual content from structure elements. Creates a table head structure element containing header rows. Creates a table body structure element containing data rows. Creates a table row structure element. Creates a table cell structure element. Creates structure elements for all detected tables and adds them to the section. The section element to add tables to. The list of detected tables. Adds a new index and offset pair to the collection. The index where the offset will be applied in the space collection. The offset measured in thousands of text space units. If the text units are multiplied by font size the result will be the size in dips. Text run containing characters that share uniform font, color, spacing, and positioning; use to apply precise typographic styling within fixed content. Initializes a new instance of the class. Initializes a new instance of the class with the specified text content. The string content to be displayed in this text fragment. Uniform adjustment applied between consecutive characters to tighten or expand overall tracking. The character spacing. A positive value increases spacing, negative decreases it. Additional spacing applied to space characters, influencing distance between words. The word spacing. A positive value increases spacing between words, negative decreases it. Horizontal scale factor applied to glyph widths (1.0 = normal, less than 1 compresses, greater than 1 expands). The horizontal scaling factor as a percentage (e.g., 1.0 = 100%, 0.5 = 50%, 2.0 = 200%). Default is 1.0 (100%). Font resource used to shape and render the fragment’s glyphs. The font instance that defines the typeface, style, and other font characteristics. Em size (in PDF text space units) used when positioning and scaling glyph outlines. The size of the font. Baseline shift offset applied to raise (positive) or lower (negative) glyphs relative to the current line. The text rise offset. Positive values raise the text, negative values lower it. Rendering style determining fill, stroke, both, clipping, or invisibility for the glyphs. The rendering mode that specifies the appearance style of the text. Non-stroking color applied to glyph interiors when fill is enabled. The color used to fill the text characters. Stroking color used for glyph outlines when stroke rendering is active. The color used to stroke the text character outlines. Line width in user units for glyph outline stroking. The stroke line thickness. Style applied to the ends of stroked glyph segments (caps). The line cap style that determines how line ends are rendered. Strategy for rendering corners where stroked glyph outline segments meet (joins). The line join style that determines how line corners are rendered. Dash pattern sequence applied when stroking glyph outlines. A collection of values that specify the lengths of alternating dashes and gaps in the stroke pattern. Offset into the dash pattern at which glyph outline stroking begins. The dash offset value in user space units that shifts the starting point of the dash pattern. Maximum miter length ratio before joints are beveled when using miter joins. The miter limit ratio. When the miter length exceeds this limit, the corner is beveled instead of mitered. Unicode string rendered using the fragment’s current text properties. The string content that will be rendered with the formatting properties of this text fragment. Constant opacity applied to fill operations (non-stroking) when compositing. The alpha constant value between 0.0 (fully transparent) and 1.0 (fully opaque) for fill operations. Constant opacity applied to stroke (outline) painting operations. The stroke alpha constant value between 0.0 (fully transparent) and 1.0 (fully opaque) for stroke operations. Returns a string representation of this text fragment. The text content of this fragment. Creates a deep copy of this text fragment, including all its formatting properties and text content. A new instance that is an exact copy of this fragment. Creates the cloned instance. The cloned instance. Text rendering styles controlling whether glyph interiors, outlines, both, or clipping paths are applied when painting text. Fill only – paints the glyph interiors with the current non-stroking color. Stroke only – draws glyph outlines using the current stroking settings. Fill then stroke – fills interiors and then outlines them for combined effect. Invisible – neither fills nor strokes glyphs (can still affect text positioning). Fill and clip – fills glyphs and adds their shape to the current clipping path. Stroke and clip – strokes outlines and adds the outline path to the clipping path. Fill, stroke, and clip – fills, outlines, then adds the resulting glyph area to the clipping path. Clip only – adds glyph outlines to the clipping path without painting. Specifies the ZUGFeRD (Factur-X) conformance level to use when exporting PDF invoices. Higher levels generally include all requirements of the lower levels and add more structured data to support automated processing and validation scenarios. The minimal profile providing only the essential data needed for a compliant e-invoice. Suitable for simple use cases with limited automation. The basic profile providing core structured data for improved interoperability and basic automated processing between trading partners. The comfort profile with richer structured content, typically aligned with common business requirements to enable advanced automation. The most comprehensive profile including extended data elements to cover advanced or industry-specific scenarios beyond the comfort profile. The German CIUS XRechnung reference profile based on EN 16931. This profile is exported with XRECHNUNG conformance metadata and embeds the invoice XML as xrechnung.xml. Content element applying a vector clipping path to subsequent elements in the page content stream. Initializes a new clipping element used to confine subsequent drawing to a specified geometry on the page. Gets or sets the clipping geometry path defining the visible region. The clipping geometry. Root fixed document aggregating pages, annotations, form fields, actions, bookmarks, structure tree, and metadata, with merge and clone operations. Occurs when an unhandled exception is thrown while loading the document properties, e.g. page content and annotations. This event applies when the document is imported with the class using the .OnDemand import setting. Create an empty document with initialized collections and optional automatic tagging. Document metadata (info dictionary) including title, author, creation date, etc. The document information object containing metadata properties. Ordered page collection forming the document body. The collection containing all pages in the document. Enumerates all annotations across every page (lazy per page load). An enumerable collection of all annotations across all document pages. Named destination targets enabling internal navigation by name. The collection of named destinations for document navigation. Embedded file attachments collection. The collection of embedded file attachments. Interactive form (AcroForm) container managing form fields and widgets. Hierarchical outline (bookmarks) tree for structured navigation. Initial viewer page display mode (e.g., outline, thumbnails) when opened. Document-level actions executed on open, close, save, or print events. Indicates presence of optional content groups (layers). Gets the PDF Portfolio/Collection settings for enhanced presentation of embedded files. Set to true to enable portfolio mode. PDF Portfolios (also known as PDF Collections or PDF Packages) allow organizing multiple embedded files within a single PDF with a structured user interface showing file metadata in columns (details view) or icons (tile view). This feature was introduced in PDF 1.7. Logical structure tree root describing tagged PDF semantics. Indicates whether new content is auto-tagged for accessibility. If true, the document will automatically tag elements with structure tags when they are added. BCP 47 language tag applied to document content. Gets the viewer preferences controlling the way the document is to be presented on the screen or in print. If no such dictionary is specified, viewing and printing applications should behave in accordance with their own current user preference settings. The viewer preferences. Gets the named JavaScript collection. The JavaScripts. Merge pages, form fields, destinations, actions, scripts, files, and bookmarks from another document. The source document. Raised to resolve duplicate form field names during merge; handler can supply a unique name. Raised to resolve duplicate embedded file names during merge. Raised to resolve duplicate JavaScript action names during merge. Deep clone the document (pages, form fields, annotations, destinations, files, scripts, bookmarks) into a new instance. The cloned RadFixedDocument instance. Creates a new containing deep copies of the pages in the specified range. Form fields with widgets on included pages, named destinations pointing to included pages, embedded files, JavaScript actions, and bookmarks are also cloned into the new document. The zero-based index of the first page to include. The number of consecutive pages to include. A new containing the cloned page range. is negative, is less than 1, or the range exceeds the document page count. Export a plain text representation of the entire document. An instance of representing the plain text version of the document. Converts the current document to a plain text document. The timeout after which the operation will be cancelled. An instance of representing the plain text version of the document. Export a plain text representation limited to the specified page range. An instance of representing the plain text version of the document. Converts the current document to a plain text document. The starting page index (inclusive) from which to extract text. The ending page index (inclusive) up to which to extract text. The timeout after which the operation will be cancelled. An instance of representing the plain text version of the document. Legacy text selection accessor (RadPdfViewer only). The selection. Legacy caret position (RadPdfViewer only). The caret position. Cache manager controlling page content caching strategy. Indicates whether this instance can raise unhandled exception events. True if the object can raise an exception event; otherwise, false. Raises the event. The containing the event data. Page container for fixed content and annotations; holds drawing elements, page boxes (media/crop), rotation, actions, and structure tagging state. Create a page with default size, rotation, empty content collection, and no annotations. Indicates that the page can host annotation objects. Always returns true since pages support annotations. Collection of positioned content elements rendered on this page in drawing order. The content elements collection. Lazily loads and returns the page's annotations (links, form fields, widgets, etc.). The collection of annotations that provide interactive or informational content on the page. Logical page size convenience wrapper over the width and height. For more precise control, use and properties. The page size. Physical page boundary rectangle (PDF MediaBox) defining the full page area. Coordinates are in document space with origin at the top-left. X increases to the right and Y increases downward. The media box rectangle. Visible clipping rectangle for display/print; defaults to when unset. Coordinates are in document space with origin at the top-left. X increases to the right and Y increases downward. The crop box rectangle. Page rotation applied in 90° increments to all rendered content. The rotation angle in 90-degree increments (0°, 90°, 180°, or 270°). Legacy page number used by RadPdfViewer; prefer indexing via document pages collection. The page no. Page-level actions invoked on open, close, and other viewer events. Indicates support for automatic logical structure tagging. True if the element supports auto tagging. Root structure element used when auto-tagging page content. The default structure root. Stack tracking current parent structure elements during auto-tagging. The structure stack. Deep clone this page, including all content elements, annotations, and associated form fields. The cloned page has no parent document; add it to a collection to use it. A new instance containing deep-cloned content. The numbering system used to generate the content of the Lbl (Label) elements in an autonumbered list, or the symbol used to identify each item in an unnumbered list. No autonumbering; Lbl elements (if present) contain arbitrary text not subject to any numbering scheme. The default value for this attribute. Solid circular bullet. Open circular bullet. Solid square bullet. Decimal Arabic numerals (1–9, 10–99, … ) Uppercase roman numerals (I, II, III, IV, … ). Lowercase roman numerals (i, ii, iii, iv, … ). Uppercase letters (A, B, C, … ). Lowercase letters (a, b, c, … ). This will parse a PDF byte stream and extract operands and such. @author Ben Litchfield Describes a single successful text match, exposing its range, extracted string value, and convenience helpers for layout info. Gets a sentinel instance returned when no match is found. The value represents a default instance when there is no search result found. Gets the range spanning the matched text in the document. The value represents a object describing the start and end positions of the match. Gets the textual content of the match extracted from the document. A string value representing the match. Returns the matched string value. A string that represents the current object. Gets the layout bounding rectangle of the first word in the match (for hit highlighting). Returns the bounding rectangle of the result word. Gets the fixed page containing the match. The page containing the search result. Performs forward and backward text searches over a fixed document using KMP or regular expression strategies with whole-word and case sensitivity options. Initializes a search context for the specified fixed document, preparing page text using the provided recognizer. The PDF document to be searched. Finds the next occurrence of the specified text starting from the internal search cursor and returns its range. The searched text. Allows you to specify the search options. The SearchResult. Finds the next occurrence of the specified text starting from a provided position. The searched text. Allows you to specify the search options. The initial position to start the search from. The SearchResult. Finds the next occurrence within the specified forward range. The searched text. Allows you to specify the search options. The range within the search is performed The SearchResult. Finds the previous occurrence of the specified text relative to the internal cursor. The text to be searched. The search options to apply for the current search. The SearchResult. Finds the previous occurrence starting from the provided position. The text to be searched. The search options to apply for the current search. The position to begin from. The SearchResult. Finds the previous occurrence within the specified backward range (start greater than end). The text to be searched. The search options to apply for the current search. The range of the search - StartPosition is greater than EndPosition. The SearchResult. Finds all occurrences of the text throughout the document starting at the beginning. The searched text. The search options to apply for the current search. A collection of the found results. Finds all occurrences starting from the provided position and continuing forward. The searched text. The search options to apply for the current search. The position from which to start the search. A collection of the found results. Finds all occurrences inside the specified range using the configured strategy. The searched text. The search options to apply for the current search. The range to search in. A collection of the found results. Encapsulates configuration controlling text search behavior (case sensitivity, regex usage, and whole-word matching). Gets a new instance with all options disabled (case-insensitive, literal matching, partial words allowed). The default. Occurs when a property value changes. Initializes a new instance of the class. Initializes a new instance of the class. The case sensitive option. Initializes a new instance of the class. Specifies whether the search should be case sensitive. Specifies whether to use regular expression pattern matching. Initializes a new instance of the class. Specifies whether the search should be case sensitive. Specifies whether to use regular expression pattern matching. Specifies whether to match whole words only. Gets or sets whether the search string is treated as a regular expression pattern. true if regular expression should be used for searching; otherwise, false. Gets or sets whether character casing must match exactly. true if the search should be case sensitive; otherwise, false. Gets or sets whether matches must coincide with whole word boundaries. true if only whole words should be matched; otherwise, false. Cursor-like handle to a precise character index within a fixed document page, enabling navigation (by character, word, line, or page) and retrieval of positional metadata. Initializes a new instance of the class. The document. Initializes a new instance of the class. The position. Initializes a new instance of the class. The page. Initializes a new instance of the class. The page. The index. Raised just before the position changes, allowing observers to capture state prior to movement. Raised immediately after the position changes to a new page/index location. Gets the zero-based character index within the current text page. The index. Gets the fixed page that currently contains this text position. The page. Returns true if two positions reference the same page and index within the same document. Left text position. Right text position. Returns if the two positions are equal. Returns true if the two positions differ in page or index (must belong to the same document). Left text position. Right text position. Returns if the two positions are not equal. Returns true if the left position precedes the right one in document reading order (same document required). Left text position. Right text position. Returns if the left position is less than the right position. Returns true if the left position follows the right one in document reading order (same document required). Left text position. Right text position. Returns if the left position is greater than the right position. Returns true if the left position precedes or equals the right one (positions must originate from the same document). Left text position. Right text position. Returns if the left position is less than or equals to the right position. Returns true if the left position follows or equals the right one (positions must originate from the same document). Left text position. Right text position. Returns if the left position is greater than or equals to the right position. Determines whether the specified is a at the same index on the same page (throws if from a different document). The to compare with the current . True if the specified is equal to the current ; otherwise, false. Generates a hash code combining page and index so the position can be used in hash-based collections. A hash code for the current . Moves this position to match another valid position within the same document. The target position to move to. Must be from the same document. True if the move operation was successful; otherwise, false. Moves to the next position in the document. True if the move to the next position was successful; otherwise, false. Moves to the previous position in the document. True if the move to the previous position was successful; otherwise, false. Moves to the beginning of the next word in the document. True if the move to the next word was successful; otherwise, false. Moves to the beginning of the previous word in the document. True if the move to the previous word was successful; otherwise, false. Moves to the start of the current word. True if the move to the current word start was successful; otherwise, false. Moves to the end of the current word. True if the move to the current word end was successful; otherwise, false. Moves to the start of the current line. True if the move to the line start was successful; otherwise, false. Moves to the end of the current line. True if the move to the line end was successful; otherwise, false. Moves to the corresponding position in the line above the current line. True if the move to the line above was successful; otherwise, false. Moves to the corresponding position in the line below the current line. True if the move to the line below was successful; otherwise, false. Moves to the beginning (first position) of the document. True if the move to the start of the document was successful; otherwise, false. Moves to the end (last position) of the document. True if the move to the end of the document was successful; otherwise, false. Gets the bounding rectangle of the word containing the current position. The bounding rectangle of the current word. Returns a string showing the current word split at the caret position (text before and after the index separated by '@'). A string that represents the current object. Called when TextPosition is changing. Called when TextPosition is changed. Immutable pairing of a start and end defining a contiguous span of text within a fixed document. Gets an empty range with no defined start or end positions. The empty text range. Gets the starting of the range. The start position. Gets the ending of the range. The end position. Indicates whether the range is empty (both start and end are undefined). Is empty. Determines whether another object represents a range with identical start and end positions. An object to compare with this instance. true if obj equals the value of this instance; otherwise, false. Generates a hash code combining the start and end positions. A hash code for the current object. Returns the incline (shear) component to use when constructing the glyph bounding rectangle. Filters out cases where the matrix represents a rotation (90/180/270 deg) or reflection, where using M21 directly would incorrectly stretch the rectangle. Helper class dedicated to handle the logic for rendering the page content with a . Initializes a new instance of the class. The page instance to be rendered. Initializes a new instance of the class. The page instance to be rendered. The execution handler to be used for rendering text. Renders the page content elements. The actual UI renderer implementation. Renders the page content elements located in the current viewport. The actual UI renderer implementation. The current viewport. Renders tiling content elements. The actual UI renderer implementation. The tiling instance. The content rendering context. Renders the normal annotation appearance. This appearance is used when the annotation is not interacting with the user. The appearance is also used for printing the annotation. The actual UI renderer implementation. The annotation instance. Renders the down annotation appearance. This appearance is used when the pointing device of the viewer is pressed or held down within the annotation’s active area. When not present, the annotation normal appearance. The actual UI renderer implementation. The annotation instance. The rendered geometry. The geometry properties. The outlines. The transformation that should be applied to the original outlines collection. The geometry properties that should be applied to the glyphs geometry. Adds new transformation to the current rendering state. The matrix describing the transformation. Disposable object which removes the given transformation once its Dispose method is called. Adds new clipping to the current rendering state. The clipping geometry. Disposable object which removes the given clipping once its Dispose method is called. Renders text from font properties when the font source is not embedded and cannot be provided from the system font files. The context. Renders glyph outlines geometry. The context. Renders geometry. The context. Renders image. The context. The image source. The width of the rendered image. The height of the rendered image. If not null this is the color that should be used when drawing monochrome image source. A helper class dedicated for layout related calculations of a fixed page. Gets the rectangle of the visible region of the page, i.e. the intersection between the MediaBox and the CropBox properties of the page. The visible page content rectangle. Gets the width of the visible page content boundaries. This method considers the rotation of the page. The width of the rotated page content to be displayed. Gets the height of the visible page content boundaries. This method considers the rotation of the page. The height of the rotated page content to be displayed. The text. The font size. The instance describing how to style the text. The horizontal scaling. The geometry properties that should be applied to the text geometry. Manages the current text range selected in a , enabling querying, geometry extraction, and modification of the highlighted content. Raised before the selection range changes so listeners can update related UI state. Raised after the selection range has changed. Gets the anchor (earlier) text position of the current selection, or null when no selection exists. The start position. Gets the focus (later) text position of the current selection, or null when no selection exists. The end position. Gets a value indicating whether no text is currently selected (start and end are identical or both null). true if the start and end positions are the same; otherwise, false. Builds a path geometry outlining the selected text fragments that lie on the specified page for highlighting or custom adorners. The page for which to retrieve the selection geometry. A PathGeometry object representing the visual bounds of the text selection on the specified page. The geometry can be used for highlighting or other visual representations of the selected text. Sets or moves the start anchor of the selection while preserving the current end (or using it when none exists). The start position. Sets or moves the end anchor of the selection while preserving the current start (or using it when none exists). The end position. Defines the selection range using the supplied start and end positions (both must belong to this document). The start position. The end position. Selects the entire document content. Clears any current selection, leaving no selected text. Returns the text within the current selection range using document line separators, or an empty string if none is selected. A string containing the text content within the current selection, or an empty string if no text is selected. Asynchronously retrieves the currently selected text; returns an empty string if another retrieval is already running. A task that represents the asynchronous operation. The task result contains the text content within the current selection. Returns the currently selected text. A string that represents the current object. Central hook point for plugging custom font, image, and CMap providers into document processing; use to swap defaults without changing pipeline code. Supplies predefined CMap data for Adobe character collections to map codes to CIDs/Unicode during PDF import and text extraction. Provider for predefined CMap binaries used with Adobe public character collections; see https://github.com/adobe-type-tools/cmap-resources for available names. Initialize the base for custom providers that supply predefined CMap binaries for CID and Unicode mappings. Get the character code to CID mapping data for the specified predefined CMap name. The name of the predefined CMap. The CMap resource data. Get the character code to Unicode mapping data for the specified predefined CMap name. The name of the predefined CMap. The CMap resource data. Override this to return OpenTypeFontSource for a non-embedded font with the passed fontProperties.FontFamily, etc. A single substitution replaces a single glyph with another single glyph. This is used to render positional glyph variants in Arabic and vertical text in the East Asia. A multiple substitution replaces a single glyph with more than one glyph. This is used to specify actions such as ligature decomposition. An alternate substitution identifies functionally equivalent but different looking forms of a glyph. These glyphs are often referred to as aesthetic alternatives. For example, a font might have five different glyphs for the ampersand symbol, but one would have a default glyph index in the 'cmap' table. The client could use the default glyph or substitute any of the four alternatives. A ligature substitution replaces several glyph indices with a single glyph index, as when an Arabic ligature glyph replaces a string of separate glyphs. When a string of glyphs can be replaced with a single ligature glyph, the first glyph is substituted with the ligature. The remaining glyphs in the string are deleted, this does not include those glyphs that are skipped as a result of lookup flags. Contextual substitution is an extension of the above lookup types, describing glyph substitutions in context — that is, a substitution of one or more glyphs within a certain pattern of glyphs. Each substitution describes one or more input glyph sequences and one or more substitutions to be performed on that sequence. Contextual substitutions can be applied to specific glyph sequences, glyph classes, or sets of glyphs. Chaining contextual substitution, extends the capabilities of contextual substitution. With this, one or more substitutions can be performed on one or more glyphs within a pattern of glyphs (input sequence), by chaining the input sequence to a backtrack and/or lookahead sequence. Each such substitution can be applied in three formats to handle glyphs, glyph classes or glyph sets in the input sequence. Each of these formats can describe one or more of the backtrack, input and lookahead sequences. This lookup type provides a way to access lookup subtables within the GSUB table using 32-bit offsets. This is needed if the total size of the subtables exceeds the 16-bit limits of the various other offsets in the GSUB table. In this specification, the subtable stored at the 32-bit offset location is termed the “extension” subtable. https://learn.microsoft.com/en-us/typography/opentype/spec/gsub#ES Reverse Chaining contextual single substitution, allows one glyph to be substituted with another by chaining input glyph to a backtrack and/or lookahead sequence. The difference between this and other lookup types is that processing of input glyph sequence goes from end to start. Provides alignment utilities for OpenType font table data. Rounds a length up to the next 4-byte boundary per OpenType spec. Returns the number of padding bytes needed to reach the next 4-byte boundary. Returns the number of padding bytes needed to reach the next 2-byte (word) boundary. Initializes a new instance of the class. Font file. Array of cids or character codes, depending of the font encoding. Represents a Font DICT entry in the FDArray for CID-keyed fonts. Each Font DICT has its own Private DICT which may contain local subroutines. Represents FDSelect table that maps glyph IDs to Font DICT indices. Gets the Font DICT index for the specified glyph ID. The glyph ID. The Font DICT index. Represents the FDArray (Font DICT Array) in a CID-keyed CFF font. Contains Font DICTs, each with its own Private DICT and potentially local subroutines. Sets the charstring type for parsing Private DICTs within Font DICTs. Must be called before accessing FontDicts. Gets the Font DICT at the specified index. First glyph index in range Font Dict index for all glyphs in range Gets or sets the current glyph ID being processed. Used for CID fonts to look up the correct Font DICT's Private DICT. This property is used to maintain context during CharString execution. WARNING: This class is not thread-safe. Concurrent glyph processing on the same Top instance may cause incorrect subroutine lookups. The length in bytes of the clear-text portion of the Type 1 font program, or the entire TrueType font program, after it has been decoded using the filters specified by the stream’s Filter entry, if any. The length in bytes of the encrypted portion of the Type 1 font program after it has been decoded using the filters specified by the stream’s Filter entry. The length in bytes of the fixed-content portion of the Type 1 font program after it has been decoded using the filters specified by the stream’s Filter entry. If Length3 is 0, it indicates that the 512 zeros and cleartomark have not been included in the FontFile font program and must be added. Gets the number of bytes required for a CFF DICT operand based on its first byte. The first byte of the operand. The minimum number of bytes required for this operand type. Based on CFF DICT encoding rules: - b0 = 28: 3-byte integer (b0 + 2 bytes) - b0 = 29: 5-byte integer (b0 + 4 bytes) - b0 = 30: variable-length real number (at least 2 bytes) - b0 in [32-246]: 1-byte integer - b0 in [247-250]: 2-byte integer - b0 in [251-254]: 2-byte integer Determines if the given byte represents a Private DICT operator. The byte to check. True if the byte is a Private DICT operator; otherwise, false. Private DICT operators are in the ranges [6-12] and [19-21]. Determines if the given byte represents a Top DICT or Font DICT operator. The byte to check. True if the byte is a Top/Font DICT operator; otherwise, false. Top DICT and Font DICT operators are in the ranges [0-5] and [12-18]. Equals the specified obj. The obj. True if the specified object is equal to the current glyph info; otherwise, false. Returns the hash code for this instance. A hash code for the current object. white run lengths black run lengths private static void setPixel(int col, int row, FastBitSet data, int value) { if (value == 1) data.set(row, col); else data.clear(row, col); }/* Regenerated line info.
Possible values for .CLEANFAXDATA tag.
No errors detected. Receiver regenerated lines. Uncorrected errors exist. Color curve accuracy.
Possible values for .COLORRESPONSEUNIT tag.
Tenths of a unit. Hundredths of a unit. Thousandths of a unit. Ten-thousandths of a unit. Hundred-thousandths. Compression scheme.
Possible values for .COMPRESSION tag.
Dump mode. CCITT modified Huffman RLE. CCITT Group 3 fax encoding. CCITT T.4 (TIFF 6 name for CCITT Group 3 fax encoding). CCITT Group 4 fax encoding. CCITT T.6 (TIFF 6 name for CCITT Group 4 fax encoding). Lempel-Ziv & Welch. Original JPEG / Old-style JPEG (6.0). JPEG DCT compression. Introduced post TIFF rev 6.0. NeXT 2-bit RLE. CCITT RLE. Macintosh RLE. ThunderScan RLE. IT8 CT w/padding. Reserved for ANSI IT8 TIFF/IT. IT8 Linework RLE. Reserved for ANSI IT8 TIFF/IT. IT8 Monochrome picture. Reserved for ANSI IT8 TIFF/IT. IT8 Binary line art. Reserved for ANSI IT8 TIFF/IT. Pixar companded 10bit LZW. Reserved for Pixar. Pixar companded 11bit ZIP. Reserved for Pixar. Deflate compression. Deflate compression, as recognized by Adobe. Kodak DCS encoding. Reserved for Oceana Matrix (dev@oceana.com). ISO JBIG. SGI Log Luminance RLE. SGI Log 24-bit packed. Leadtools JPEG2000. Information about extra samples.
Possible values for .EXTRASAMPLES tag.
Unspecified data. Associated alpha data. Unassociated alpha data. Group 3/4 format control.
Possible values for .FAXMODE tag.
Default, include RTC. No RTC at end of data. No EOL code at end of row. Byte align row. Word align row. TIFF Class F. Subfile data descriptor.
Possible values for .SUBFILETYPE tag.
Reduced resolution version. One page of many. Transparency mask. Data order within a byte.
Possible values for .FILLORDER tag.
Most significant -> least. Least significant -> most. Gray scale curve accuracy.
Possible values for .GRAYRESPONSEUNIT tag.
Tenths of a unit. Hundredths of a unit. Thousandths of a unit. Ten-thousandths of a unit. Hundred-thousandths. Options for CCITT Group 3/4 fax encoding.
Possible values for .GROUP3OPTIONS / TiffTag.T4OPTIONS and TiffTag.GROUP4OPTIONS / TiffTag.T6OPTIONS tags.
Unknown (uninitialized). 2-dimensional coding. Data not compressed. Fill to byte boundary. Inks in separated image.
Possible values for .INKSET tag.
Cyan-magenta-yellow-black color. Multi-ink or hi-fi color. Auto RGB<=>YCbCr convert.
Possible values for .JPEGCOLORMODE tag.
No conversion (default). Do auto conversion. JPEG processing algorithm.
Possible values for .JPEGPROC tag.
Baseline sequential. Huffman coded lossless. Jpeg Tables Mode.
Possible values for .JPEGTABLESMODE tag.
None. Include quantization tables. Include Huffman tables. Kind of data in subfile.
Possible values for .OSUBFILETYPE tag.
Full resolution image data. Reduced size image data. One page of many. Image orientation.
Possible values for .ORIENTATION tag.
Row 0 top, Column 0 lhs. Row 0 top, Column 0 rhs. Row 0 bottom, Column 0 rhs. Row 0 bottom, Column 0 lhs. Row 0 lhs, Column 0 top. Row 0 rhs, Column 0 top. Row 0 rhs, Column 0 bottom. Row 0 lhs, Column 0 bottom. Photometric interpretation.
Possible values for .PHOTOMETRIC tag.
Min value is white. Min value is black. RGB color model. Color map indexed. [obsoleted by TIFF rev. 6.0] Holdout mask. Color separations. CCIR 601. 1976 CIE L*a*b*. ICC L*a*b*. Introduced post TIFF rev 6.0 by Adobe TIFF Technote 4. ITU L*a*b*. CIE Log2(L). CIE Log2(L) (u',v'). Storage organization.
Possible values for .PLANARCONFIG tag.
Unknown (uninitialized). Single image plane. Separate planes of data. Prediction scheme w/ LZW.
Possible values for .PREDICTOR tag.
No prediction scheme used. Horizontal differencing. Floating point predictor. Units of resolutions.
Possible values for .RESOLUTIONUNIT tag.
No meaningful units. English. Metric. Data sample format.
Possible values for .SAMPLEFORMAT tag.
Unsigned integer data Signed integer data IEEE floating point data Untyped data Complex signed int Complex ieee floating Thresholding used on data.
Possible values for .THRESHHOLDING tag.
B&W art scan. Dithered scan. Usually Floyd-Steinberg. Flags that can be passed to method to control printing of data structures that are potentially very large. More than one flag can be used. Bit-or these flags to enable printing multiple items. no extra info strips/tiles info color/gray response curves colormap JPEG Q matrices JPEG AC tables JPEG DC tables TIFF tag definitions. Joris Van Damme maintains TIFF Tag Reference, good source of tag information. It's an overview of known TIFF Tags with properties, short description, and other useful information. Tag placeholder Subfile data descriptor. For the list of possible values, see . [obsoleted by TIFF rev. 5.0]
Kind of data in subfile. For the list of possible values, see .
Image width in pixels. Image height in pixels. Bits per channel (sample). Data compression technique. For the list of possible values, see . Photometric interpretation. For the list of possible values, see . [obsoleted by TIFF rev. 5.0]
Thresholding used on data. For the list of possible values, see .
[obsoleted by TIFF rev. 5.0]
Dithering matrix width.
[obsoleted by TIFF rev. 5.0]
Dithering matrix height.
Data order within a byte. For the list of possible values, see . Name of document which holds for image. Information about image. Scanner manufacturer name. Scanner model name/number. Offsets to data strips. [obsoleted by TIFF rev. 5.0]
Image orientation. For the list of possible values, see .
Samples per pixel. Rows per strip of data. Bytes counts for strips. [obsoleted by TIFF rev. 5.0]
Minimum sample value.
[obsoleted by TIFF rev. 5.0]
Maximum sample value.
Pixels/resolution in x. Pixels/resolution in y. Storage organization. For the list of possible values, see . Page name image is from. X page offset of image lhs. Y page offset of image lhs. [obsoleted by TIFF rev. 5.0]
Byte offset to free block.
[obsoleted by TIFF rev. 5.0]
Sizes of free blocks.
[obsoleted by TIFF rev. 6.0]
Gray scale curve accuracy. For the list of possible values, see .
[obsoleted by TIFF rev. 6.0]
Gray scale response curve.
Options for CCITT Group 3 fax encoding. 32 flag bits. For the list of possible values, see . TIFF 6.0 proper name alias for GROUP3OPTIONS. Options for CCITT Group 4 fax encoding. 32 flag bits. For the list of possible values, see . TIFF 6.0 proper name alias for GROUP4OPTIONS. Units of resolutions. For the list of possible values, see . Page numbers of multi-page. [obsoleted by TIFF rev. 6.0]
Color curve accuracy. For the list of possible values, see .
Colorimetry info. Name & release. Creation date and time. Creator of image. Machine where created. Prediction scheme w/ LZW. For the list of possible values, see . Image white point. Primary chromaticities. RGB map for pallette image. Highlight + shadow info. Tile width in pixels. Tile height in pixels. Offsets to data tiles. Byte counts for tiles. Lines with wrong pixel count. Regenerated line info. For the list of possible values, see . Max consecutive bad lines. Subimage descriptors. Inks in separated image. For the list of possible values, see . ASCII names of inks. Number of inks. 0% and 100% dot codes. Separation target. Information about extra samples. For the list of possible values, see . Data sample format. For the list of possible values, see . Variable MinSampleValue. Variable MaxSampleValue. ClipPath. Introduced post TIFF rev 6.0 by Adobe TIFF technote 2. XClipPathUnits. Introduced post TIFF rev 6.0 by Adobe TIFF technote 2. YClipPathUnits. Introduced post TIFF rev 6.0 by Adobe TIFF technote 2. Indexed. Introduced post TIFF rev 6.0 by Adobe TIFF Technote 3. JPEG table stream. Introduced post TIFF rev 6.0. OPI Proxy. Introduced post TIFF rev 6.0 by Adobe TIFF technote. [obsoleted by Technical Note #2 which specifies a revised JPEG-in-TIFF scheme]
JPEG processing algorithm. For the list of possible values, see .
[obsoleted by Technical Note #2 which specifies a revised JPEG-in-TIFF scheme]
Pointer to SOI marker.
[obsoleted by Technical Note #2 which specifies a revised JPEG-in-TIFF scheme]
JFIF stream length
[obsoleted by Technical Note #2 which specifies a revised JPEG-in-TIFF scheme]
Restart interval length.
[obsoleted by Technical Note #2 which specifies a revised JPEG-in-TIFF scheme]
Lossless proc predictor.
[obsoleted by Technical Note #2 which specifies a revised JPEG-in-TIFF scheme]
Lossless point transform.
[obsoleted by Technical Note #2 which specifies a revised JPEG-in-TIFF scheme]
Q matrice offsets.
[obsoleted by Technical Note #2 which specifies a revised JPEG-in-TIFF scheme]
DCT table offsets.
[obsoleted by Technical Note #2 which specifies a revised JPEG-in-TIFF scheme]
AC coefficient offsets.
RGB -> YCbCr transform. YCbCr subsampling factors. Subsample positioning. For the list of possible values, see . Colorimetry info. XML packet. Introduced post TIFF rev 6.0 by Adobe XMP Specification, January 2004. OPI ImageID. Introduced post TIFF rev 6.0 by Adobe TIFF technote. Image reference points. Private tag registered to Island Graphics. Region-xform tack point. Private tag registered to Island Graphics. Warp quadrilateral. Private tag registered to Island Graphics. Affine transformation matrix. Private tag registered to Island Graphics. [obsoleted by TIFF rev. 6.0]
Use EXTRASAMPLE tag. Private tag registered to SGI.
[obsoleted by TIFF rev. 6.0]
Use SAMPLEFORMAT tag. Private tag registered to SGI.
Z depth of image. Private tag registered to SGI. Z depth/data tile. Private tag registered to SGI. Full image size in X. This tag is set when an image has been cropped out of a larger image. It reflect width of the original uncropped image. The XPOSITION tag can be used to determine the position of the smaller image in the larger one. Private tag registered to Pixar. Full image size in Y. This tag is set when an image has been cropped out of a larger image. It reflect height of the original uncropped image. The YPOSITION can be used to determine the position of the smaller image in the larger one. Private tag registered to Pixar. Texture map format. Used to identify special image modes and data used by Pixar's texture formats. Private tag registered to Pixar. S&T wrap modes. Used to identify special image modes and data used by Pixar's texture formats. Private tag registered to Pixar. Cotan(fov) for env. maps. Used to identify special image modes and data used by Pixar's texture formats. Private tag registered to Pixar. Used to identify special image modes and data used by Pixar's texture formats. Private tag registered to Pixar. Used to identify special image modes and data used by Pixar's texture formats. Private tag registered to Pixar. Device serial number. Private tag registered to Eastman Kodak. Copyright string. This tag is listed in the TIFF rev. 6.0 w/ unknown ownership. IPTC TAG from RichTIFF specifications. Site name. Reserved for ANSI IT8 TIFF/IT. Color seq. [RGB, CMYK, etc]. Reserved for ANSI IT8 TIFF/IT. DDES Header. Reserved for ANSI IT8 TIFF/IT. Raster scanline padding. Reserved for ANSI IT8 TIFF/IT. The number of bits in short run. Reserved for ANSI IT8 TIFF/IT. The number of bits in long run. Reserved for ANSI IT8 TIFF/IT. LW colortable. Reserved for ANSI IT8 TIFF/IT. BP/BL image color switch. Reserved for ANSI IT8 TIFF/IT. BP/BL bg color switch. Reserved for ANSI IT8 TIFF/IT. BP/BL image color value. Reserved for ANSI IT8 TIFF/IT. BP/BL bg color value. Reserved for ANSI IT8 TIFF/IT. MP pixel intensity value. Reserved for ANSI IT8 TIFF/IT. HC transparency switch. Reserved for ANSI IT8 TIFF/IT. Color characterization table. Reserved for ANSI IT8 TIFF/IT. HC usage indicator. Reserved for ANSI IT8 TIFF/IT. Trapping indicator (untrapped = 0, trapped = 1). Reserved for ANSI IT8 TIFF/IT. CMYK color equivalents. Sequence Frame Count. Private tag registered to Texas Instruments. Private tag registered to Adobe for PhotoShop. Pointer to EXIF private directory. This tag is documented in EXIF specification. ICC profile data. ?? Private tag registered to Adobe. ?? JBIG options. Private tag registered to Pixel Magic. Pointer to GPS private directory. This tag is documented in EXIF specification. Encoded Class 2 ses. params. Private tag registered to SGI. Received SubAddr string. Private tag registered to SGI. Receive time (secs). Private tag registered to SGI. Encoded fax ses. params, Table 2/T.30. Private tag registered to SGI. Sample value to Nits. Private tag registered to SGI. Private tag registered to FedEx. Pointer to Interoperability private directory. This tag is documented in EXIF specification. DNG version number. Introduced by Adobe DNG specification. DNG compatibility version. Introduced by Adobe DNG specification. Name for the camera model. Introduced by Adobe DNG specification. Localized camera model name. Introduced by Adobe DNG specification. CFAPattern->LinearRaw space mapping. Introduced by Adobe DNG specification. Spatial layout of the CFA. Introduced by Adobe DNG specification. Lookup table description. Introduced by Adobe DNG specification. Repeat pattern size for the BlackLevel tag. Introduced by Adobe DNG specification. Zero light encoding level. Introduced by Adobe DNG specification. Zero light encoding level differences (columns). Introduced by Adobe DNG specification. Zero light encoding level differences (rows). Introduced by Adobe DNG specification. Fully saturated encoding level. Introduced by Adobe DNG specification. Default scale factors. Introduced by Adobe DNG specification. Origin of the final image area. Introduced by Adobe DNG specification. Size of the final image area. Introduced by Adobe DNG specification. XYZ->reference color space transformation matrix 1. Introduced by Adobe DNG specification. XYZ->reference color space transformation matrix 2. Introduced by Adobe DNG specification. Calibration matrix 1. Introduced by Adobe DNG specification. Calibration matrix 2. Introduced by Adobe DNG specification. Dimensionality reduction matrix 1. Introduced by Adobe DNG specification. Dimensionality reduction matrix 2. Introduced by Adobe DNG specification. Gain applied the stored raw values. Introduced by Adobe DNG specification. Selected white balance in linear reference space. Introduced by Adobe DNG specification. Selected white balance in x-y chromaticity coordinates. Introduced by Adobe DNG specification. How much to move the zero point. Introduced by Adobe DNG specification. Relative noise level. Introduced by Adobe DNG specification. Relative amount of sharpening. Introduced by Adobe DNG specification. How closely the values of the green pixels in the blue/green rows track the values of the green pixels in the red/green rows. Introduced by Adobe DNG specification. Non-linear encoding range. Introduced by Adobe DNG specification. Camera's serial number. Introduced by Adobe DNG specification. Information about the lens. Chroma blur radius. Introduced by Adobe DNG specification. Relative strength of the camera's anti-alias filter. Introduced by Adobe DNG specification. Used by Adobe Camera Raw. Introduced by Adobe DNG specification. Manufacturer's private data. Introduced by Adobe DNG specification. Whether the EXIF MakerNote tag is safe to preserve along with the rest of the EXIF data. Introduced by Adobe DNG specification. Illuminant 1. Introduced by Adobe DNG specification. Illuminant 2. Introduced by Adobe DNG specification. Best quality multiplier. Introduced by Adobe DNG specification. Unique identifier for the raw image data. Introduced by Adobe DNG specification. File name of the original raw file. Introduced by Adobe DNG specification. Contents of the original raw file. Introduced by Adobe DNG specification. Active (non-masked) pixels of the sensor. Introduced by Adobe DNG specification. List of coordinates of fully masked pixels. Introduced by Adobe DNG specification. Used to map cameras's color space into ICC profile space. Introduced by Adobe DNG specification. Used to map cameras's color space into ICC profile space. Introduced by Adobe DNG specification. Introduced by Adobe DNG specification. Introduced by Adobe DNG specification. Undefined tag used by Eastman Kodak, hue shift correction data. [pseudo tag. not written to file]
Group 3/4 format control. For the list of possible values, see .
[pseudo tag. not written to file]
Compression quality level. Quality level is on the IJG 0-100 scale. Default value is 75.
[pseudo tag. not written to file]
Auto RGB<=>YCbCr convert. For the list of possible values, see .
[pseudo tag. not written to file]
For the list of possible values, see . Default is | .
[pseudo tag. not written to file]
G3/G4 fill function.
[pseudo tag. not written to file]
PixarLogCodec I/O data sz.
[pseudo tag. not written to file]
Imager mode & filter. Allocated to Oceana Matrix (dev@oceana.com).
[pseudo tag. not written to file]
Interpolation mode. Allocated to Oceana Matrix (dev@oceana.com).
[pseudo tag. not written to file]
Color balance values. Allocated to Oceana Matrix (dev@oceana.com).
[pseudo tag. not written to file]
Color correction values. Allocated to Oceana Matrix (dev@oceana.com).
[pseudo tag. not written to file]
Gamma value. Allocated to Oceana Matrix (dev@oceana.com).
[pseudo tag. not written to file]
Toe & shoulder points. Allocated to Oceana Matrix (dev@oceana.com).
[pseudo tag. not written to file]
Calibration file description.
[pseudo tag. not written to file]
Compression quality level. Quality level is on the ZLIB 1-9 scale. Default value is -1.
[pseudo tag. not written to file]
PixarLog uses same scale.
[pseudo tag. not written to file]
Area of image to acquire. Allocated to Oceana Matrix (dev@oceana.com).
[pseudo tag. not written to file]
SGILog user data format.
[pseudo tag. not written to file]
SGILog data encoding control.
Exposure time. F number. Exposure program. Spectral sensitivity. ISO speed rating. Optoelectric conversion factor. Exif version. Date and time of original data generation. Date and time of digital data generation. Meaning of each component. Image compression mode. Shutter speed. Aperture. Brightness. Exposure bias. Maximum lens aperture. Subject distance. Metering mode. Light source. Flash. Lens focal length. Subject area. Manufacturer notes. User comments. DateTime subseconds. DateTimeOriginal subseconds. DateTimeDigitized subseconds. Supported Flashpix version. Color space information. Valid image width. Valid image height. Related audio file. Flash energy. Spatial frequency response. Focal plane X resolution. Focal plane Y resolution. Focal plane resolution unit. Subject location. Exposure index. Sensing method. File source. Scene type. CFA pattern. Custom image processing. Exposure mode. White balance. Digital zoom ratio. Focal length in 35 mm film. Scene capture type. Gain control. Contrast. Saturation. Sharpness. Device settings description. Subject distance range. Unique image ID. Tag data type. Note: RATIONALs are the ratio of two 32-bit integer values. Placeholder. For field descriptor searching. 8-bit unsigned integer. 8-bit bytes with last byte null. 16-bit unsigned integer. 32-bit unsigned integer. 64-bit unsigned fraction. 8-bit signed integer. 8-bit untyped data. 16-bit signed integer. 32-bit signed integer. 64-bit signed fraction. 32-bit IEEE floating point. 64-bit IEEE floating point. 32-bit unsigned integer (offset) Subsample positioning.
Possible values for .YCBCRPOSITIONING tag.
As in PostScript Level 2 As in CCIR 601-1 Field bits (flags) for tags. Field bits used to indicate fields that have been set in a directory, and to reference fields when manipulating a directory. This value is used to signify tags that are to be processed but otherwise ignored.
This permits antiquated tags to be quietly read and discarded. Note that a bit is allocated for ignored tags; this is understood by the directory reading logic which uses this fact to avoid special-case handling.
This value is used to signify pseudo-tags.
Pseudo-tags don't normally need field bits since they are not written to an output file (by definition). The library also has express logic to always query a codec for a pseudo-tag so allocating a field bit for one is a waste. If codec wants to promote the notion of a pseudo-tag being set or unset then it can do using internal state flags without polluting the field bit space defined for real tags.
This value is used to signify custom tags. This value is used as a base (starting) value for codec-private tags. Last usable value for field bit. All tags values should be less than this value. Holds a value of a Tiff tag. Simply put, it is a wrapper around System.Object, that helps to deal with unboxing and conversion of types a bit easier. Please take a look at: http://blogs.msdn.com/ericlippert/archive/2009/03/19/representation-and-identity.aspx Gets the value. The value. Retrieves value converted to byte. The value converted to byte. Retrieves value converted to short. The value converted to short. Retrieves value converted to ushort. The value converted to ushort. Retrieves value converted to int. The value converted to int. Retrieves value converted to uint. The value converted to uint. Retrieves value converted to float. The value converted to float. Retrieves value converted to double. The value converted to double. Retrieves value converted to string. A that represents this instance. If value is a byte array, then it gets converted to string using Latin1 encoding encoder. Retrieves value converted to byte array. Value converted to byte array. If value is byte array then it retrieved unaltered. If value is array of short, ushort, int, uint, float or double values then this array is converted to byte array If value is a string then it gets converted to byte array using Latin1 encoding encoder. If value is of any other type then null is returned. Retrieves value converted to array of bytes. Value converted to array of bytes. If value is array of bytes then it retrieved unaltered. If value is array of short, ushort, int or uint values then each element of field value gets converted to byte and added to resulting array. If value is string then it gets converted to byte[] using Latin1 encoding encoder. If value is of any other type then null is returned. Retrieves value converted to array of short values. Value converted to array of short values. If value is array of short values then it retrieved unaltered. If value is array of bytes then each pair of bytes is converted to short and added to resulting array. If value contains odd amount of bytes, then null is returned. If value is array of ushort, int or uint values then each element of field value gets converted to short and added to resulting array. If value is of any other type then null is returned. Retrieves value converted to array of ushort values. Value converted to array of ushort values. If value is array of ushort values then it retrieved unaltered. If value is array of bytes then each pair of bytes is converted to ushort and added to resulting array. If value contains odd amount of bytes, then null is returned. If value is array of short, int or uint values then each element of field value gets converted to ushort and added to resulting array. If value is of any other type then null is returned. Retrieves value converted to array of int values. Value converted to array of int values. If value is array of int values then it retrieved unaltered. If value is array of bytes then each 4 bytes are converted to int and added to resulting array. If value contains amount of bytes that can't be divided by 4 without remainder, then null is returned. If value is array of short, ushort or uint values then each element of field value gets converted to int and added to resulting array. If value is of any other type then null is returned. Retrieves value converted to array of uint values. Value converted to array of uint values. If value is array of uint values then it retrieved unaltered. If value is array of bytes then each 4 bytes are converted to uint and added to resulting array. If value contains amount of bytes that can't be divided by 4 without remainder, then null is returned. If value is array of short, ushort or int values then each element of field value gets converted to uint and added to resulting array. If value is of any other type then null is returned. Retrieves value converted to array of float values. Value converted to array of float values. If value is array of float values then it retrieved unaltered. If value is array of bytes then each 4 bytes are converted to float and added to resulting array. If value contains amount of bytes that can't be divided by 4 without remainder, then null is returned. If value is array of double values then each element of field value gets converted to float and added to resulting array. If value is of any other type then null is returned. Retrieves value converted to array of double values. Value converted to array of double values. If value is array of double values then it retrieved unaltered. If value is array of bytes then each 8 bytes are converted to double and added to resulting array. If value contains amount of bytes that can't be divided by 8 without remainder, then null is returned. If value is array of float values then each element of field value gets converted to double and added to resulting array. If value is of any other type then null is returned. Gets a value indicating whether this codec can encode data. true if this codec can encode data; otherwise, false. Gets a value indicating whether this codec can decode data. true if this codec can decode data; otherwise, false. Prepares the decoder part of the codec for a decoding. The zero-based sample plane index. true if this codec successfully prepared its decoder part and ready to decode data; otherwise, false. PreDecode is called after and before decoding. Decodes one row of image data. The buffer to place decoded image data to. The zero-based byte offset in at which to begin storing decoded bytes. The number of decoded bytes that should be placed to The zero-based sample plane index. true if image data was decoded successfully; otherwise, false. Decodes one strip of image data. The buffer to place decoded image data to. The zero-based byte offset in at which to begin storing decoded bytes. The number of decoded bytes that should be placed to The zero-based sample plane index. true if image data was decoded successfully; otherwise, false. Decodes one tile of image data. The buffer to place decoded image data to. The zero-based byte offset in at which to begin storing decoded bytes. The number of decoded bytes that should be placed to The zero-based sample plane index. true if image data was decoded successfully; otherwise, false. Setups the encoder part of the codec. true if this codec successfully setup its encoder part and can encode data; otherwise, false. SetupEncode is called once before . Prepares the encoder part of the codec for a encoding. The zero-based sample plane index. true if this codec successfully prepared its encoder part and ready to encode data; otherwise, false. PreEncode is called after and before encoding. Performs any actions after encoding required by the codec. true if all post-encode actions succeeded; otherwise, false PostEncode is called after encoding and can be used to release any external resources needed during encoding. Encodes one row of image data. The buffer with image data to be encoded. The zero-based byte offset in at which to begin read image data. The maximum number of encoded bytes that can be placed to The zero-based sample plane index. true if image data was encoded successfully; otherwise, false. Encodes one strip of image data. The buffer with image data to be encoded. The zero-based byte offset in at which to begin read image data. The maximum number of encoded bytes that can be placed to The zero-based sample plane index. true if image data was encoded successfully; otherwise, false. Encodes one tile of image data. The buffer with image data to be encoded. The zero-based byte offset in at which to begin read image data. The maximum number of encoded bytes that can be placed to The zero-based sample plane index. true if image data was encoded successfully; otherwise, false. Flushes any internal data buffers and terminates current operation. Cleanups the state of the codec. Cleanup is called when codec is no longer needed (won't be used) and can be used for example to restore tag methods that were substituted. Decode the requested amount of G3 1D-encoded data. Decode the requested amount of G3 2D-encoded data. Encode a buffer of pixels. Decode the requested amount of RLE-encoded data. Decode the requested amount of G4-encoded data. Encode the requested amount of data. Gets a value indicating whether this codec can encode data. true if this codec can encode data; otherwise, false. Gets a value indicating whether this codec can decode data. true if this codec can decode data; otherwise, false. Decodes one row of image data. The buffer to place decoded image data to. The zero-based byte offset in at which to begin storing decoded bytes. The number of decoded bytes that should be placed to The zero-based sample plane index. true if image data was decoded successfully; otherwise, false. Decodes one strip of image data. The buffer to place decoded image data to. The zero-based byte offset in at which to begin storing decoded bytes. The number of decoded bytes that should be placed to The zero-based sample plane index. true if image data was decoded successfully; otherwise, false. Decodes one tile of image data. The buffer to place decoded image data to. The zero-based byte offset in at which to begin storing decoded bytes. The number of decoded bytes that should be placed to The zero-based sample plane index. true if image data was decoded successfully; otherwise, false. Prepares the encoder part of the codec for a encoding. The zero-based sample plane index. true if this codec successfully prepared its encoder part and ready to encode data; otherwise, false. PreEncode is called after and before encoding. Encodes one row of image data. The buffer with image data to be encoded. The zero-based byte offset in at which to begin read image data. The maximum number of encoded bytes that can be placed to The zero-based sample plane index. true if image data was encoded successfully; otherwise, false. Encodes one strip of image data. The buffer with image data to be encoded. The zero-based byte offset in at which to begin read image data. The maximum number of encoded bytes that can be placed to The zero-based sample plane index. true if image data was encoded successfully; otherwise, false. Encodes one tile of image data. The buffer with image data to be encoded. The zero-based byte offset in at which to begin read image data. The maximum number of encoded bytes that can be placed to The zero-based sample plane index. true if image data was encoded successfully; otherwise, false. Encode a rectangular chunk of pixels. We break it up into row-sized pieces to insure that encoded runs do not span rows. Otherwise, there can be problems with the decoder if data is read, for example, by scanlines when it was encoded by strips. CIE Lab 1976->RGB support Size of conversion table Conversion of Yr to r Conversion of Yg to g Conversion of Yb to b Internal format of a TIFF directory entry. bit vector of fields that are set size of offset and bytecount arrays is the bytecount array sorted ascending? TIFF Image File Directories are comprised of a table of field descriptors of the form shown below. The table is sorted in ascending order by tag. The values associated with each entry are disjoint and may appear anywhere in the file (so long as they are placed on a word boundary). If the value is 4 bytes or less, then it is placed in the offset field to save space. If the value is less than 4 bytes, it is left-justified in the offset field. number of items; length in spec byte offset to field data Structure for holding information about a display device. XYZ -> luminance matrix Use MSB2LSB (most significant -> least) fill order Use LSB2MSB (least significant -> most) fill order natural bit fill order for machine current directory must be written data buffers setup encoder/decoder setup done written 1+ scanlines to file byte swap file information inhibit bit reversal logic my raw data buffer; free on close file is tile, not strip- based need call to postencode routine currently writing a subifd library is doing data up-sampling enable strip chopping support read header only, do not process the first directory skip reading of raw uncompressed image data magic number (defines byte order) TIFF version number byte offset to first directory Convert color value from the YCbCr space to CIE XYZ. The colorspace conversion algorithm comes from the IJG v5a code; see below for more information on how it works. range clamping table Tag Image File Format (TIFF) Based on Rev 6.0 from Client Tag extension support (from Niles Ritter). Compression schemes statically built into the library. NB: THIS ARRAY IS ASSUMED TO BE SORTED BY TAG. If a tag can have both LONG and SHORT types then the LONG must be placed before the SHORT for writing to work properly. NOTE: The second field (field_readcount) and third field (field_writecount) sometimes use the values TiffFieldInfo.Variable (-1), TiffFieldInfo.Variable2 (-3) and TiffFieldInfo.Spp (-2). These values should be used but would throw off the formatting of the code, so please interpret the -1, -2 and -3 values accordingly. Checks the directory offset against the list of already seen directory offsets. This is a trick to prevent IFD looping. The one can create TIFF file with looped directory pointers. We will maintain a list of already seen directories and check every IFD offset against that list. Reads IFD structure from the specified offset. The number of fields in the directory or 0 if failed. Fetches a contiguous directory item. Fetches an ASCII item from the file. Fetch a single floating point value from the offset field and return it as a native float. Fetches an array of BYTE or SBYTE values. Fetch an array of SHORT or SSHORT values. Fetches an array of LONG or SLONG values. Fetch an array of RATIONAL or SRATIONAL values. Fetches an array of FLOAT values. Fetches an array of DOUBLE values. Fetches an array of ANY values. The actual values are returned as doubles which should be able hold all the types. Note in particular that we assume that the double return value vector is large enough to read in any fundamental type. We use that vector as a buffer to read in the base type vector and then convert it in place to double (from end to front of course). Fetches a tag that is not handled by special case code. Fetches samples/pixel short values for the specified tag and verify that all values are the same. Fetches samples/pixel long values for the specified tag and verify that all values are the same. Fetches samples/pixel ANY values for the specified tag and verify that all values are the same. Fetches a set of offsets or lengths. While this routine says "strips", in fact it's also used for tiles. Fetches and sets the RefBlackWhite tag. Replace a single strip (tile) of uncompressed data with multiple strips (tiles), each approximately 8Kbytes. This is useful for dealing with large images or for dealing with machines with a limited amount of memory. Writes the contents of the current directory to the specified file. This routine doesn't handle overwriting a directory with auxiliary storage that's been changed. Writes tags that are not special cased. Setups a directory entry with either a SHORT or LONG type according to the value. Setups a SHORT directory entry Setup a directory entry for an NxM table of shorts, where M is known to be 2**bitspersample, and write the associated indirect data. Write/copy data associated with an ASCII or opaque tag value. Setup a directory entry of an array of SHORT or SSHORT and write the associated indirect values. Setup a directory entry of an array of LONG or SLONG and write the associated indirect values. Setup a directory entry of an array of RATIONAL or SRATIONAL and write the associated indirect values. Writes an array of "type" values for a specified tag (i.e. this is a tag which is allowed to have different types, e.g. SMaxSampleType). Internally the data values are represented as double since a double can hold any of the TIFF tag types (yes, this should really be an abstract type tany_t for portability). The data is converted into the specified type in a temporary buffer and then handed off to the appropriate array writer. Writes a contiguous directory item. Link the current directory into the directory chain for the file. Support strip chopping (whether or not to convert single-strip uncompressed images to mutiple strips of ~8Kb to reduce memory usage) Treat extra sample as alpha (default enabled). The RGBA interface will treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many packages produce RGBA files but don't mark the alpha properly. Pick up YCbCr subsampling info from the JPEG data stream to support files lacking the tag (default enabled). name of open file open mode (O_*) file offset of current directory internal rep of current directory current scanline current strip for read/write current tile for read/write # of bytes in a tile # of bytes in a scanline raw data buffer # of bytes in raw data buffer current spot in raw buffer bytes unread from raw buffer callback parameter post decoding method type tag get/set/print routines file offset of following directory list of offsets to already seen directories to prevent IFD looping number of entires in offset list number of already seen directories file's header block data type shift counts data type masks current directory (index) current offset for read/write current offset for writing dir remaining subifds to write offset for patching SubIFD link current column (offset by row too) sorted table of registered tags # entries in registered tag table cached pointer to already found tag extra client information. stream used for read|write|etc. Writes custom directory. See ticket #51. Output directory offset. true if succeeded; otherwise, false post decoding routine undefined state undefined state Set state to appear as if a strip has just been read in. Read the specified strip and setup for decoding. The data buffer is expanded, as necessary, to hold the strip's data. Read the specified tile and setup for decoding. The data buffer is expanded, as necessary, to hold the tile's data. Appends the data to the specified strip. Delegate for LibTiff.Net extender method An instance of the class. Extender method is usually used for registering custom tags. To setup extender method that will be called upon creation of each instance of object please use method. Delegate for a method used to image decoded spans. The buffer to place decoded image data to. The zero-based byte offset in at which to begin storing decoded bytes. The array of black and white run lengths (white then black). The zero-based offset in array at which current row's run begins. The zero-based offset in array at which next row's run begins. The width in pixels of the row. To override the default method used to image decoded spans please set tag with an instance of this delegate. Fill methods can assume the array has room for at least runs and can overwrite data in the array as needed (e.g. to append zero runs to bring the count up to a nice multiple). Gets the library version string. The library version string. Gets the version of the library's assembly. The version of the library's assembly. Gets the R component from ABGR value returned by ReadRGBAImage. The ABGR value. The R component from ABGR value. Gets the G component from ABGR value returned by ReadRGBAImage. The ABGR value. The G component from ABGR value. Gets the B component from ABGR value returned by ReadRGBAImage. The ABGR value. The B component from ABGR value. Gets the A component from ABGR value returned by ReadRGBAImage. The ABGR value. The A component from ABGR value. Retrieves the codec registered for the specified compression scheme. The compression scheme. The codec registered for the specified compression scheme or null if there is no codec registered for the given scheme. LibTiff.Net supports a variety of compression schemes implemented by software codecs. Each codec adheres to a modular interface that provides for the decoding and encoding of image data; as well as some other methods for initialization, setup, cleanup, and the control of default strip and tile sizes. Codecs are identified by the associated value of the .COMPRESSION tag. Other compression schemes may be registered. Registered schemes can also override the built-in versions provided by the library. Adds specified codec to a list of registered codec. The codec to register. This method can be used to augment or override the set of codecs available to an application. If the is for a scheme that already has a registered codec then it is overridden and any images with data encoded with this compression scheme will be decoded using the supplied codec. Removes specified codec from a list of registered codecs. The codec to remove from a list of registered codecs. Checks whether library has working codec for the specific compression scheme. The scheme to check. true if the codec is configured and working; otherwise, false. Retrieves an array of configured codecs, both built-in and registered by user. An array of configured codecs. Allocates new byte array of specified size and copies data from the existing to the new array. The existing array. The number of elements in new array. The new byte array of specified size with data from the existing array. Allocates new array of specified size and copies data from the existing to the new array. Allocates new integer array of specified size and copies data from the existing to the new array. The existing array. The number of elements in new array. The new integer array of specified size with data from the existing array. Size of the array is in elements, not bytes. Compares specified number of elements in two arrays. The first array to compare. The second array to compare. The number of elements to compare. The difference between compared elements or 0 if all elements are equal. Initializes new instance of class and opens a TIFF file for reading or writing. The name of the file to open. The open mode. Specifies if the file is to be opened for reading ("r"), writing ("w"), or appending ("a") and, optionally, whether to override certain default aspects of library operation (see remarks). The new instance of class if specified file is successfully opened; otherwise, null. opens a TIFF file whose name is . When a file is opened for appending, existing data will not be touched; instead new data will be written as additional subfiles. If an existing file is opened for writing, all previous data is overwritten. If a file is opened for reading, the first TIFF directory in the file is automatically read (see for reading directories other than the first). If a file is opened for writing or appending, a default directory is automatically created for writing subsequent data. This directory has all the default values specified in TIFF Revision 6.0: BitsPerSample = 1, ThreshHolding = Threshold.BILEVEL (bilevel art scan), FillOrder = MSB2LSB (most significant bit of each data byte is filled first), Orientation = TOPLEFT (the 0th row represents the visual top of the image, and the 0th column represents the visual left hand side), SamplesPerPixel = 1, RowsPerStrip = infinity, ResolutionUnit = INCH, and Compression = NONE. To alter these values, or to define values for additional fields, must be used. The parameter can include the following flags in addition to the "r", "w", and "a" flags. Note however that option flags must follow the read-write-append specification. FlagDescription l When creating a new file force information be written with Little-Endian byte order (but see below). b When creating a new file force information be written with Big-Endian byte order (but see below). L Force image data that is read or written to be treated with bits filled from Least Significant Bit (LSB) to Most Significant Bit (MSB). Note that this is the opposite to the way the library has worked from its inception. B Force image data that is read or written to be treated with bits filled from Most Significant Bit (MSB) to Least Significant Bit (LSB); this is the default. H Force image data that is read or written to be treated with bits filled in the same order as the native CPU. C Enable the use of "strip chopping" when reading images that are comprised of a single strip or tile of uncompressed data. Strip chopping is a mechanism by which the library will automatically convert the single-strip image to multiple strips, each of which has about 8 Kilobytes of data. This facility can be useful in reducing the amount of memory used to read an image because the library normally reads each strip in its entirety. Strip chopping does however alter the apparent contents of the image because when an image is divided into multiple strips it looks as though the underlying file contains multiple separate strips. The default behaviour is to enable strip chopping. c Disable the use of strip chopping when reading images. h Read TIFF header only, do not load the first image directory. That could be useful in case of the broken first directory. We can open the file and proceed to the other directories. By default the library will create new files with the native byte-order of the CPU on which the application is run. This ensures optimal performance and is portable to any application that conforms to the TIFF specification. To force the library to use a specific byte-order when creating a new file the "b" and "l" option flags may be included in the parameter; for example, "wb" or "wl". The use of the "l" and "b" flags is strongly discouraged. These flags are provided solely because numerous vendors do not correctly support TIFF; they only support one of the two byte orders. It is strongly recommended that you not use this feature except to deal with busted apps that write invalid TIFF. The "L", "B", and "H" flags are intended for applications that can optimize operations on data by using a particular bit order. By default the library returns data in MSB2LSB bit order. Returning data in the bit order of the native CPU makes the most sense but also requires applications to check the value of the tag; something they probably do not do right now. The "c" option permits applications that only want to look at the tags, for example, to get the unadulterated TIFF tag information. Initializes new instance of class and opens a stream with TIFF data for reading or writing. The name for the new instance of class. The open mode. Specifies if the file is to be opened for reading ("r"), writing ("w"), or appending ("a") and, optionally, whether to override certain default aspects of library operation (see remarks for method for the list of the mode flags). Some client data. This data is passed as parameter to every method of the object specified by the parameter. An instance of the class to use for reading, writing and seeking of TIFF data. The new instance of class if stream is successfully opened; otherwise, null. This method can be used to read TIFF data from sources other than file. When custom stream class derived from is used it is possible to read (or write) TIFF data that reside in memory, database, etc. Please note, that is an arbitrary string used as ID for the created . It's not required to be a file name or anything meaningful at all. Please read remarks for method for the list of option flags that can be specified in parameter. Closes a previously opened TIFF file. This method closes a file or stream that was previously opened with or . Any buffered data are flushed to the file/stream, including the contents of the current directory (if modified); and all resources are reclaimed. Frees and releases all resources allocated by this . Gets the number of elements in the custom tag list. The number of elements in the custom tag list. Retrieves the custom tag with specified index. The zero-based index of a custom tag to retrieve. The custom tag with specified index. Merges given field information to existing one. The array of objects. The number of items to use from the array. Retrieves field information for the specified tag. The tag to retrieve field information for. The tiff data type to use us additional filter. The field information for specified tag with specified type or null if the field information wasn't found. Retrieves field information for the tag with specified name. The name of the tag to retrieve field information for. The tiff data type to use us additional filter. The field information for specified tag with specified type or null if the field information wasn't found. Retrieves field information for the specified tag. The tag to retrieve field information for. The field information for specified tag or null if the field information wasn't found. Retrieves field information for the tag with specified name. The name of the tag to retrieve field information for. The field information for specified tag or null if the field information wasn't found. Gets the currently used tag methods. The currently used tag methods. Sets the new tag methods to use. Tag methods. The previously used tag methods. Gets the extra information with specified name associated with this . Name of the extra information to retrieve. The extra information with specified name associated with this or null if extra information with specified name was not found. Associates extra information with this . The information to associate with this . The name (label) of the information. If there is already an extra information with the name specified by it will be replaced by the information specified by . Flushes pending writes to an open TIFF file. true if succeeded; otherwise, false causes any pending writes for the specified file (including writes for the current directory) to be done. In normal operation this call is never needed − the library automatically does any flushing required. Flushes any pending image data for the specified file to be written out. true if succeeded; otherwise, false flushes any pending image data for the specified file to be written out; directory-related data are not flushed. In normal operation this call is never needed − the library automatically does any flushing required. Gets the value(s) of a tag in an open TIFF file. The tag. The value(s) of a tag in an open TIFF file as array of objects or null if there is no such tag set. returns the value(s) of a tag or pseudo-tag associated with the current directory of the opened TIFF file. The tag is identified by . The type and number of values returned is dependent on the tag being requested. You may want to consult "Well-known tags and their value(s) data types" to become familiar with exact data types and calling conventions required for each tag supported by the library. A pseudo-tag is a parameter that is used to control the operation of the library but whose value is not read or written to the underlying file. Gets the value(s) of a tag in an open TIFF file or default value(s) of a tag if a tag is not defined in the current directory and it has a default value(s). The tag. The value(s) of a tag in an open TIFF file as array of objects or null if there is no such tag set and tag has no default value. returns the value(s) of a tag or pseudo-tag associated with the current directory of the opened TIFF file or default value(s) of a tag if a tag is not defined in the current directory and it has a default value(s). The tag is identified by . The type and number of values returned is dependent on the tag being requested. You may want to consult "Well-known tags and their value(s) data types" to become familiar with exact data types and calling conventions required for each tag supported by the library. A pseudo-tag is a parameter that is used to control the operation of the library but whose value is not read or written to the underlying file. Reads the contents of the next TIFF directory in an open TIFF file/stream and makes it the current directory. true if directory was successfully read; otherwise, false if an error was encountered, or if there are no more directories to be read. Directories are read sequentially. Applications only need to call to read multiple subfiles in a single TIFF file/stream - the first directory in a file/stream is automatically read when or is called. The images that have a single uncompressed strip or tile of data are automatically treated as if they were made up of multiple strips or tiles of approximately 8 kilobytes each. This operation is done only in-memory; it does not alter the contents of the file/stream. However, the construction of the "chopped strips" is visible to the application through the number of strips returned by or the number of tiles returned by . Reads a custom directory from the arbitrary offset within file/stream. The directory offset. The array of objects to merge to existing field information. The number of items to use from the array. true if a custom directory was read successfully; otherwise, false Reads an EXIF directory from the given offset within file/stream. The directory offset. true if an EXIF directory was read successfully; otherwise, false Calculates the size in bytes of a row of data as it would be returned in a call to , or as it would be expected in a call to . The size in bytes of a row of data. ScanlineSize calculates size for one sample plane only. Please use if you want to get size in bytes of a complete decoded and packed raster scanline. Calculates the size in bytes of a complete decoded and packed raster scanline. The size in bytes of a complete decoded and packed raster scanline. The value returned by RasterScanlineSize may be different from the value returned by if data is stored as separate planes ( = .SEPARATE). Computes the number of rows for a reasonable-sized strip according to the current settings of the , and tags and any compression-specific requirements. The esimated value (may be zero). The number of rows for a reasonable-sized strip according to the current tag settings and compression-specific requirements. If the parameter is non-zero, then it is taken as an estimate of the desired strip size and adjusted according to any compression-specific requirements. The value returned by DefaultStripSize is typically used to define the tag. If there is no any unusual requirements DefaultStripSize tries to create strips that have approximately 8 kilobytes of uncompressed data. Computes the number of bytes in a row-aligned strip. The number of bytes in a row-aligned strip StripSize returns the equivalent size for a strip of data as it would be returned in a call to or as it would be expected in a call to . If the value of the field corresponding to is larger than the recorded , then the strip size is truncated to reflect the actual space required to hold the strip. Computes the number of bytes in a row-aligned strip with specified number of rows. The number of rows in a strip. The number of bytes in a row-aligned strip with specified number of rows. Computes the number of bytes in a raw (i.e. not decoded) strip. The zero-based index of a strip. The number of bytes in a raw strip. Computes which strip contains the specified coordinates (row, plane). The row. The sample plane. The number of the strip that contains the specified coordinates. A valid strip number is always returned; out-of-range coordinate values are clamped to the bounds of the image. The parameter is always used in calculating a strip. The parameter is used only if data are organized in separate planes ( = .SEPARATE). Retrives the number of strips in the image. The number of strips in the image. Computes the pixel width and height of a reasonable-sized tile suitable for setting up the and tags. The proposed tile width upon the call / tile width to use after the call. The proposed tile height upon the call / tile height to use after the call. If the and values passed in are non-zero, then they are adjusted to reflect any compression-specific requirements. The returned width and height are constrained to be a multiple of 16 pixels to conform with the TIFF specification. Compute the number of bytes in a row-aligned tile. The number of bytes in a row-aligned tile. TileSize returns the equivalent size for a tile of data as it would be returned in a call to or as it would be expected in a call to . Computes the number of bytes in a row-aligned tile with specified number of rows. The number of rows in a tile. The number of bytes in a row-aligned tile with specified number of rows. Computes the number of bytes in a raw (i.e. not decoded) tile. The zero-based index of a tile. The number of bytes in a raw tile. Compute the number of bytes in each row of a tile. The number of bytes in each row of a tile. Computes which tile contains the specified coordinates (x, y, z, plane). The x-coordinate. The y-coordinate. The z-coordinate. The sample plane. The number of the tile that contains the specified coordinates. A valid tile number is always returned; out-of-range coordinate values are clamped to the bounds of the image. The and parameters are always used in calculating a tile. The parameter is used if the image is deeper than 1 slice ( > 1). The parameter is used only if data are organized in separate planes ( = .SEPARATE). Checks whether the specified (x, y, z, plane) coordinates are within the bounds of the image. The x-coordinate. The y-coordinate. The z-coordinate. The sample plane. true if the specified coordinates are within the bounds of the image; otherwise, false. The parameter is checked against the value of the tag. The parameter is checked against the value of the tag. The parameter is checked against the value of the tag (if defined). The parameter is checked against the value of the tag if the data are organized in separate planes. Retrives the number of tiles in the image. The number of tiles in the image. Returns the custom client data associated with this . The custom client data associated with this . Asscociates a custom data with this . The data to associate. The previously associated data. Gets the mode with which the underlying file or stream was opened. The mode with which the underlying file or stream was opened. Sets the new mode for the underlying file or stream. The new mode for the underlying file or stream. The previous mode with which the underlying file or stream was opened. Gets the value indicating whether the image data of this has a tiled organization. true if the image data of this has a tiled organization or false if the image data of this is organized in strips. Gets the value indicating whether the image data was in a different byte-order than the host computer. true if the image data was in a different byte-order than the host computer or false if the TIFF file/stream and local host byte-orders are the same. Note that , , and methods already normally perform byte swapping to local host order if needed. Also note that and do not perform byte swapping to local host order. Gets the value indicating whether the image data returned through the read interface methods is being up-sampled. true if the data is returned up-sampled; otherwise, false. The value returned by this method can be useful to applications that want to calculate I/O buffer sizes to reflect this usage (though the usual strip and tile size routines already do this). Gets the value indicating whether the image data is being returned in MSB-to-LSB bit order. true if the data is being returned in MSB-to-LSB bit order (i.e with bit 0 as the most significant bit); otherwise, false. Gets the value indicating whether given image data was written in big-endian order. true if given image data was written in big-endian order; otherwise, false. Gets the tiff stream. The tiff stream. Gets the current row that is being read or written. The current row that is being read or written. The current row is updated each time a read or write is done. Gets the zero-based index of the current directory. The zero-based index of the current directory. The zero-based index returned by this method is suitable for use with the method. Gets the number of directories in a file. The number of directories in a file. Retrieves the file/stream offset of the current directory. The file/stream offset of the current directory. Gets the current strip that is being read or written. The current strip that is being read or written. The current strip is updated each time a read or write is done. Gets the current tile that is being read or written. The current tile that is being read or written. The current tile is updated each time a read or write is done. Sets up the data buffer used to read raw (encoded) data from a file. The data buffer. The buffer size. This method is provided for client-control of the I/O buffers used by the library. Applications need never use this method; it's provided only for "intelligent clients" that wish to optimize memory usage and/or eliminate potential copy operations that can occur when working with images that have data stored without compression. If the is null, then a buffer of appropriate size is allocated by the library. Otherwise, the caller must guarantee that the buffer is large enough to hold any individual strip of raw data. Sets up the data buffer used to write raw (encoded) data to a file. The data buffer. The buffer size. This method is provided for client-control of the I/O buffers used by the library. Applications need never use this method; it's provided only for "intelligent clients" that wish to optimize memory usage and/or eliminate potential copy operations that can occur when working with images that have data stored without compression. If the is -1 then the buffer size is selected to hold a complete tile or strip, or at least 8 kilobytes, whichever is greater. If the is null, then a buffer of appropriate size is allocated by the library. Setups the strips. true if setup successfully; otherwise, false Verifies that file/stream is writable and that the directory information is setup properly. If set to true then ability to write tiles will be verified; otherwise, ability to write strips will be verified. The name of the calling method. true if file/stream is writeable and the directory information is setup properly; otherwise, false Releases storage associated with current directory. Creates a new directory within file/stream. The newly created directory will not exist on the file/stream till , , or is called. Returns an indication of whether the current directory is the last directory in the file. true if current directory is the last directory in the file; otherwise, false. Sets the directory with specified number as the current directory. The zero-based number of the directory to set as the current directory. true if the specified directory was set as current successfully; otherwise, false SetDirectory changes the current directory and reads its contents with . Sets the directory at specified file/stream offset as the current directory. The offset from the beginnig of the file/stream to the directory to set as the current directory. true if the directory at specified file offset was set as current successfully; otherwise, false SetSubDirectory acts like , except the directory is specified as a file offset instead of an index; this is required for accessing subdirectories linked through a SubIFD tag (e.g. thumbnail images). Unlinks the specified directory from the directory chain. The zero-based number of the directory to unlink. true if directory was unlinked successfully; otherwise, false. UnlinkDirectory does not removes directory bytes from the file/stream. It only makes them unused. Sets the value(s) of a tag in a TIFF file/stream open for writing. The tag. The tag value(s). true if tag value(s) were set successfully; otherwise, false. SetField sets the value of a tag or pseudo-tag in the current directory associated with the open TIFF file/stream. To set the value of a field the file/stream must have been previously opened for writing with or ; pseudo-tags can be set whether the file was opened for reading or writing. The tag is identified by . The type and number of values in is dependent on the tag being set. You may want to consult "Well-known tags and their value(s) data types" to become familiar with exact data types and calling conventions required for each tag supported by the library. A pseudo-tag is a parameter that is used to control the operation of the library but whose value is not read or written to the underlying file. The field will be written to the file when/if the directory structure is updated. Writes the contents of the current directory to the file and setup to create a new subfile (page) in the same file. true if the current directory was written successfully; otherwise, false Applications only need to call WriteDirectory when writing multiple subfiles (pages) to a single TIFF file. WriteDirectory is automatically called by and to write a modified directory if the file is open for writing. Writes the current state of the TIFF directory into the file to make what is currently in the file/stream readable. true if the current directory was rewritten successfully; otherwise, false Unlike , CheckpointDirectory does not free up the directory data structures in memory, so they can be updated (as strips/tiles are written) and written again. Reading such a partial file you will at worst get a TIFF read error for the first strip/tile encountered that is incomplete, but you will at least get all the valid data in the file before that. When the file is complete, just use as usual to finish it off cleanly. Rewrites the contents of the current directory to the file and setup to create a new subfile (page) in the same file. true if the current directory was rewritten successfully; otherwise, false The RewriteDirectory operates similarly to , but can be called with directories previously read or written that already have an established location in the file. It will rewrite the directory, but instead of place it at it's old location (as would) it will place them at the end of the file, correcting the pointer from the preceeding directory or file header to point to it's new location. This is particularly important in cases where the size of the directory and pointed to data has grown, so it won’t fit in the space available at the old location. Note that this will result in the loss of the previously used directory space. Prints formatted description of the contents of the current directory to the specified stream. Prints formatted description of the contents of the current directory to the specified stream possibly using specified print options. The stream. Prints formatted description of the contents of the current directory to the specified stream using specified print (formatting) options. The stream. The print (formatting) options. Reads and decodes a scanline of data from an open TIFF file/stream. Reads and decodes a scanline of data from an open TIFF file/stream. The buffer to place read and decoded image data to. The zero-based index of scanline (row) to read. true if image data were read and decoded successfully; otherwise, false ReadScanline reads the data for the specified into the user supplied data buffer . The data are returned decompressed and, in the native byte- and bit-ordering, but are otherwise packed (see further below). The must be large enough to hold an entire scanline of data. Applications should call the to find out the size (in bytes) of a scanline buffer. Applications should use or and specify correct sample plane if image data are organized in separate planes ( = .SEPARATE). The library attempts to hide bit- and byte-ordering differences between the image and the native machine by converting data to the native machine order. Bit reversal is done if the value of tag is opposite to the native machine bit order. 16- and 32-bit samples are automatically byte-swapped if the file was written with a byte order opposite to the native machine byte order. Reads and decodes a scanline of data from an open TIFF file/stream. The buffer to place read and decoded image data to. The zero-based index of scanline (row) to read. The zero-based index of the sample plane. true if image data were read and decoded successfully; otherwise, false ReadScanline reads the data for the specified and specified sample plane into the user supplied data buffer . The data are returned decompressed and, in the native byte- and bit-ordering, but are otherwise packed (see further below). The must be large enough to hold an entire scanline of data. Applications should call the to find out the size (in bytes) of a scanline buffer. Applications may use or specify 0 for parameter if image data is contiguous (i.e not organized in separate planes, = .CONTIG). The library attempts to hide bit- and byte-ordering differences between the image and the native machine by converting data to the native machine order. Bit reversal is done if the value of tag is opposite to the native machine bit order. 16- and 32-bit samples are automatically byte-swapped if the file was written with a byte order opposite to the native machine byte order. Reads and decodes a scanline of data from an open TIFF file/stream. The buffer to place read and decoded image data to. The zero-based byte offset in at which to begin storing read and decoded bytes. The zero-based index of scanline (row) to read. The zero-based index of the sample plane. true if image data were read and decoded successfully; otherwise, false ReadScanline reads the data for the specified and specified sample plane into the user supplied data buffer . The data are returned decompressed and, in the native byte- and bit-ordering, but are otherwise packed (see further below). The must be large enough to hold an entire scanline of data. Applications should call the to find out the size (in bytes) of a scanline buffer. Applications may use or specify 0 for parameter if image data is contiguous (i.e not organized in separate planes, = .CONTIG). The library attempts to hide bit- and byte-ordering differences between the image and the native machine by converting data to the native machine order. Bit reversal is done if the value of tag is opposite to the native machine bit order. 16- and 32-bit samples are automatically byte-swapped if the file was written with a byte order opposite to the native machine byte order. Encodes and writes a scanline of data to an open TIFF file/stream. Encodes and writes a scanline of data to an open TIFF file/stream. The buffer with image data to be encoded and written. The zero-based index of scanline (row) to place encoded data at. true if image data were encoded and written successfully; otherwise, false WriteScanline encodes and writes to a file at the specified . Applications should use or and specify correct sample plane parameter if image data in a file/stream is organized in separate planes (i.e = .SEPARATE). The data are assumed to be uncompressed and in the native bit- and byte-order of the host machine. The data written to the file is compressed according to the compression scheme of the current TIFF directory (see further below). If the current scanline is past the end of the current subfile, the value of tag is automatically increased to include the scanline (except for = .SEPARATE, where the tag cannot be changed once the first data are written). If the is increased, the values of and tags are similarly enlarged to reflect data written past the previous end of image. The library writes encoded data using the native machine byte order. Correctly implemented TIFF readers are expected to do any necessary byte-swapping to correctly process image data with value of tag greater than 8. The library attempts to hide bit-ordering differences between the image and the native machine by converting data from the native machine order. Once data are written to a file/stream for the current directory, the values of certain tags may not be altered; see "Well-known tags and their value(s) data types" for more information. It is not possible to write scanlines to a file/stream that uses a tiled organization. The can be used to determine if the file/stream is organized as tiles or strips. Encodes and writes a scanline of data to an open TIFF file/stream. The buffer with image data to be encoded and written. The zero-based index of scanline (row) to place encoded data at. The zero-based index of the sample plane. true if image data were encoded and written successfully; otherwise, false WriteScanline encodes and writes to a file at the specified and specified sample plane . Applications may use or specify 0 for parameter if image data in a file/stream is contiguous (i.e not organized in separate planes, = .CONTIG). The data are assumed to be uncompressed and in the native bit- and byte-order of the host machine. The data written to the file is compressed according to the compression scheme of the current TIFF directory (see further below). If the current scanline is past the end of the current subfile, the value of tag is automatically increased to include the scanline (except for = .SEPARATE, where the tag cannot be changed once the first data are written). If the is increased, the values of and tags are similarly enlarged to reflect data written past the previous end of image. The library writes encoded data using the native machine byte order. Correctly implemented TIFF readers are expected to do any necessary byte-swapping to correctly process image data with value of tag greater than 8. The library attempts to hide bit-ordering differences between the image and the native machine by converting data from the native machine order. Once data are written to a file/stream for the current directory, the values of certain tags may not be altered; see "Well-known tags and their value(s) data types" for more information. It is not possible to write scanlines to a file/stream that uses a tiled organization. The can be used to determine if the file/stream is organized as tiles or strips. Encodes and writes a scanline of data to an open TIFF file/stream. The buffer with image data to be encoded and written. The zero-based byte offset in at which to begin reading bytes. The zero-based index of scanline (row) to place encoded data at. The zero-based index of the sample plane. true if image data were encoded and written successfully; otherwise, false WriteScanline encodes and writes to a file at the specified and specified sample plane . Applications may use or specify 0 for parameter if image data in a file/stream is contiguous (i.e not organized in separate planes, = .CONTIG). The data are assumed to be uncompressed and in the native bit- and byte-order of the host machine. The data written to the file is compressed according to the compression scheme of the current TIFF directory (see further below). If the current scanline is past the end of the current subfile, the value of tag is automatically increased to include the scanline (except for = .CONTIG, where the tag cannot be changed once the first data are written). If the is increased, the values of and tags are similarly enlarged to reflect data written past the previous end of image. The library writes encoded data using the native machine byte order. Correctly implemented TIFF readers are expected to do any necessary byte-swapping to correctly process image data with value of tag greater than 8. The library attempts to hide bit-ordering differences between the image and the native machine by converting data from the native machine order. Once data are written to a file/stream for the current directory, the values of certain tags may not be altered; see "Well-known tags and their value(s) data types" for more information. It is not possible to write scanlines to a file/stream that uses a tiled organization. The can be used to determine if the file/stream is organized as tiles or strips. Reads the image and decodes it into RGBA format raster. Reads the image and decodes it into RGBA format raster. The raster width. The raster height. The raster (the buffer to place decoded image data to). true if the image was successfully read and converted; otherwise, false is returned if an error was encountered. ReadRGBAImage reads a strip- or tile-based image into memory, storing the result in the user supplied RGBA . The raster is assumed to be an array of times 32-bit entries, where must be less than or equal to the width of the image ( may be any non-zero size). If the raster dimensions are smaller than the image, the image data is cropped to the raster bounds. If the raster height is greater than that of the image, then the image data are placed in the lower part of the raster. Note that the raster is assumed to be organized such that the pixel at location (x, y) is [y * width + x]; with the raster origin in the lower-left hand corner. Please use if you want to specify another raster origin. Raster pixels are 8-bit packed red, green, blue, alpha samples. The , , , and should be used to access individual samples. Images without Associated Alpha matting information have a constant Alpha of 1.0 (255). ReadRGBAImage converts non-8-bit images by scaling sample values. Palette, grayscale, bilevel, CMYK, and YCbCr images are converted to RGB transparently. Raster pixels are returned uncorrected by any colorimetry information present in the directory. Samples must be either 1, 2, 4, 8, or 16 bits. Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. SamplesPerPixel minus ExtraSamples). Palette image colormaps that appear to be incorrectly written as 8-bit values are automatically scaled to 16-bits. ReadRGBAImage is just a wrapper around the more general facilities. All error messages are directed to the current error handler. Reads the image and decodes it into RGBA format raster. The raster width. The raster height. The raster (the buffer to place decoded image data to). if set to true then an error will terminate the operation; otherwise method will continue processing data until all the possible data in the image have been requested. true if the image was successfully read and converted; otherwise, false is returned if an error was encountered and stopOnError is false. ReadRGBAImage reads a strip- or tile-based image into memory, storing the result in the user supplied RGBA . The raster is assumed to be an array of times 32-bit entries, where must be less than or equal to the width of the image ( may be any non-zero size). If the raster dimensions are smaller than the image, the image data is cropped to the raster bounds. If the raster height is greater than that of the image, then the image data are placed in the lower part of the raster. Note that the raster is assumed to be organized such that the pixel at location (x, y) is [y * width + x]; with the raster origin in the lower-left hand corner. Please use if you want to specify another raster origin. Raster pixels are 8-bit packed red, green, blue, alpha samples. The , , , and should be used to access individual samples. Images without Associated Alpha matting information have a constant Alpha of 1.0 (255). ReadRGBAImage converts non-8-bit images by scaling sample values. Palette, grayscale, bilevel, CMYK, and YCbCr images are converted to RGB transparently. Raster pixels are returned uncorrected by any colorimetry information present in the directory. Samples must be either 1, 2, 4, 8, or 16 bits. Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. SamplesPerPixel minus ExtraSamples). Palette image colormaps that appear to be incorrectly written as 8-bit values are automatically scaled to 16-bits. ReadRGBAImage is just a wrapper around the more general facilities. All error messages are directed to the current error handler. Reads the image and decodes it into RGBA format raster using specified raster origin. Reads the image and decodes it into RGBA format raster using specified raster origin. The raster width. The raster height. The raster (the buffer to place decoded image data to). The raster origin position. true if the image was successfully read and converted; otherwise, false is returned if an error was encountered. ReadRGBAImageOriented reads a strip- or tile-based image into memory, storing the result in the user supplied RGBA . The raster is assumed to be an array of times 32-bit entries, where must be less than or equal to the width of the image ( may be any non-zero size). If the raster dimensions are smaller than the image, the image data is cropped to the raster bounds. If the raster height is greater than that of the image, then the image data placement depends on . Note that the raster is assumed to be organized such that the pixel at location (x, y) is [y * width + x]; with the raster origin specified by parameter. When ReadRGBAImageOriented is used with .BOTLEFT for the the produced result is the same as retuned by . Raster pixels are 8-bit packed red, green, blue, alpha samples. The , , , and should be used to access individual samples. Images without Associated Alpha matting information have a constant Alpha of 1.0 (255). ReadRGBAImageOriented converts non-8-bit images by scaling sample values. Palette, grayscale, bilevel, CMYK, and YCbCr images are converted to RGB transparently. Raster pixels are returned uncorrected by any colorimetry information present in the directory. Samples must be either 1, 2, 4, 8, or 16 bits. Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. SamplesPerPixel minus ExtraSamples). Palette image colormaps that appear to be incorrectly written as 8-bit values are automatically scaled to 16-bits. ReadRGBAImageOriented is just a wrapper around the more general facilities. All error messages are directed to the current error handler. Reads the image and decodes it into RGBA format raster using specified raster origin. The raster width. The raster height. The raster (the buffer to place decoded image data to). The raster origin position. if set to true then an error will terminate the operation; otherwise method will continue processing data until all the possible data in the image have been requested. true if the image was successfully read and converted; otherwise, false is returned if an error was encountered and stopOnError is false. ReadRGBAImageOriented reads a strip- or tile-based image into memory, storing the result in the user supplied RGBA . The raster is assumed to be an array of times 32-bit entries, where must be less than or equal to the width of the image ( may be any non-zero size). If the raster dimensions are smaller than the image, the image data is cropped to the raster bounds. If the raster height is greater than that of the image, then the image data placement depends on . Note that the raster is assumed to be organized such that the pixel at location (x, y) is [y * width + x]; with the raster origin specified by parameter. When ReadRGBAImageOriented is used with .BOTLEFT for the the produced result is the same as retuned by . Raster pixels are 8-bit packed red, green, blue, alpha samples. The , , , and should be used to access individual samples. Images without Associated Alpha matting information have a constant Alpha of 1.0 (255). ReadRGBAImageOriented converts non-8-bit images by scaling sample values. Palette, grayscale, bilevel, CMYK, and YCbCr images are converted to RGB transparently. Raster pixels are returned uncorrected by any colorimetry information present in the directory. Samples must be either 1, 2, 4, 8, or 16 bits. Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. SamplesPerPixel minus ExtraSamples). Palette image colormaps that appear to be incorrectly written as 8-bit values are automatically scaled to 16-bits. ReadRGBAImageOriented is just a wrapper around the more general facilities. All error messages are directed to the current error handler. Reads a whole strip of a strip-based image, decodes it and converts it to RGBA format. The row. The RGBA raster. true if the strip was successfully read and converted; otherwise, false ReadRGBAStrip reads a single strip of a strip-based image into memory, storing the result in the user supplied RGBA . If specified strip is the last strip, then it will only contain the portion of the strip that is actually within the image space. The raster is assumed to be an array of width times rowsperstrip 32-bit entries, where width is the width of the image () and rowsperstrip is the maximum lines in a strip (). The value should be the row of the first row in the strip (strip * rowsperstrip, zero based). Note that the raster is assumed to be organized such that the pixel at location (x, y) is [y * width + x]; with the raster origin in the lower-left hand corner of the strip. That is bottom to top organization. When reading a partial last strip in the file the last line of the image will begin at the beginning of the buffer. Raster pixels are 8-bit packed red, green, blue, alpha samples. The , , , and should be used to access individual samples. Images without Associated Alpha matting information have a constant Alpha of 1.0 (255). See for more details on how various image types are converted to RGBA values. Samples must be either 1, 2, 4, 8, or 16 bits. Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. SamplesPerPixel minus ExtraSamples). Palette image colormaps that appear to be incorrectly written as 8-bit values are automatically scaled to 16-bits. ReadRGBAStrip's main advantage over the similar function is that for large images a single buffer capable of holding the whole image doesn't need to be allocated, only enough for one strip. The function does a similar operation for tiled images. ReadRGBAStrip is just a wrapper around the more general facilities. All error messages are directed to the current error handler. Reads a whole tile of a tile-based image, decodes it and converts it to RGBA format. The column. The row. The RGBA raster. true if the strip was successfully read and converted; otherwise, false ReadRGBATile reads a single tile of a tile-based image into memory, storing the result in the user supplied RGBA . The raster is assumed to be an array of width times length 32-bit entries, where width is the width of the tile () and length is the height of a tile (). The and values are the offsets from the top left corner of the image to the top left corner of the tile to be read. They must be an exact multiple of the tile width and length. Note that the raster is assumed to be organized such that the pixel at location (x, y) is [y * width + x]; with the raster origin in the lower-left hand corner of the tile. That is bottom to top organization. Edge tiles which partly fall off the image will be filled out with appropriate zeroed areas. Raster pixels are 8-bit packed red, green, blue, alpha samples. The , , , and should be used to access individual samples. Images without Associated Alpha matting information have a constant Alpha of 1.0 (255). See for more details on how various image types are converted to RGBA values. Samples must be either 1, 2, 4, 8, or 16 bits. Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. SamplesPerPixel minus ExtraSamples). Palette image colormaps that appear to be incorrectly written as 8-bit values are automatically scaled to 16-bits. ReadRGBATile's main advantage over the similar function is that for large images a single buffer capable of holding the whole image doesn't need to be allocated, only enough for one tile. The function does a similar operation for stripped images. ReadRGBATile is just a wrapper around the more general facilities. All error messages are directed to the current error handler. Check the image to see if it can be converted to RGBA format. The error message (if any) gets placed here. true if the image can be converted to RGBA format; otherwise, false is returned and contains the reason why it is being rejected. To convert the image to RGBA format please use , , or Convertible images should follow this rules: samples must be either 1, 2, 4, 8, or 16 bits; colorimetric samples/pixel must be either 1, 3, or 4 (i.e. SamplesPerPixel minus ExtraSamples). Gets the name of the file or ID string for this . The name of the file or ID string for this . If this was created using method then value of fileName parameter of method is returned. If this was created using then value of name parameter of method is returned. Sets the new ID string for this . The ID string for this . The previous file name or ID string for this . Please note, that is an arbitrary string used as ID for this . It's not required to be a file name or anything meaningful at all. Invokes the library-wide error handling methods to (normally) write an error message to the . An instance of the class. Can be null. The method where an error is detected. A composite format string (see Remarks). An object array that contains zero or more objects to format. The is a composite format string that uses the same format as method. The parameter, if not null, is printed before the message; it typically is used to identify the method in which an error is detected. Applications that desire to capture control in the event of an error should use to override the default error and warning handler. Invokes the library-wide error handling methods to (normally) write an error message to the . Invokes the library-wide error handling methods to (normally) write an error message to the . The method where an error is detected. A composite format string (see Remarks). An object array that contains zero or more objects to format. The is a composite format string that uses the same format as method. The parameter, if not null, is printed before the message; it typically is used to identify the method in which an error is detected. Applications that desire to capture control in the event of an error should use to override the default error and warning handler. Invokes the library-wide error handling methods to (normally) write an error message to the . An instance of the class. Can be null. The client data to be passed to error handler. The method where an error is detected. A composite format string (see Remarks). An object array that contains zero or more objects to format. The is a composite format string that uses the same format as method. The parameter, if not null, is printed before the message; it typically is used to identify the method in which an error is detected. The parameter can be anything you want. It will be passed unchanged to the error handler. Default error handler does not use it. Only custom error handlers may make use of it. Applications that desire to capture control in the event of an error should use to override the default error and warning handler. Invokes the library-wide error handling methods to (normally) write an error message to the and passes client data to the error handler. Invokes the library-wide error handling methods to (normally) write an error message to the . The client data to be passed to error handler. The method where an error is detected. A composite format string (see Remarks). An object array that contains zero or more objects to format. The is a composite format string that uses the same format as method. The parameter, if not null, is printed before the message; it typically is used to identify the method in which an error is detected. The parameter can be anything you want. It will be passed unchanged to the error handler. Default error handler does not use it. Only custom error handlers may make use of it. Applications that desire to capture control in the event of an error should use to override the default error and warning handler. Invokes the library-wide warning handling methods to (normally) write a warning message to the . An instance of the class. Can be null. The method in which a warning is detected. A composite format string (see Remarks). An object array that contains zero or more objects to format. The is a composite format string that uses the same format as method. The parameter, if not null, is printed before the message; it typically is used to identify the method in which a warning is detected. Applications that desire to capture control in the event of a warning should use to override the default error and warning handler. Invokes the library-wide warning handling methods to (normally) write a warning message to the . Invokes the library-wide warning handling methods to (normally) write a warning message to the . The method in which a warning is detected. A composite format string (see Remarks). An object array that contains zero or more objects to format. The is a composite format string that uses the same format as method. The parameter, if not null, is printed before the message; it typically is used to identify the method in which a warning is detected. Applications that desire to capture control in the event of a warning should use to override the default error and warning handler. Invokes the library-wide warning handling methods to (normally) write a warning message to the and passes client data to the warning handler. An instance of the class. Can be null. The client data to be passed to warning handler. The method in which a warning is detected. A composite format string (see Remarks). An object array that contains zero or more objects to format. The is a composite format string that uses the same format as method. The parameter, if not null, is printed before the message; it typically is used to identify the method in which a warning is detected. The parameter can be anything you want. It will be passed unchanged to the warning handler. Default warning handler does not use it. Only custom warning handlers may make use of it. Applications that desire to capture control in the event of a warning should use to override the default error and warning handler. Invokes the library-wide warning handling methods to (normally) write a warning message to the and passes client data to the warning handler. Invokes the library-wide warning handling methods to (normally) write a warning message to the and passes client data to the warning handler. The client data to be passed to warning handler. The method in which a warning is detected. A composite format string (see Remarks). An object array that contains zero or more objects to format. The is a composite format string that uses the same format as method. The parameter, if not null, is printed before the message; it typically is used to identify the method in which a warning is detected. The parameter can be anything you want. It will be passed unchanged to the warning handler. Default warning handler does not use it. Only custom warning handlers may make use of it. Applications that desire to capture control in the event of a warning should use to override the default error and warning handler. Sets an instance of the class as custom library-wide error and warning handler. An instance of the class to set as custom library-wide error and warning handler. Previous error handler or null if there was no error handler set. Sets the tag extender method. The tag extender method. Previous tag extender method. Extender method is called upon creation of each instance of object. Reads and decodes a tile of data from an open TIFF file/stream. The buffer to place read and decoded image data to. The zero-based byte offset in at which to begin storing read and decoded bytes. The x-coordinate of the pixel within a tile to be read and decoded. The y-coordinate of the pixel within a tile to be read and decoded. The z-coordinate of the pixel within a tile to be read and decoded. The zero-based index of the sample plane. The number of bytes in the decoded tile or -1 if an error occurred. The tile to read and decode is selected by the (x, y, z, plane) coordinates (i.e. ReadTile returns the data for the tile containing the specified coordinates. The data placed in are returned decompressed and, typically, in the native byte- and bit-ordering, but are otherwise packed (see further below). The buffer must be large enough to hold an entire tile of data. Applications should call the to find out the size (in bytes) of a tile buffer. The and parameters are always used by ReadTile. The parameter is used if the image is deeper than 1 slice (a value of > 1). In other cases the value of is ignored. The parameter is used only if data are organized in separate planes ( = .SEPARATE). In other cases the value of is ignored. The library attempts to hide bit- and byte-ordering differences between the image and the native machine by converting data to the native machine order. Bit reversal is done if the value of tag is opposite to the native machine bit order. 16- and 32-bit samples are automatically byte-swapped if the file was written with a byte order opposite to the native machine byte order. Reads a tile of data from an open TIFF file/stream, decompresses it and places specified amount of decompressed bytes into the user supplied buffer. The zero-based index of the tile to read. The buffer to place decompressed tile bytes to. The zero-based byte offset in buffer at which to begin storing decompressed tile bytes. The maximum number of decompressed tile bytes to be stored to buffer. The actual number of bytes of data that were placed in buffer or -1 if an error was encountered. The value of is a "raw tile number". That is, the caller must take into account whether or not the data are organized in separate planes ( = .SEPARATE). automatically does this when converting an (x, y, z, plane) coordinate quadruple to a tile number. To read a full tile of data the data buffer should typically be at least as large as the number returned by . If the -1 passed in parameter, the whole tile will be read. You should be sure you have enough space allocated for the buffer. The library attempts to hide bit- and byte-ordering differences between the image and the native machine by converting data to the native machine order. Bit reversal is done if the tag is opposite to the native machine bit order. 16- and 32-bit samples are automatically byte-swapped if the file was written with a byte order opposite to the native machine byte order. Reads the undecoded contents of a tile of data from an open TIFF file/stream and places specified amount of read bytes into the user supplied buffer. The zero-based index of the tile to read. The buffer to place read tile bytes to. The zero-based byte offset in buffer at which to begin storing read tile bytes. The maximum number of read tile bytes to be stored to buffer. The actual number of bytes of data that were placed in buffer or -1 if an error was encountered. The value of is a "raw tile number". That is, the caller must take into account whether or not the data are organized in separate planes ( = .SEPARATE). automatically does this when converting an (x, y, z, plane) coordinate quadruple to a tile number. To read a full tile of data the data buffer should typically be at least as large as the number returned by . If the -1 passed in parameter, the whole tile will be read. You should be sure you have enough space allocated for the buffer. Encodes and writes a tile of data to an open TIFF file/stream. Encodes and writes a tile of data to an open TIFF file/stream. The buffer with image data to be encoded and written. The x-coordinate of the pixel within a tile to be encoded and written. The y-coordinate of the pixel within a tile to be encoded and written. The z-coordinate of the pixel within a tile to be encoded and written. The zero-based index of the sample plane. The number of encoded and written bytes or -1 if an error occurred. The tile to place encoded data is selected by the (x, y, z, plane) coordinates (i.e. WriteTile writes data to the tile containing the specified coordinates. WriteTile (potentially) encodes the data and writes it to open file/stream. The buffer must contain an entire tile of data. Applications should call the to find out the size (in bytes) of a tile buffer. The and parameters are always used by WriteTile. The parameter is used if the image is deeper than 1 slice (a value of > 1). In other cases the value of is ignored. The parameter is used only if data are organized in separate planes ( = .SEPARATE). In other cases the value of is ignored. A correct value for the tag must be setup before writing; WriteTile does not support automatically growing the image on each write (as does). Encodes and writes a tile of data to an open TIFF file/stream. The buffer with image data to be encoded and written. The zero-based byte offset in at which to begin reading bytes to be encoded and written. The x-coordinate of the pixel within a tile to be encoded and written. The y-coordinate of the pixel within a tile to be encoded and written. The z-coordinate of the pixel within a tile to be encoded and written. The zero-based index of the sample plane. The number of encoded and written bytes or -1 if an error occurred. The tile to place encoded data is selected by the (x, y, z, plane) coordinates (i.e. WriteTile writes data to the tile containing the specified coordinates. WriteTile (potentially) encodes the data and writes it to open file/stream. The buffer must contain an entire tile of data. Applications should call the to find out the size (in bytes) of a tile buffer. The and parameters are always used by WriteTile. The parameter is used if the image is deeper than 1 slice (a value of > 1). In other cases the value of is ignored. The parameter is used only if data are organized in separate planes ( = .SEPARATE). In other cases the value of is ignored. A correct value for the tag must be setup before writing; WriteTile does not support automatically growing the image on each write (as does). Reads a strip of data from an open TIFF file/stream, decompresses it and places specified amount of decompressed bytes into the user supplied buffer. The zero-based index of the strip to read. The buffer to place decompressed strip bytes to. The zero-based byte offset in buffer at which to begin storing decompressed strip bytes. The maximum number of decompressed strip bytes to be stored to buffer. The actual number of bytes of data that were placed in buffer or -1 if an error was encountered. The value of is a "raw strip number". That is, the caller must take into account whether or not the data are organized in separate planes ( = .SEPARATE). automatically does this when converting an (row, plane) to a strip index. To read a full strip of data the data buffer should typically be at least as large as the number returned by . If the -1 passed in parameter, the whole strip will be read. You should be sure you have enough space allocated for the buffer. The library attempts to hide bit- and byte-ordering differences between the image and the native machine by converting data to the native machine order. Bit reversal is done if the tag is opposite to the native machine bit order. 16- and 32-bit samples are automatically byte-swapped if the file was written with a byte order opposite to the native machine byte order. Reads the undecoded contents of a strip of data from an open TIFF file/stream and places specified amount of read bytes into the user supplied buffer. The zero-based index of the strip to read. The buffer to place read bytes to. The zero-based byte offset in buffer at which to begin storing read bytes. The maximum number of read bytes to be stored to buffer. The actual number of bytes of data that were placed in buffer or -1 if an error was encountered. The value of is a "raw strip number". That is, the caller must take into account whether or not the data are organized in separate planes ( = .SEPARATE). automatically does this when converting an (row, plane) to a strip index. To read a full strip of data the data buffer should typically be at least as large as the number returned by . If the -1 passed in parameter, the whole strip will be read. You should be sure you have enough space allocated for the buffer. Encodes and writes a strip of data to an open TIFF file/stream. The zero-based index of the strip to write. The buffer with image data to be encoded and written. The maximum number of strip bytes to be read from . The number of encoded and written bytes or -1 if an error occurred. Encodes and writes a strip of data to an open TIFF file/stream. WriteEncodedStrip encodes bytes of raw data from and append the result to the specified strip; replacing any previously written data. Note that the value of is a "raw strip number". That is, the caller must take into account whether or not the data are organized in separate planes ( = .SEPARATE). automatically does this when converting an (row, plane) to a strip index. If there is no space for the strip, the value of tag is automatically increased to include the strip (except for = .SEPARATE, where the tag cannot be changed once the first data are written). If the is increased, the values of and tags are similarly enlarged to reflect data written past the previous end of image. The library writes encoded data using the native machine byte order. Correctly implemented TIFF readers are expected to do any necessary byte-swapping to correctly process image data with value of tag greater than 8. Encodes and writes a strip of data to an open TIFF file/stream. The zero-based index of the strip to write. The buffer with image data to be encoded and written. The zero-based byte offset in at which to begin reading bytes to be encoded and written. The maximum number of strip bytes to be read from . The number of encoded and written bytes or -1 if an error occurred. WriteEncodedStrip encodes bytes of raw data from and append the result to the specified strip; replacing any previously written data. Note that the value of is a "raw strip number". That is, the caller must take into account whether or not the data are organized in separate planes ( = .SEPARATE). automatically does this when converting an (row, plane) to a strip index. If there is no space for the strip, the value of tag is automatically increased to include the strip (except for = .SEPARATE, where the tag cannot be changed once the first data are written). If the is increased, the values of and tags are similarly enlarged to reflect data written past the previous end of image. The library writes encoded data using the native machine byte order. Correctly implemented TIFF readers are expected to do any necessary byte-swapping to correctly process image data with value of tag greater than 8. Writes a strip of raw data to an open TIFF file/stream. Writes a strip of raw data to an open TIFF file/stream. The zero-based index of the strip to write. The buffer with raw image data to be written. The maximum number of strip bytes to be read from . The number of written bytes or -1 if an error occurred. WriteRawStrip appends bytes of raw data from to the specified strip; replacing any previously written data. Note that the value of is a "raw strip number". That is, the caller must take into account whether or not the data are organized in separate planes ( = .SEPARATE). automatically does this when converting an (row, plane) to a strip index. If there is no space for the strip, the value of tag is automatically increased to include the strip (except for = .SEPARATE, where the tag cannot be changed once the first data are written). If the is increased, the values of and tags are similarly enlarged to reflect data written past the previous end of image. Writes a strip of raw data to an open TIFF file/stream. The zero-based index of the strip to write. The buffer with raw image data to be written. The zero-based byte offset in at which to begin reading bytes to be written. The maximum number of strip bytes to be read from . The number of written bytes or -1 if an error occurred. WriteRawStrip appends bytes of raw data from to the specified strip; replacing any previously written data. Note that the value of is a "raw strip number". That is, the caller must take into account whether or not the data are organized in separate planes ( = .SEPARATE). automatically does this when converting an (row, plane) to a strip index. If there is no space for the strip, the value of tag is automatically increased to include the strip (except for = .SEPARATE, where the tag cannot be changed once the first data are written). If the is increased, the values of and tags are similarly enlarged to reflect data written past the previous end of image. Encodes and writes a tile of data to an open TIFF file/stream. Encodes and writes a tile of data to an open TIFF file/stream. The zero-based index of the tile to write. The buffer with image data to be encoded and written. The maximum number of tile bytes to be read from . The number of encoded and written bytes or -1 if an error occurred. WriteEncodedTile encodes bytes of raw data from and append the result to the end of the specified tile. Note that the value of is a "raw tile number". That is, the caller must take into account whether or not the data are organized in separate planes ( = .SEPARATE). automatically does this when converting an (x, y, z, plane) coordinate quadruple to a tile number. There must be space for the data. The function clamps individual writes to a tile to the tile size, but does not (and can not) check that multiple writes to the same tile were performed. A correct value for the tag must be setup before writing; WriteEncodedTile does not support automatically growing the image on each write (as does). The library writes encoded data using the native machine byte order. Correctly implemented TIFF readers are expected to do any necessary byte-swapping to correctly process image data with value of tag greater than 8. Encodes and writes a tile of data to an open TIFF file/stream. The zero-based index of the tile to write. The buffer with image data to be encoded and written. The zero-based byte offset in at which to begin reading bytes to be encoded and written. The maximum number of tile bytes to be read from . The number of encoded and written bytes or -1 if an error occurred. WriteEncodedTile encodes bytes of raw data from and append the result to the end of the specified tile. Note that the value of is a "raw tile number". That is, the caller must take into account whether or not the data are organized in separate planes ( = .SEPARATE). automatically does this when converting an (x, y, z, plane) coordinate quadruple to a tile number. There must be space for the data. The function clamps individual writes to a tile to the tile size, but does not (and can not) check that multiple writes to the same tile were performed. A correct value for the tag must be setup before writing; WriteEncodedTile does not support automatically growing the image on each write (as does). The library writes encoded data using the native machine byte order. Correctly implemented TIFF readers are expected to do any necessary byte-swapping to correctly process image data with value of tag greater than 8. Writes a tile of raw data to an open TIFF file/stream. Writes a tile of raw data to an open TIFF file/stream. The zero-based index of the tile to write. The buffer with raw image data to be written. The maximum number of tile bytes to be read from . The number of written bytes or -1 if an error occurred. WriteRawTile appends bytes of raw data to the end of the specified tile. Note that the value of is a "raw tile number". That is, the caller must take into account whether or not the data are organized in separate planes ( = .SEPARATE). automatically does this when converting an (x, y, z, plane) coordinate quadruple to a tile number. There must be space for the data. The function clamps individual writes to a tile to the tile size, but does not (and can not) check that multiple writes to the same tile were performed. A correct value for the tag must be setup before writing; WriteRawTile does not support automatically growing the image on each write (as does). Writes a tile of raw data to an open TIFF file/stream. The zero-based index of the tile to write. The buffer with raw image data to be written. The zero-based byte offset in at which to begin reading bytes to be written. The maximum number of tile bytes to be read from . The number of written bytes or -1 if an error occurred. WriteRawTile appends bytes of raw data to the end of the specified tile. Note that the value of is a "raw tile number". That is, the caller must take into account whether or not the data are organized in separate planes ( = .SEPARATE). automatically does this when converting an (x, y, z, plane) coordinate quadruple to a tile number. There must be space for the data. The function clamps individual writes to a tile to the tile size, but does not (and can not) check that multiple writes to the same tile were performed. A correct value for the tag must be setup before writing; WriteRawTile does not support automatically growing the image on each write (as does). Sets the current write offset. The write offset. This should only be used to set the offset to a known previous location (very carefully), or to 0 so that the next write gets appended to the end of the file. Gets the number of bytes occupied by the item of given type. The type. The number of bytes occupied by the or 0 if unknown data type is supplied. Swaps the bytes in a single 16-bit item. The value to swap bytes in. Swaps the bytes in a single 32-bit item. The value to swap bytes in. Swaps the bytes in a single double-precision floating-point number. The value to swap bytes in. Swaps the bytes in specified number of values in the array of 16-bit items. Swaps the bytes in specified number of values in the array of 16-bit items. The array to swap bytes in. The number of items to swap bytes in. Swaps the bytes in specified number of values in the array of 16-bit items starting at specified offset. The array to swap bytes in. The zero-based offset in at which to begin swapping bytes. The number of items to swap bytes in. Swaps the bytes in specified number of values in the array of triples (24-bit items). Swaps the bytes in specified number of values in the array of triples (24-bit items). The array to swap bytes in. The number of items to swap bytes in. Swaps the bytes in specified number of values in the array of triples (24-bit items) starting at specified offset. The array to swap bytes in. The zero-based offset in at which to begin swapping bytes. The number of items to swap bytes in. Swaps the bytes in specified number of values in the array of 32-bit items. Swaps the bytes in specified number of values in the array of 32-bit items. The array to swap bytes in. The number of items to swap bytes in. Swaps the bytes in specified number of values in the array of 32-bit items starting at specified offset. The array to swap bytes in. The zero-based offset in at which to begin swapping bytes. The number of items to swap bytes in. Swaps the bytes in specified number of values in the array of double-precision floating-point numbers. Swaps the bytes in specified number of values in the array of double-precision floating-point numbers. The array to swap bytes in. The number of items to swap bytes in. Swaps the bytes in specified number of values in the array of double-precision floating-point numbers starting at specified offset. The array to swap bytes in. The zero-based offset in at which to begin swapping bytes. The number of items to swap bytes in. Replaces specified number of bytes in with the equivalent bit-reversed bytes. Replaces specified number of bytes in with the equivalent bit-reversed bytes. The buffer to replace bytes in. The number of bytes to process. This operation is performed with a lookup table, which can be retrieved using the method. Replaces specified number of bytes in with the equivalent bit-reversed bytes starting at specified offset. The buffer to replace bytes in. The zero-based offset in at which to begin processing bytes. The number of bytes to process. This operation is performed with a lookup table, which can be retrieved using the method. Retrieves a bit reversal table. if set to true then bit reversal table will be retrieved; otherwise, the table that do not reverse bit values will be retrieved. The bit reversal table. If is false then the table that do not reverse bit values will be retrieved. It is a lookup table that can be used as an identity function; i.e. NoBitRevTable[n] == n. Converts a byte buffer into array of 32-bit values. The byte buffer. The zero-based offset in at which to begin converting bytes. The number of bytes to convert. The array of 32-bit values. Converts array of 32-bit values into array of bytes. The array of 32-bit values. The zero-based offset in at which to begin converting bytes. The number of 32-bit values to convert. The byte array to store converted values at. The zero-based offset in at which to begin storing converted values. Converts a byte buffer into array of 16-bit values. The byte buffer. The zero-based offset in at which to begin converting bytes. The number of bytes to convert. The array of 16-bit values. Converts array of 16-bit values into array of bytes. The array of 16-bit values. The zero-based offset in at which to begin converting bytes. The number of 16-bit values to convert. The byte array to store converted values at. The zero-based offset in at which to begin storing converted values. Base class for all codecs within the library. A codec is a class that implements decoding, encoding, or decoding and encoding of a compression algorithm. The library provides a collection of builtin codecs. More codecs may be registered through calls to the library and/or the builtin implementations may be overridden. An instance of . Compression scheme this codec impelements. Codec name. Initializes a new instance of the class. An instance of class. The compression scheme for the codec. The name of the codec. Gets a value indicating whether this codec can encode data. true if this codec can encode data; otherwise, false. Gets a value indicating whether this codec can decode data. true if this codec can decode data; otherwise, false. Initializes this instance. true if initialized successfully Setups the decoder part of the codec. true if this codec successfully setup its decoder part and can decode data; otherwise, false. SetupDecode is called once before . Prepares the decoder part of the codec for a decoding. The zero-based sample plane index. true if this codec successfully prepared its decoder part and ready to decode data; otherwise, false. PreDecode is called after and before decoding. Decodes one row of image data. The buffer to place decoded image data to. The zero-based byte offset in at which to begin storing decoded bytes. The number of decoded bytes that should be placed to . The zero-based sample plane index. true if image data was decoded successfully; otherwise, false. Decodes one strip of image data. The buffer to place decoded image data to. The zero-based byte offset in at which to begin storing decoded bytes. The number of decoded bytes that should be placed to . The zero-based sample plane index. true if image data was decoded successfully; otherwise, false. Decodes one tile of image data. The buffer to place decoded image data to. The zero-based byte offset in at which to begin storing decoded bytes. The number of decoded bytes that should be placed to . The zero-based sample plane index. true if image data was decoded successfully; otherwise, false. Setups the encoder part of the codec. true if this codec successfully setup its encoder part and can encode data; otherwise, false. SetupEncode is called once before . Prepares the encoder part of the codec for a encoding. The zero-based sample plane index. true if this codec successfully prepared its encoder part and ready to encode data; otherwise, false. PreEncode is called after and before encoding. Performs any actions after encoding required by the codec. true if all post-encode actions succeeded; otherwise, false PostEncode is called after encoding and can be used to release any external resources needed during encoding. Encodes one row of image data. The buffer with image data to be encoded. The zero-based byte offset in at which to begin read image data. The maximum number of encoded bytes that can be placed to . The zero-based sample plane index. true if image data was encoded successfully; otherwise, false. Encodes one strip of image data. The buffer with image data to be encoded. The zero-based byte offset in at which to begin read image data. The maximum number of encoded bytes that can be placed to . The zero-based sample plane index. true if image data was encoded successfully; otherwise, false. Encodes one tile of image data. The buffer with image data to be encoded. The zero-based byte offset in at which to begin read image data. The maximum number of encoded bytes that can be placed to . The zero-based sample plane index. true if image data was encoded successfully; otherwise, false. Flushes any internal data buffers and terminates current operation. Seeks the specified row in the strip being processed. The row to seek. true if specified row was successfully found; otherwise, false Cleanups the state of the codec. Cleanup is called when codec is no longer needed (won't be used) and can be used for example to restore tag methods that were substituted. Calculates and/or constrains a strip size. The proposed strip size (may be zero or negative). A strip size to use. Calculate and/or constrains a tile size The proposed tile width upon the call / tile width to use after the call. The proposed tile height upon the call / tile height to use after the call. Default error handler implementation. TiffErrorHandler provides error and warning handling methods that write an error or a warning messages to the . Applications that desire to capture control in the event of an error or a warning should set their custom error and warning handler using method. Handles an error by writing it text to the . An instance of the class. Can be null. The method where an error is detected. A composite format string (see Remarks). An object array that contains zero or more objects to format. The is a composite format string that uses the same format as method. The parameter, if not null, is printed before the message; it typically is used to identify the method in which an error is detected. Handles an error by writing it text to the . An instance of the class. Can be null. A client data. The method where an error is detected. A composite format string (see Remarks). An object array that contains zero or more objects to format. The is a composite format string that uses the same format as method. The parameter, if not null, is printed before the message; it typically is used to identify the method in which an error is detected. The parameter can be anything. Its value and meaning is defined by an application and not the library. Handles a warning by writing it text to the . An instance of the class. Can be null. The method where a warning is detected. A composite format string (see Remarks). An object array that contains zero or more objects to format. The is a composite format string that uses the same format as method. The parameter, if not null, is printed before the message; it typically is used to identify the method in which a warning is detected. Handles a warning by writing it text to the . An instance of the class. Can be null. A client data. The method where a warning is detected. A composite format string (see Remarks). An object array that contains zero or more objects to format. The is a composite format string that uses the same format as method. The parameter, if not null, is printed before the message; it typically is used to identify the method in which a warning is detected. The parameter can be anything. Its value and meaning is defined by an application and not the library. Represents a TIFF field information. TiffFieldInfo describes a field. It provides information about field name, type, number of values etc. marker for variable length tags marker for SamplesPerPixel-bound tags marker for integer variable length tags Initializes a new instance of the class. The tag to describe. The number of values to read when reading field information or one of , and . The number of values to write when writing field information or one of , and . The type of the field value. Index of the bit to use in "Set Fields Vector" when this instance is merged into field info collection. Take a look at class. If true, then it is permissible to set the tag's value even after writing has commenced. If true, then number of value elements should be passed to method as second parameter (right after tag type AND before value itself). The name (description) of the tag this instance describes. Returns a that represents this instance. A that represents this instance. The tag described by this instance. Number of values to read when reading field information or one of , and . Number of values to write when writing field information or one of , and . Type of the field values. Index of the bit to use in "Set Fields Vector" when this instance is merged into field info collection. Take a look at class. If true, then it is permissible to set the tag's value even after writing has commenced. If true, then number of value elements should be passed to method as second parameter (right after tag type AND before values itself). The name (or description) of the tag this instance describes. RGBA-style image support. Provides methods for decoding images into RGBA (or other) format. TiffRgbaImage provide a high-level interface through which TIFF images may be read into memory. Images may be strip- or tile-based and have a variety of different characteristics: bits/sample, samples/pixel, photometric, etc. The target raster format can be customized to a particular application's needs by installing custom methods that manipulate image data according to application requirements. The default usage for this class: check if an image can be processed using , construct an instance of TiffRgbaImage using and then read and decode an image into a target raster using . can be called multiple times to decode an image using different state parameters. If multiple images are to be displayed and there is not enough space for each of the decoded rasters, multiple instances of TiffRgbaImage can be managed and then calls can be made to as needed to display an image. To use the core support for reading and processing TIFF images, but write the resulting raster data in a different format one need only override the "put methods" used to store raster data. These methods are initially setup by to point to methods that pack raster data in the default ABGR pixel format. Two different methods are used according to the physical organization of the image data in the file: one for = .CONTIG (packed samples), and another for = .SEPARATE (separated samples). Note that this mechanism can be used to transform the data before storing it in the raster. For example one can convert data to colormap indices for display on a colormap display. To setup custom "put" method please use property for contiguously packed samples and/or property for separated samples. The methods of TiffRgbaImage support the most commonly encountered flavors of TIFF. It is possible to extend this support by overriding the "get method" invoked by to read TIFF image data. Details of doing this are a bit involved, it is best to make a copy of an existing get method and modify it to suit the needs of an application. To setup custom "get" method please use property. image handle stop on read error data is packed/separate type of alpha data present image width image height image bits/sample image samples/pixel image orientation requested orientation image photometric interp colormap pallete sample mapping array black and white map palette image map YCbCr conversion state CIE L*a*b conversion state Delegate for "put" method (the method that is called to pack pixel data in the raster) used when converting contiguously packed samples. An instance of the class. The raster (the buffer to place decoded image data to). The zero-based byte offset in at which to begin storing decoded bytes. The value that should be added to after each row processed. The x-coordinate of the first pixel in block of pixels to be decoded. The y-coordinate of the first pixel in block of pixels to be decoded. The block width. The block height. The buffer with image data. The zero-based byte offset in at which to begin reading image bytes. The value that should be added to after each row processed. The image reading and conversion methods invoke "put" methods to copy/image/whatever tiles of raw image data. A default set of methods is provided to convert/copy raw image data to 8-bit packed ABGR format rasters. Applications can supply alternate methods that unpack the data into a different format or, for example, unpack the data and draw the unpacked raster on the display. To setup custom "put" method for contiguously packed samples please use property. The is usually 0. It is greater than 0 if width of strip being converted is greater than image width or part of the tile being converted is outside the image (may be true for tiles on the right and bottom edge of the image). In other words, is used to make up for any padding on the end of each line of the buffer with image data. The is 0 if width of tile being converted is equal to image width and image data should not be flipped vertically. In other circumstances is used to make up for any padding on the end of each line of the raster and/or for flipping purposes. Delegate for "put" method (the method that is called to pack pixel data in the raster) used when converting separated samples. An instance of the class. The raster (the buffer to place decoded image data to). The zero-based byte offset in at which to begin storing decoded bytes. The value that should be added to after each row processed. The x-coordinate of the first pixel in block of pixels to be decoded. The y-coordinate of the first pixel in block of pixels to be decoded. The block width. The block height. The buffer with image data. The zero-based byte offset in at which to begin reading image bytes that constitute first sample plane. The zero-based byte offset in at which to begin reading image bytes that constitute second sample plane. The zero-based byte offset in at which to begin reading image bytes that constitute third sample plane. The zero-based byte offset in at which to begin reading image bytes that constitute fourth sample plane. The value that should be added to , , and after each row processed. The image reading and conversion methods invoke "put" methods to copy/image/whatever tiles of raw image data. A default set of methods is provided to convert/copy raw image data to 8-bit packed ABGR format rasters. Applications can supply alternate methods that unpack the data into a different format or, for example, unpack the data and draw the unpacked raster on the display. To setup custom "put" method for separated samples please use property. The is usually 0. It is greater than 0 if width of strip being converted is greater than image width or part of the tile being converted is outside the image (may be true for tiles on the right and bottom edge of the image). In other words, is used to make up for any padding on the end of each line of the buffer with image data. The is 0 if width of tile being converted is equal to image width and image data should not be flipped vertically. In other circumstances is used to make up for any padding on the end of each line of the raster and/or for flipping purposes. Delegate for "get" method (the method that is called to produce RGBA raster). An instance of the class. The raster (the buffer to place decoded image data to). The zero-based byte offset in at which to begin storing decoded bytes. The raster width. The raster height. true if the image was successfully read and decoded; otherwise, false. A default set of methods is provided to read and convert/copy raw image data to 8-bit packed ABGR format rasters. Applications can supply alternate method for this. To setup custom "get" method please use property. Creates new instance of the class. The instance of the class used to retrieve image data. if set to true then an error will terminate the conversion; otherwise "get" methods will continue processing data until all the possible data in the image have been requested. The error message (if any) gets placed here. New instance of the class if the image specified by can be converted to RGBA format; otherwise, null is returned and contains the reason why it is being rejected. Gets a value indicating whether image data has contiguous (packed) or separated samples. true if this image data has contiguous (packed) samples; otherwise, false. Gets the type of alpha data present. The type of alpha data present. Gets the image width. The image width. Gets the image height. The image height. Gets the image bits per sample count. The image bits per sample count. Gets the image samples per pixel count. The image samples per pixel count. Gets the image orientation. The image orientation. Gets or sets the requested orientation. The requested orientation. The method uses this value when placing converted image data into raster buffer. Gets the photometric interpretation of the image data. The photometric interpretation of the image data. Gets or sets the "get" method (the method that is called to produce RGBA raster). The "get" method. Gets or sets the "put" method (the method that is called to pack pixel data in the raster) used when converting contiguously packed samples. The "put" method used when converting contiguously packed samples. Gets or sets the "put" method (the method that is called to pack pixel data in the raster) used when converting separated samples. The "put" method used when converting separated samples. Reads the underlaying TIFF image and decodes it into RGBA format raster. The raster (the buffer to place decoded image data to). The zero-based byte offset in at which to begin storing decoded bytes. The raster width. The raster height. true if the image was successfully read and decoded; otherwise, false. GetRaster reads image into memory using current "get" () method, storing the result in the user supplied RGBA using one of the "put" ( or ) methods. The raster is assumed to be an array of times 32-bit entries, where must be less than or equal to the width of the image ( may be any non-zero size). If the raster dimensions are smaller than the image, the image data is cropped to the raster bounds. If the raster height is greater than that of the image, then the image data placement depends on the value of property. Note that the raster is assumed to be organized such that the pixel at location (x, y) is [y * width + x]; with the raster origin specified by the value of property. Raster pixels are 8-bit packed red, green, blue, alpha samples. The , , , and should be used to access individual samples. Images without Associated Alpha matting information have a constant Alpha of 1.0 (255). GetRaster converts non-8-bit images by scaling sample values. Palette, grayscale, bilevel, CMYK, and YCbCr images are converted to RGB transparently. Raster pixels are returned uncorrected by any colorimetry information present in the directory. Samples must be either 1, 2, 4, 8, or 16 bits. Colorimetric samples/pixel must be either 1, 3, or 4 (i.e. SamplesPerPixel minus ExtraSamples). Palette image colormaps that appear to be incorrectly written as 8-bit values are automatically scaled to 16-bits. All error messages are directed to the current error handler. Palette images with <= 8 bits/sample are handled with a table to avoid lots of shifts and masks. The table is setup so that put*cmaptile (below) can retrieve 8 / bitspersample pixel values simply by indexing into the table with one number. Greyscale images with less than 8 bits/sample are handled with a table to avoid lots of shifts and masks. The table is setup so that put*bwtile (below) can retrieve 8 / bitspersample pixel values simply by indexing into the table with one number. Get an tile-organized image that has PlanarConfiguration contiguous if SamplesPerPixel > 1 or SamplesPerPixel == 1 Get an tile-organized image that has SamplesPerPixel > 1 PlanarConfiguration separated We assume that all such images are RGB. Get a strip-organized image that has PlanarConfiguration contiguous if SamplesPerPixel > 1 or SamplesPerPixel == 1 Get a strip-organized image with SamplesPerPixel > 1 PlanarConfiguration separated We assume that all such images are RGB. Select the appropriate conversion routine for packed data. Select the appropriate conversion routine for unpacked data. NB: we assume that unpacked single channel data is directed to the "packed routines. Construct any mapping table used by the associated put method. Construct a mapping table to convert from the range of the data samples to [0, 255] - for display. This process also handles inverting B&W images when needed. YCbCr -> RGB conversion and packing routines. 8-bit palette => colormap/RGB 4-bit palette => colormap/RGB 2-bit palette => colormap/RGB 1-bit palette => colormap/RGB 8-bit greyscale => colormap/RGB 16-bit greyscale => colormap/RGB 1-bit bilevel => colormap/RGB 2-bit greyscale => colormap/RGB 4-bit greyscale => colormap/RGB 8-bit packed samples, no Map => RGB 8-bit packed samples => RGBA w/ associated alpha (known to have Map == null) 8-bit packed samples => RGBA w/ unassociated alpha (known to have Map == null) 16-bit packed samples => RGB 16-bit packed samples => RGBA w/ associated alpha (known to have Map == null) 16-bit packed samples => RGBA w/ unassociated alpha (known to have Map == null) 8-bit packed CMYK samples w/o Map => RGB. NB: The conversion of CMYK->RGB is *very* crude. 8-bit packed CIE L*a*b 1976 samples => RGB 8-bit packed YCbCr samples w/ 2,2 subsampling => RGB 8-bit packed YCbCr samples w/ 2,1 subsampling => RGB 8-bit packed YCbCr samples w/ 4,4 subsampling => RGB 8-bit packed YCbCr samples w/ 4,2 subsampling => RGB 8-bit packed YCbCr samples w/ 4,1 subsampling => RGB 8-bit packed YCbCr samples w/ no subsampling => RGB 8-bit packed YCbCr samples w/ 1,2 subsampling => RGB 8-bit unpacked samples => RGB 8-bit unpacked samples => RGBA w/ associated alpha 8-bit unpacked samples => RGBA w/ unassociated alpha 16-bit unpacked samples => RGB 16-bit unpacked samples => RGBA w/ associated alpha 16-bit unpacked samples => RGBA w/ unassociated alpha 8-bit packed YCbCr samples w/ no subsampling => RGB 8-bit packed CMYK samples w/Map => RGB NB: The conversion of CMYK->RGB is *very* crude. A stream used by the library for TIFF reading and writing. Reads a sequence of bytes from the stream and advances the position within the stream by the number of bytes read. A client data (by default, an underlying stream). An array of bytes. When this method returns, the contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source. The zero-based byte offset in at which to begin storing the data read from the current stream. The maximum number of bytes to be read from the current stream. The total number of bytes read into the . This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. A client data (by default, an underlying stream). An array of bytes. This method copies bytes from to the current stream. The zero-based byte offset in at which to begin copying bytes to the current stream. The number of bytes to be written to the current stream. Sets the position within the current stream. A client data (by default, an underlying stream). A byte offset relative to the parameter. A value of type indicating the reference point used to obtain the new position. The new position within the current stream. Closes the current stream. A client data (by default, an underlying stream). Gets the length in bytes of the stream. A client data (by default, an underlying stream). The length of the stream in bytes. Tiff tag methods. untyped data signed integer data unsigned integer data IEEE floating point data Sets the value(s) of a tag in a TIFF file/stream open for writing. An instance of the class. The tag. The tag value(s). true if tag value(s) were set successfully; otherwise, false. Gets the value(s) of a tag in an open TIFF file. An instance of the class. The tag. The value(s) of a tag in an open TIFF file/stream as array of objects or null if there is no such tag set. Prints formatted description of the contents of the current directory to the specified stream using specified print (formatting) options. An instance of the class. The stream to print to. The print (formatting) options. Install extra samples information.