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
<PackageReference Include="GroupDocs.Metadata" Version="26.6.0" />
<PackageVersion Include="GroupDocs.Metadata" Version="26.6.0" />
<PackageReference Include="GroupDocs.Metadata" />
paket add GroupDocs.Metadata --version 26.6.0
#r "nuget: GroupDocs.Metadata, 26.6.0"
#:package GroupDocs.Metadata@26.6.0
#addin nuget:?package=GroupDocs.Metadata&version=26.6.0
#tool nuget:?package=GroupDocs.Metadata&version=26.6.0
Manage Document Metadata using .NET API
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.Metadatais 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.
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 | Versions 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. |
-
.NETFramework 4.7.2
- GroupDocs.Metadata.Net472 (= 26.6.0)
-
net6.0
- GroupDocs.Metadata.Net60 (= 26.6.0)
-
net8.0
- GroupDocs.Metadata.Net80 (= 26.6.0)
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 |
