This guide explains the different licensing options available for GroupDocs.Total for .NET and how to properly set up licensing in your applications.
Overview
GroupDocs.Total for .NET offers multiple licensing options to suit your needs:
Free Trial for evaluation
30-day Temporary License
Purchased License
Metered License (pay-as-you-go)
Note
For detailed information about our licensing policies and frequently asked questions, please visit the Purchase Policies and FAQ section.
Evaluation Options
Free Trial
The evaluation version is identical to the purchased version and becomes fully licensed once you set the license. However, it includes the following limitations:
Evaluation watermark on output documents
Page processing limits (varies by product)
Other product-specific limitations
Temporary License
For testing without trial limitations, you can request a 30-day Temporary License:
Follow the instructions to request your temporary license
Apply the license using one of the methods described below
License Application
Important Notes
Set the license only once per application domain
Set the license before using any GroupDocs.Total classes
Multiple calls to SetLicense are safe but unnecessary
Multiple calls to SetMeteredKey should be avoided to prevent improper consumption tracking
License File Locations
You can apply licenses from various locations:
Explicit file path
Same folder as GroupDocs.Total.dll
Same folder as the calling assembly
Same folder as the entry assembly (.exe)
As an embedded resource
License Application Methods
1. From a File
stringlicensePath="GroupDocs.Total.lic";// Set license for all productsGroupDocs.Total.License.SetLicense(licensePath);// Or set license for specific productsGroupDocs.Viewer.LicenselicenseViewer=newGroupDocs.Viewer.License();licenseViewer.SetLicense(licensePath);GroupDocs.Conversion.LicenselicenseConversion=newGroupDocs.Conversion.License();licenseConversion.SetLicense(licensePath);
2. From a Stream
stringlicensePath="GroupDocs.Total.lic";using(FileStreamlicenseStream=File.OpenRead(licensePath)){// Set license for all productsGroupDocs.Total.License.SetLicense(licenseStream);// Or set license for specific productsGroupDocs.Viewer.LicenselicenseViewer=newGroupDocs.Viewer.License();licenseViewer.SetLicense(licenseStream);GroupDocs.Conversion.LicenselicenseConversion=newGroupDocs.Conversion.License();licenseConversion.SetLicense(licenseStream);}
3. As an Embedded Resource
To use an embedded license:
Add the license file to your project
Set its Build Action property to “Embedded Resource”
Ensure the license name matches the parameter in SetLicense
// Set license for all productsGroupDocs.Total.License.SetLicense("GroupDocs.Total.lic");// Or set license for specific productsGroupDocs.Viewer.LicenselicenseViewer=newGroupDocs.Viewer.License();licenseViewer.SetLicense("GroupDocs.Total.lic");GroupDocs.Conversion.LicenselicenseConversion=newGroupDocs.Conversion.License();licenseConversion.SetLicense("GroupDocs.Total.lic");
4. Metered License
For pay-as-you-go licensing, use the Metered License option. For more details, see the Metered Licensing FAQ.
stringpublicKey="";// Your public license keystringprivateKey="";// Your private license key// Set metered keys for GroupDocs.ViewerGroupDocs.Viewer.MeteredmeteredViewer=newGroupDocs.Viewer.Metered();meteredViewer.SetMeteredKey(publicKey,privateKey);// Get consumption metricsdecimalamountConsumed=GroupDocs.Viewer.Metered.GetConsumptionQuantity();decimalcreditsConsumed=GroupDocs.Viewer.Metered.GetConsumptionCredit();// Set metered keys for GroupDocs.ConversionGroupDocs.Conversion.MeteredmeteredConversion=newGroupDocs.Conversion.Metered();meteredConversion.SetMeteredKey(publicKey,privateKey);
Troubleshooting
License File Naming
You can rename the license file as needed
Ensure the filename in your code matches the actual file name
Common Issues
Can’t find a license file
If you’re setting a license file using a relative path and encountering issues, try using the absolute file path instead.
Was this page helpful?
Any additional feedback you'd like to share with us?
Please tell us how we can improve this page.
Thank you for your feedback!
We value your opinion. Your feedback will help us improve our documentation.
On this page
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.