Aspose.Words is a class library that enables your applications to perform a great range of document processing tasks. Aspose.Words supports DOC, OOXML, RTF, HTML, OpenDocument, PDF, EPUB and other formats. With Aspose.Words you can generate, modify, convert, render and print documents without utilizing Microsoft Word®.
Using Aspose.Words in your project gives you the following benefits:
- Rich Set of Features
- No Microsoft Word Automation
- Platform Independence
- Performance and Scalability
- Minimal Learning Curve
Rich Set of Features
Aspose.Words features can be divided into four main areas:
- Conversions. High quality conversions to and from DOC, OOXML, RTF, WordprocessingML, HTML, MHTML, TXT and OpenDocument formats.
- Document Object Model. Programmatic access through a rich API to all document elements and formatting allows to create, modify, extract, copy, split, join, and replace document content.
- NEW Rendering. Convert whole documents or pages to PDF files, TIFF, PNG, BMP or EMF images. Print or render pages to .NET Graphics. All with high fidelity - exactly like Microsoft Word® would have done it.
- Reporting. Generate documents or reports from scratch or by filling templates with data from data sources or business objects.
Four main feature areas of Aspose.Words and how they relate to each other.
Some features available in Aspose.Words for .NET are not available in Aspose.Words for Java. For a detailed list of supported features, see the Aspose.Words Features section.
This documentation covers both Aspose.Words for .NET and Aspose.Words for Java. The differences between the two products are noted where applicable.
No Microsoft Word Automation
Aspose.Words does not require Microsoft Office to be installed on the machine in order to work. All Aspose components are totally independent and are not affiliated with, nor authorized, sponsored, or otherwise approved by Microsoft Corporation. In short, Aspose.Words is a better alternative to automation in terms of security, stability, scalibility/speed, price and features. For more information see Why not Automation.
Platform Independence
Aspose.Words for .NET and Aspose.Words for Java are “twin brothers” products and together cover most of the popular development environments and deployment platforms.
You can use Aspose.Words for .NET to build any type of a 32-bit or 64-bit .NET application including ASP.NET, Web Services and WinForms. It is possible to use Aspose.Words for .NET via COM Interop from ASP, Perl, PHP and Python. You can even use Aspose.Words for .NET to build applications with Mono.
Aspose.Words for Java is available for Java 1.4, 1.5 and 1.6 and will run in any place where Java is installed. It is possible to use Aspose.Words for Java from Perl, PHP and Python.
Performance and Scalability
Aspose.Words is designed to perform great both on a server or client. Aspose.Words is a single .NET assembly/JAR archive that can be deployed with any .NET or Java application by simply copying it. You do not have to worry about any other services or modules.
You can literally generate thousands of documents in minutes with Aspose.Words and that involves opening a document, modifying content and formatting or populating it with data and saving it. Even most of the complex documents are opened and saved on a P4 2.4Ghz 1Gb RAM machine in fractions of a second.
Aspose.Words is multithread safe as long as only one thread works on a document at a time. It is a typical scenario to have one thread working on one document. Different threads can safely work on different documents at the same time.
Minimal Learning Curve
Although there are over 150 public classes and enumerations in Aspose.Words, the learning curve is minimal because the Aspose.Words API is modeled on two other well-known APIs:
- Microsoft Word Object Model
- System.Xml namespace in the .NET Framework
Developers, who used Microsoft Word Automation in their projects before, will find names and behavior of many classes, methods and properties familiar. Document, Paragraph, Bookmark, Range, PageSetup, ParagraphFormat are some of the Aspose.Words classes.
At the same time, Aspose.Words is quite different from the Microsoft Word Object Model in that it represents the document as a tree of objects. If you worked with the XML DOM classes in the System.Xml namespace in .NET, you will find it is easy to understand and work with Aspose.Words.