Aspose.Words FAQ

Technical Support

Is Aspose.Words technical support free?

Yes, we provide unlimited free technical support for all users of our products including customers and evaluation.

The main avenue for technical support is the Support Forums. Post your questions and they will be answered quickly, but take time zones into consideration when expecting an answer.

I have a problem with Aspose.Words, what should I do?

In order to help us solve your issues quicker, please follow these simple rules:

  1. Make sure you use the latest Aspose.Words before reporting the issue.
  2. Browse through this FAQ, the Support Forum and Aspose.Words Documentation before reporting the issue.
  3. If it still does not help, attach the original document (before processed by Aspose.Words) and a fragment of your code that causes the problem. If you need to attach multiple files, zip them.
  4. Report one issue per thread. If you have another issue, report it in a separate thread.

I have a problem with Aspose.Words for Reporting Services, what should I do?

If you have a problem, we usually need to reproduce it in our tests. To speed this process up:

  1. Attach the .rdl report(s) that cause the issue(s) to your post.
  2. Attach the resulting Microsoft Word documents produced by the rendering extension.
  3. Describe the problem; specify what error you get, what document formatting is incorrect etc.
  4. Attach your data source if possible. A neat way of extracting a database to send is backing it up to a single disk file.

Is it safe to attach my documents in the Support Forums?

Yes, it is safe. Your attachments can be downloaded only by you and Aspose staff.

New Releases, Upgrades and Fixes

How to find information about new Aspose.Words releases?

Aspose.Words releases are published regularly every month in the Downloads section. Packages are also available on:

The detailed information about each release is published in Release Notes section in .NET, Java, C++ and Python documentation.

Other platforms of Aspose.Words Product Family are also available in the Downloads section. On this page, we will focus on .NET, Java, C++, and Python as the most popular, but you can ask a question on any platform that interests you in this support forum.

Can I upgrade for free?

If you purchased a license for Aspose.Words, it means you have a 1-year subscription for free upgrades to any new Aspose.Words version that comes out. Any Aspose.Words version released before the subscription expiry date - you can just download and use it.

If you want to check when your subscription expires, open the license file in Notepad (but take care not to modify and save the license file or it will no longer work) and see the SubscriptionExpiry field.

<SubscriptionExpiry>20220218</SubscriptionExpiry>

It means that you can free upgrade to version of Aspose.Words published before 02/18/2022.

How to get information about fixes?

If you left a report on the forum, we will write you a reply message as soon as your problem is resolved.

If you have not created a forum post but want to check what changes were made to some Aspose.Words version, please see the appropriate Release Notes section in the Aspose.Words Documentation for your platform.

Licensing

How to remove the “Evaluation Only. Created with Aspose.Words…” message?

This is an evaluation message inserted automatically when using Aspose.Words in the evaluation mode (e.g. without a license). To remove the message, you need to buy a license and apply it programmatically before instantiating the Document object. You can also request a free 30-day temporary license to evaluate Aspose.Words without the message.

How to apply a license?

  1. Copy the license file into the folder that contains assemblies of your project or include the license file as an embedded resource into your project.

  2. Create an object of the Aspose.Words.License class and call the SetLicense method passing only the file name of the license file without path:

C#
Aspose.Words.License license = new Aspose.Words.License();
license.SetLicense("Aspose.Words.lic");
Java
com.aspose.words.License license = new com.aspose.words.License();
license.setLicense("Aspose.Words.Java.lic");
C++
auto license = MakeObject<License>();
license->SetLicense(u"Aspose.Words.Cpp.lic");
Python
lic = aspose.words.License()
lic.set_license("Aspose.Words.Python.NET.lic")

For more information about licensing see License Aspose.Words for .NET, Java, C++ or Python in the documentation.

How to license several products?

If you purchased Aspose.Total or several products in one order, you might have just a single license file supplied to you. If you use several products in your project, you need to apply the license to each product separately. Each product has a corresponding Aspose.XXX.License class that you need to instantiate.

The following example shows how to license two products Aspose.Words and Aspose.Pdf:

C#
Aspose.Words.License awLic = new Aspose.Words.License();
awLic.SetLicense("Aspose.Custom.lic");

Aspose.Pdf.License apLic = new Aspose.Pdf.License();
apLic.SetLicense("Aspose.Custom.lic");

I apply a license like shown above, but the evaluation message is still there

  • Make sure your call to SetLicense gets executed. Step through in the debugger.
  • Make sure your code does not catch an exception thrown by Aspose.Words licensing code. For example, Aspose.Words will throw if it cannot find the license.
  • Make sure the input documents do not already have the evaluation message. Aspose.Words does not delete existing evaluation messages.
  • Make sure SetLicense is executed before you instantiate any Document object.
  • If nothing from above helped, please report the problem in this forum.

How to send your license file to an Aspose staff member?

Do not post your license in the public forum. Post your license file via private message. In order to send a private message with attachment, click on Aspose staff name in the forum and find “Message” button.

Supported Environments

What .NET Framework Versions are Supported?

Aspose.Words for .NET supports .NET 2.0 or newer, Mono 2.6.7 or newer and .NET Standard 2.0 specification and its implementations, i.e. .NET Core 2.0, .NET Core 2.1, .NET Core 3.0, .NET 5.0, .NET 6.0
See Supported Frameworks, Specifications, and Implementations section in Aspose.Words documentation for more information.

What Java Versions are Supported?

Aspose.Words for Java supports Java 7 and newer. If you are forced to use Java 6, we still release a separate JAR for Java 6. For more information see System Requirements section in the documentation.

What Python Versions are Supported?

