GroupDocs.Metadata 26.6.0

Prefix Reserved
dotnet add package GroupDocs.Metadata --version 26.6.0
                    
NuGet\Install-Package GroupDocs.Metadata -Version 26.6.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="GroupDocs.Metadata" Version="26.6.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="GroupDocs.Metadata" Version="26.6.0" />
                    
Directory.Packages.props
<PackageReference Include="GroupDocs.Metadata" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add GroupDocs.Metadata --version 26.6.0
                    
#r "nuget: GroupDocs.Metadata, 26.6.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package GroupDocs.Metadata@26.6.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=GroupDocs.Metadata&version=26.6.0
                    
Install as a Cake Addin
#tool nuget:?package=GroupDocs.Metadata&version=26.6.0
                    
Install as a Cake Tool

Manage Document Metadata using .NET API

Package version Package downloads .NET

banner


Product Page Docs API Ref Examples Blog Releases Support License


Extract, edit, and remove metadata from documents, images, audio, and video files. This package automatically selects the correct runtime assemblies for your target framework.

Install

dotnet add package GroupDocs.Metadata

Important (since v26.6): GroupDocs.Metadata is a TFM-split metapackage. It routes to a single runtime package that matches your project’s target framework (e.g. .NET Framework 4.7.2, .NET 6, .NET 8). .NET Standard runtimes are no longer published/supported starting with v26.6.

Runtime Selection (TFM Split)

GroupDocs.Metadata is a lightweight router (metapackage). When you install it, NuGet pulls exactly one runtime package matching your project's target framework.

Available Runtime Packages

Package Target Framework
GroupDocs.Metadata.Net472 .NET Framework 4.7.2
GroupDocs.Metadata.Net60 .NET 6.0
GroupDocs.Metadata.Net80 .NET 8.0

You can also install a specific runtime package directly if you want full control.

GroupDocs.Metadata for .NET is a full featured class library which allows users to read and edit metadata associated with various document, image, audio, video and many other formats. It works with most notable metadata standards: XMP, EXIF, IPTC, Image Resource Blocks, ID3 and format-specific metadata properties.

Key Features

  • Reading, updating and removing metadata in a variety of formats
  • Searching, updating and removing particular metadata properties that satisfy a specified predicate
  • Using tags to easily manipulate most common metadata properties in a unified manner
  • Working with password-protected documents
  • Extracting information about hidden document pages, digital signatures, user comments, revisions, etc
  • Working with the most popular metadata standards: IPTC, XMP, EXIF, Image Resources
  • Manipulating native metadata properties in various formats, extracting technical information from images, audio and video files
  • Calculating common document statistics (word count, character count, etc)

See the Features overview documentation topic for more details.

Supported platforms

  • Windows: Microsoft Windows XP and later, Microsoft Windows Server 2003 and later.
  • Linux: Ubuntu, OpenSUSE, CentOS, and others.
  • macOS: Catalina (10.15) and later.

See the System requirements documentation topic for more details.

Supported formats

Supported Formats (high level)

This API supports a broad set of document and media formats, including:

  • Word Processing: DOC, DOCX, DOCM, ODT, DOT, DOTM
  • Spreadsheets: XLS, XLSX, XLSM, ODS, XLSB, XLT
  • Presentations: PPT, PPTX, PPS, PPSX, POT, POTM
  • PDF: PDF
  • Images: JPG, PNG, TIFF, BMP, GIF, PSD
  • Audio/Video: MP3, WAV, OGG, AVI, MOV, MKV, ASF, FLV, MK3D
  • Archives/Fonts: ZIP, 7Z, CB7, CBR, CBT, CBZ, OTF, TTF, OTC, TTC

Supports 110+ formats. For the full list, see: https://docs.groupdocs.com/metadata/net/supported-document-formats/

See the Supported file formats documentation topic for a complete list.

Getting Started

To get started with GroupDocs.Metadata install the package using the command at the top of this NuGet page, or run:

dotnet add package GroupDocs.Metadata

You can run the following C# samples to see how the library works. Also check the Examples repository for other common use cases.

Remove all recognized metadata properties from a file

Sometimes you may need to just remove all or clean metadata properties without applying any filters. The best way to do this is to use the Sanitize method. This example demonstrates how to remove all detected metadata packages/properties.

using (Metadata metadata = new Metadata(Constants.InputPdf))
{
	// Remove detected metadata packages
	var affected = metadata.Sanitize();
	Console.WriteLine("Properties removed: {0}", affected);

	metadata.Save(Constants.OutputPdf);
}
Use tags to find most common metadata properties

