Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,
Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
支持的平台
Aspose.Words 可作为 .NET、Java、C++ 和 Python 的四种不同产品使用,了解详细
.NET Framework | .NET Standard 2.0 | Xamarin.Android | Xamarin.iOS |
Xamarin.Mac | COM | Mono | Windows Azure |
系统要求
Aspose.Words for .NET支持任何安装了.NET framework、Mono或.NET Core的64位或32位操作系统
操作系统 | 版本 | 支持的云平台 |
微软Windows |
| Amazon Web Services |
Linux |
| |
苹果系统 |
| Microsoft Azure |
移动端 |
|
支持的框架、规范和实施 | .NET 标准 2.0 | 开发环境 |
|
|
|
支持的文档格式
下表显示了 Aspose.Words for .NET 支持的输入和输出文件格式:
格式 | 描述 | Load | save |
---|---|---|---|
DOC | Microsoft Word 97 – 2007 文档。 | ||
DOT | Microsoft Word 97 – 2007 模板。 | ||
DocPreWord60 | 文档为 Word 6 或 Word 95 格式。 | ||
DOCX | Office Open XML WordprocessingML 文档(无宏)。 | ||
DOCM | Office Open XML WordprocessingML 启用宏的文档。 | ||
DOTX | Office Open XML WordprocessingML 模板(无宏)。 | ||
DOTM | Office Open XML WordprocessingML 启用宏的模板。 | ||
FlatOpc | Office Open XML WordprocessingML 存储在平面 XML 文件而不是 ZIP 包中。 | ||
FlatOpcMacroEnabled | Office Open XML WordprocessingML 启用宏的文档存储在平面 XML 文件中,而不是 ZIP 包中。 | ||
FlatOpcTemplate | Office Open XML WordprocessingML 模板(无宏)存储在平面 XML 文件而不是 ZIP 包中。 | ||
FlatOpcTemplateMacroEnabled | Office Open XML WordprocessingML 启用宏的模板存储在平面 XML 文件中,而不是 ZIP 包中。 | ||
XML | XML 文档。 | ||
RTF | RTF 格式。 | ||
WordML | Microsoft Word 2003 WordprocessingML 格式。 | ||
HTML | HTML 或 XHTML 格式。 | ||
MHTML | MHTML(Web 存档)格式。 | ||
MOBI | MOBI 是 MobiPocket 阅读器和亚马逊 Kindle 阅读器使用的电子书格式。 | ||
AZW3 | AZW3 是亚马逊 Kindle 阅读器使用的一种电子书格式。 | ||
CHM | CHM(编译的 HTML 帮助)格式。 | ||
ODT | ODF 文本文档。 | ||
OTT | ODF 文本文档模板。 | ||
TXT | 纯文本。 | ||
MD | Markdown文件。 | ||
将文档另存为 PDF (Adobe Portable Document) 格式。 | |||
XPS | 以 XPS(XML 纸张规范)格式保存文档。 | ||
XamlFixed | 将可扩展应用程序标记语言 (XAML) 格式的文档另存为固定文档。 | ||
SVG | 以 SVG(可缩放矢量图形)格式保存文档。 | ||
HtmlFixed | 使用绝对定位的元素以 HTML 格式保存文档。 | ||
OpenXps | 以 OpenXPS (Ecma-388) 格式保存文档。 | ||
ps | 以 PS (PostScript) 格式保存文档。 | ||
PCL | 以 PCL(打印机控制语言)格式保存文档。 | ||
EPUB | 以 IDPF EPUB 格式保存文档。 | ||
XamlFlow | 将可扩展应用程序标记语言 (XAML) 格式的文档另存为流文档。 | ||
XamlFlowPack | 将可扩展应用程序标记语言 (XAML) 包格式的文档另存为流文档。 | ||
TIFF | 呈现文档的一页或多页并将它们保存到单个或多页 TIFF 文件中。 | ||
PNG | 呈现文档的页面并将其另存为 PNG 文件。 | ||
BMP | 呈现文档的一页并将其另存为 BMP 文件。 | ||
EMF | 呈现文档的一页并将其保存为矢量 EMF(增强型元文件)文件。 | ||
JPEG | 呈现文档页面并将其另存为 JPEG 文件。 | ||
GIF | 呈现文档页面并将其保存为 GIF 文件。 |
许可和订阅
免费试用或临时许可证
评估版与购买版相同——试用版只需添加几行代码即可获得许可。
但评估版在加载和保存时会在文档顶部插入一个评估水印,并将最大文档大小限制为几百个段落。
临时执照
如果您希望在不受试用版限制的情况下测试 Aspose.Words,您还可以申请一个 30 天的临时许可证。
购买的许可证
购买后,您需要申请许可文件或将许可文件作为嵌入资源包含在内。本节描述如何完成此操作的选项,以及对一些常见问题的评论。
您需要设置许可证:每个应用程序域仅一次/在使用任何其他 Aspose.Words 类之前
许可证申请选项
可以从不同位置应用许可证:
- 显式路径
- 包含Aspose.Words.dll文件的文件夹
- 包含调用Aspose.Words.dll的程序集的文件夹
- 包含入口程序集的文件夹(您的.exe)
- 程序集中的嵌入式资源称为Aspose.Words.dll
- 作为计量许可证——一种新的许可机制
当您在应用程序中引用Aspose.Words.dll时,该库将复制到您的输出目录(除非该条目的属性中的Copy Local设置为 false)。设置许可证最简单的方法通常是将许可证文件放在与Aspose.Words.dll相同的文件夹中,并仅指定文件名而不指定路径。
使用文件或流对象申请许可证
在开发应用程序时,在使用 Aspose.Words 类之前在启动代码中调用SetLicense 。
从文件加载许可证
使用SetLicense方法,您可以尝试在嵌入的资源或程序集文件夹中找到许可文件以供进一步使用。
以下代码示例显示如何从文件夹初始化许可证:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET Aspose.Words.License license = new Aspose.Words.License(); // This line attempts to set a license from several locations relative to the executable and Aspose.Words.dll. // You can also use the additional overload to load a license from a stream, this is useful for instance when the // license is stored as an embedded resource try { license.SetLicense("Aspose.Words.lic"); Console.WriteLine("License set successfully."); } catch (Exception e) { // We do not ship any license with this example, visit the Aspose site to obtain either a temporary or permanent license. Console.WriteLine("\nThere was an error setting the license: " + e.Message); }
从流对象加载许可证
以下代码示例显示如何使用另一个SetLicense方法从流中初始化许可证:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET Aspose.Words.License license = new Aspose.Words.License(); try { // Initializes a license from a stream MemoryStream stream = new MemoryStream(File.ReadAllBytes(@"Aspose.Words.lic")); license.SetLicense(stream); Console.WriteLine("License set successfully."); } catch (Exception e) { // We do not ship any license with this example, visit the Aspose site to obtain either a temporary or permanent license. Console.WriteLine("\nThere was an error setting the license: " + e.Message); }
将许可证文件作为嵌入式资源包括在内
将许可证与您的应用程序打包并确保它不会丢失的一种巧妙方法是将其作为嵌入式资源包含到调用 Aspose.Words 的程序集中。要将文件包含为嵌入式资源,请执行以下步骤:
- 在 Visual Studio 中,使用“文件 | ”将 .lic 文件包含到项目中。添加现有项目... ”菜单。
- 在 Solution Explorer 中选择文件,并在 Properties 窗口中设置“ Build Action to Embedded Resource” 。
- 在您的代码中,调用仅传递资源文件短名称的SetLicense 。
应用计量许可
Aspose.Words 允许开发人员应用计量密钥。这是一种新的许可机制。
新的许可机制将与现有的许可方法一起使用。那些希望根据 API 功能的使用情况进行计费的客户可以使用计量许可。
完成获得此类许可证的所有必要步骤后,您将收到密钥,而不是许可证文件。可以使用为此目的专门引入的Metered类来应用此计量密钥。
以下代码示例显示如何设置计量公钥和私钥:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET // set metered public and private keys Aspose.Words.Metered metered = new Aspose.Words.Metered(); // Access the setMeteredKey property and pass public and private keys as parameters metered.SetMeteredKey("*****", "*****"); // The path to the documents directory. string dataDir = RunExamples.GetDataDir_QuickStart(); // Load the document from disk. Document doc = new Document(dataDir + "Template.doc"); //Get the page count of document Console.WriteLine(doc.PageCount);
通常在应用程序启动时应用一次计量许可证就足够了。但是,如果计量许可机制在24小时内无法与Aspose服务器通信,Aspose.Words将退出许可模式并切换到评估模式,为避免这种情况,您应该定期检查许可状态,如果Aspose.Words变成评估模式,请重新申请计量许可证。
更改许可证文件名
许可证文件名不必是“Aspose.Words.LIC”。您可以根据自己的喜好重命名它,并在您的应用程序中设置许可证时使用该名称。
“找不到许可证文件名”异常
当您购买并下载许可证时,Aspose 网站将许可证文件命名为“Aspose.Words.LIC”。您使用浏览器下载许可证文件。在这种情况下,一些浏览器将许可文件识别为 XML 并向其附加 .xml 扩展名,因此您计算机上的完整文件名变为“Aspose.Words.lic.XML”。
当 Microsoft Windows 配置为隐藏已知文件类型的扩展名时(不幸的是,这是大多数 Windows 安装中的默认设置),许可证文件将显示为“Aspose.Words. LIC”在 Windows 资源管理器中。你可能会认为这是真实的文件名并调用SetLicense传递给它“Aspose.Words.LIC”,但是没有这样的文件,因此是异常。
要解决此问题,请重命名文件以删除不可见的 .xml 扩展名。我们还建议您禁用 Microsoft Windows 中的“隐藏扩展”选项。
使用多个 Aspose 产品
如果您在应用程序中使用多个 Aspose 产品,例如 Aspose.Words 和 Aspose.Cells,这里有一些有用的提示:
- 分别为每个 Aspose 产品设置 License。即使所有组件都有一个许可证文件,例如“Aspose.Total.lic”,您仍然需要为应用程序中使用的每个 Aspose 产品单独调用SetLicense 。
- 使用完全合格的许可证类别名称。每个 Aspose 产品在其自己的命名空间中都有一个License类。例如,Aspose.Words 有Aspose.Words.License,Aspose.Cells 有 Aspose.Cells.License 类。使用完全限定的类名可以避免混淆哪个许可证适用于哪个产品。