Aspose.Words for Python can be used where Python 3.5 or later is installed. For more information see System Requirements section in the documentation.

Why images disappear when render document on the server but are properly rendered on development machine in .NET Core?

Most likely your application is deployed to Linux server, but the development environment is Windows.
Aspose.Words for .NET Standard uses SkiaSharp to deal with graphics, to make it work on Linux you have to add reference either to SkiaSharp.NativeAssets.Linux or to SkiaSharp.NativeAssets.Linux.NoDependencies

If you add reference to SkiaSharp.NativeAssets.Linux, you should also install libfontconfig1 in your system. SkiaSharp.NativeAssets.Linux depends on this library. You can use the following command to install it:

apt-get update && apt-get install -y libfontconfig1

If you do not have rights to install packages, or other reasons not to install libfontconfig1, you can simply use SkiaSharp.NativeAssets.Linux.NoDependencies, which does not require installation of libfontconfig1.

Conversions

How to convert Word to PDF

Converting from Word document format into the PDF format in Aspose.Words is very easy and can be accomplished with just two lines of code that:

  1. Loads the document into Document object.
  2. Saves the Document as PDF.
C#
Aspose.Words.Document doc = new Aspose.Words.Document("in.docx");
doc.Save("out.pdf");
Java
com.aspose.words.Document doc = new com.aspose.words.Document("in.docx");
doc.save("out.pdf");
C++
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"in.docx");
doc->Save(u"out.pdf");
Python
doc = aspose.words.Document("in.docx")
doc.save("out.pdf")

How to convert PDF to Word

Converting from PDF document format into the Word format in Aspose.Words can be accomplished with just two lines of code that:

  1. Loads the PDF document into Document object.
  2. Saves the Document in format of your choice from wide range of supported formats.

NOTE: Loading PDF document is supported only in .NET 4.61, .NET Standard and Python version of Aspose.Words.

C#
Aspose.Words.Document doc = new Aspose.Words.Document("in.pdf");
doc.Save("out.docx");
Python
doc = aspose.words.Document("in.pdf")
doc.save("out.docx")

File Formats

What file formats does Aspose.Words support?

Aspose.Words supports a wide range of document formats, like DOC, DOCX, RTF, PDF and many others. The full list is available in in Aspose.Words documentation.

Can you provide details about what features of every document format are supported by Aspose.Words?

Yes, see What Features Are Supported in Aspose.Words for .NET, Java, C++ or Python in the documentation. These pages provide details for all supported formats including helpful overviews and links for each feature.

Fields

Does Aspose.Words support field update?

Yes, Aspose.Words supports field update, including IF fields. For a detailed list of supported field types, see Working With Fields in Aspose.Words for .NET, Java, C++ or Python in the documentation.

Does Aspose.Words support Table Of Contents (TOC) fields?

Yes. Aspose.Words fully supports TOC fields. You can insert and update (completely rebuild) a TOC field in Aspose.Words and the TOC will look exactly as it was updated by Microsoft Word.

Mail Merge

Can I do a mail merge for parent-child (nested) data?

Yes. Aspose.Words supports nested mail merge regions and it allows you to generate reports from master-detail (parent-child) data with ease. If you are using .NET and your data is inside a .NET DataSet object that has proper DataTable and DataRelationship objects set up, then all you need to do is pass a DataSet to the Aspose.Words mail merge engine. It will automatically figure out data relationships and generate a report with the required data.

If you are using Java, nested mail merge with regions can be executed using the data retrieved from a data source in the form of a ResultSet. Each ResultSet represents a region in the document. They are wrapped into a special Aspose.Words class called DataTable and this set of DataTable objects are added together into a new DataSet object. Relationships between each of the DataTable objects are created by using the DataRelation class.

Additionally, it is also easy to implement your own mail merge data source interfaces for both platforms by using the IMailMergeDataSource and IMailMergeDataSourceRoot to generate a report from any data source be it a LINQ query, XML file or a set of business objects.

Printing and Viewing

Can Aspose.Words print my documents on a server?

Yes. See Rendering and Printing in Aspose.Words for .NET or Java in the documentation. In .NET there are two ways to print: via the .NET printing infrastructure or via the XpsPrint API. In a Java you can print using the standard Java Printing API.

When using the .NET printing, the easiest way to print is using the Aspose.Words.Document.Print method. It is also possible to completely customize the printing process, see the Aspose.Words.Rendering.AsposeWordsPrintDocument class.

If you want to print via the XpsPrint API, you need to use Aspose.Words.Document to convert a document to XPS first and then send it to the XpsPrint API. For more info see Print a Document on a Server via the XpsPrint API.

NOTE: Printing feature is not supported in .NET Standard, C++ and Python versions of Aspose.Words.

Is it possible to know the number of pages the document has?

Yes. See the PageCount property of the Aspose.Words.Document class.

Microsoft Word documents store content linearly without any information about where each particular page starts or ends. To find page boundaries, Aspose.Words lays the content of the document into pages and detect when the pages are filled up - this process is called pagination.

Can Aspose.Words be used to extract specific pages from the document?

Yes. ExtractPages method of Aspose.Words.Document class returns the Aspose.Words.Document object representing specified range of pages.

Styles

Can I use table styles in Aspose.Words?

Yes, you can freely access and modify table style properties in a document. You can also set which conditional formatting features are enabled or disabled. Table formatting will correctly convert to other formats and print. You can also get and set table styles onto a table using the Aspose.Words public API.

Macros

Does Aspose.Words preserve macros?

Yes, Aspose.Words preserves macros (VBA project) existing in a Word document without changes, you can also add new and edit existing macros, but there is no way to run macros using Aspose.Words.