To make manipulating metadata in your code easier we attach specific tags to the most commonly used metadata properties extracted from a file. Some metadata standards can have quite a complex structure. Moreover, in most cases, an image, video or document contains more than one metadata packages. Using tags you can search for desirable properties with a few lines of code without even knowing the exact format of the loaded file. In this article we will demonstrate how to search and extract metadata from PPTX Microsoft PowerPoint presentation. Using the same code, you can easily search matadata properties of any supported file formats.

// Constants.InputPptx is an absolute or relative path to your document. Ex: @"C:\Docs\source.pptx"
using (Metadata metadata = new Metadata(Constants.InputPptx))
{
	// Fetch all the properties satisfying the predicate:
	// property contains the name of the last document editor OR the date/time the document was last modified
	var properties = metadata.FindProperties(p => p.Tags.Contains(Tags.Person.Editor) || p.Tags.Contains(Tags.Time.Modified));

	foreach (var property in properties)
	{
		Console.WriteLine("Property name: {0}, Property value: {1}", property.Name, property.Value);
	}
}
Generate Document Preview

If you need to implement a UI for your application it can be useful to generate image previews for a document the users are going to work with. Such previews can be easily displayed on a web page or in an appropriate component of a desktop/mobile application. The code sample below demonstrates how to generate image previews for certain document pages. Here are the steps to generate a document preview for a particular page:

using (Metadata metadata = new Metadata(Constants.InputDocx))
{
	PreviewOptions previewOptions = new PreviewOptions(pageNumber => File.Create($"{Constants.OutputPath}\\result_{pageNumber}.png"));
	previewOptions.PreviewFormat = PreviewOptions.PreviewFormats.PNG;
	previewOptions.PageNumbers = new int[] { 1 };
	metadata.GeneratePreview(previewOptions);
}
Get Document Info

GroupDocs.Metadata allows users to get meta information of a document which includes: * File format (detected by the internal structure)

// Constants.InputXlsx is an absolute or relative path to your document. Ex: @"C:\Docs\source.xlsx"
using (Metadata metadata = new Metadata(Constants.InputXlsx))
{
	if (metadata.FileFormat != FileFormat.Unknown)
	{
		IDocumentInfo info = metadata.GetDocumentInfo();
		Console.WriteLine("File format: {0}", info.FileType.FileFormat);
		Console.WriteLine("File extension: {0}", info.FileType.Extension);
		Console.WriteLine("MIME Type: {0}", info.FileType.MimeType);
		Console.WriteLine("Number of pages: {0}", info.PageCount);
		Console.WriteLine("Document size: {0} bytes", info.Size);
		Console.WriteLine("Is document encrypted: {0}", info.IsEncrypted);
	}
}

Licensing

For testing without trial limitations, request a Temporary License.

Evaluation builds include full API surface with evaluation limitations. See the product documentation for licensing details.

Support

Our technical support is available to all users, including those evaluating our product. We offer assistance through our Free Support Forum and Paid Support Helpdesk. Let us know if you have any questions or issues, and we'll do our best to help you.


Docs API Ref Examples Blog Releases Support License


Tags

metadata | edit-metadata | read-metadata | track-changes | document-properties | metadata-cleaner | metadata-cleanup | remove-metadata | search-metadata | compare-metadata | xmp-editor | mime | mime-type | torrent | opentype | word | doc | docx | xls | xlsx | powerpoint | ppt | pptx | visio | vsd | vsdx | mpp | one | odp | ods | odt | pdf | dwg | eml | msg | bmp | djvu | jpg | psd | tiff | mp3 | wav | avi | flv | mkv | qt | epub | otf | ttf | zip | heif

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Framework net472 is compatible.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
26.6.0 51 6/17/2026
26.5.0 300 5/6/2026
26.3.0 948 3/31/2026
26.1.0 1,106 1/30/2026
25.10.0 1,868 11/6/2025
25.8.0 1,435 8/1/2025
25.7.0 346 7/17/2025
25.6.0 360 6/25/2025
25.5.0 683 5/27/2025
25.4.0 778 4/21/2025
25.3.0 916 3/20/2025
25.2.0 1,064 2/27/2025
25.1.0 2,722 1/22/2025
24.12.0 428,491 12/23/2024
24.11.0 10,289 11/19/2024
24.10.0 2,557 10/17/2024
24.9.0 67,911 9/20/2024
24.8.0 2,307 8/12/2024
24.7.0 2,107 7/24/2024
24.6.0 2,300 6/20/2024
Loading failed