Metadata

Metadata class

Provides the main class to access metadata in all supported formats.

public sealed class Metadata : IDisposable

Constructors

Name Description
Metadata(Stream) Initializes a new instance of the Metadata class.
Metadata(string) Initializes a new instance of the Metadata class.
Metadata(Stream, LoadOptions) Initializes a new instance of the Metadata class.
Metadata(string, LoadOptions) Initializes a new instance of the Metadata class.

Properties

Name Description
FileFormat { get; } Gets the type of the loaded file (if recognized).

Methods

Name Description
AddProperties(Func<MetadataProperty, bool>, PropertyValue) Adds known metadata properties satisfying the specified predicate. The operation is recursive so it affects all nested packages as well.
Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
FindProperties(Func<MetadataProperty, bool>) Finds the metadata properties satisfying the specified predicate. The search is recursive so it affects all nested packages as well.
GeneratePreview(PreviewOptions) Creates preview images for specified pages.
GetDocumentInfo() Gets common information about the loaded document.
GetRootPackage() Gets the root package providing access to all metadata properties extracted from the file.
GetRootPackage<TRoot>() Gets the root package providing access to all metadata properties extracted from the file.
RemoveProperties(Func<MetadataProperty, bool>) Removes metadata properties satisfying the specified predicate.
Sanitize() Removes writable metadata properties from all detected packages or whole packages if possible. The operation is recursive so it affects all nested packages as well.
Save() Saves all changes made in the loaded document.
Save(Stream) Saves the document content into a stream.
Save(string) Saves the document content to the specified file.
SetProperties(Func<MetadataProperty, bool>, PropertyValue) Sets known metadata properties satisfying the specified predicate. The operation is recursive so it affects all nested packages as well. This method is a combination of AddProperties and UpdateProperties. If an existing property satisfies the predicate its value is updated. If there is a known property missing in a package that satisfies the predicate it is added to the package.
UpdateProperties(Func<MetadataProperty, bool>, PropertyValue) Updates known metadata properties satisfying the specified predicate. The operation is recursive so it affects all nested packages as well.

See Also