Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。(技术交流q群:761297826)
Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
Aspose.Words 为用户提供了广泛的功能。用户可以执行大量与文档相关的任务——从简单地将文档从一种受支持的格式转换为另一种格式并在转换过程中修改这些文档到业务任务,例如创建结构化和视觉上吸引人的文档或自动报告。
现代文档格式和标准很复杂,当您在项目中需要文档转换或其他文档处理功能时,唯一实用的解决方案通常是依赖实现所需功能的第三方组件。但是使用第三方组件总是会带来一些风险。文档处理中的一个独特风险是关于图书馆如何完整和正确地实施特定文档格式或标准的问题。
Aspose 致力于提供最完整、最准确的文档格式和标准实施。Aspose.Words 团队通过为跨多个平台的受支持文档格式提供详细的实施说明,展示了他们对互操作性的承诺。
下表总结并比较了 Aspose.Words for .NET 功能的可用性,并提供了详细功能描述的链接。
平台概览
下面列出了 Aspose.Words for .NET 可以使用的平台。如果您需要对更多平台的支持,请寻找“孪生兄弟”产品 Aspose.Words for Java。
特征 | 描述 |
---|---|
.NET Framework | 使用 Aspose.Words for .NET 为任何 .NET Framework 2.0 或更高版本(包括 Client Profile 版本)构建 ASP.NET、Web 服务、WinForms 或任何其他类型的应用程序。完全支持 32 位和 64 位。 |
.NET Standard 2.0 | “netstandard2.0”和“netstandard2.0_AuthenticodeSigned”文件夹包含与实现 .NET Standard 2.0(例如 .NET Core 2.0/2.1/2.2/3.0/3.1)的框架一起使用的程序集。最新版本的 Aspose.Words API 还支持 .NET 5.0 和 .NET 6.0。 |
Xamarin.Android | 在您的本机 Android 应用程序中使用 Aspose.Words for .NET。 |
Xamarin.iOS | 在您的本机 iOS 应用程序中使用 Aspose.Words for .NET。 |
Xamarin.Mac | 在您的本机 Mac 应用程序中使用 Aspose.Words for .NET。 |
COM | 如果您必须使用 .NET 之前的技术进行开发,它可以成为救星。 |
Mono | 您可以使用 Aspose.Words for .NET 来构建带有 Mono 的应用程序。 |
Windows Azure | 是的,Aspose.Words for .NET 在 Windows Azure 上运行。 |
文件格式和转换
世界各地的许多客户都依赖 Aspose.Words 提供的全面的文档导入和导出功能。
特征 | 描述 | .NET | .NET 标准 2.0 | Xamarin. Android | Xamarin .iOS | Xamarin .Mac |
---|---|---|---|---|---|---|
Microsoft Word - DOC | 您可以找到的最快、最完整的 DOC 格式实现。 | |||||
WordprocessingML - DOCX and XML | Aspose.Words 提供详尽的支持 OOXML、Flat OPC 以及 Word 2003 XML。 | |||||
Rich Text Format - RTF | 全面支持RTF格式,可与多种应用交互。 | |||||
HTML, XHTML and MHTML | 加载和保存 HTML/XHTML 以获得更好的互操作性。另存为 MHTML 也可用。 | |||||
OpenDocument - ODT | Aspose.Words 可以加载和保存 OpenDocument Text (.odt) 格式的文档。 | |||||
Adobe Portable Document Format - PDF | 将任何文档高保真地转换为 PDF。支持 PDF/A。 | |||||
XML Paper Specification - XPS | 将任何文档高保真地转换为 XPS。 | |||||
Plain Text - TXT | 通过以纯文本格式保存轻松提取文本。 | |||||
Digital Publishing EPUB | EPUB 是一种流行的电子书格式。您可以将任何文档从 Aspose.Words 转换为 IDPF EPUB 格式。 | |||||
Printer Command Language (PCL) | Aspose.Words for .NET 支持将文档保存为 PCL 格式。 |
渲染和打印
Aspose.Words 现在提供文档页面的高保真渲染。
特征 | .NET | .NET 标准 2.0 | Xamarin.Android | Xamarin.iOS | Xamarin.Mac |
---|---|---|---|---|---|
将文档布局到以下所有格式的高保真页面(就像 Microsoft Word® 那样)。 | |||||
将单个页面或完整文档呈现为 PDF 或 XPS。 | |||||
将文档页面呈现为 BMP 图像 | |||||
将文档页面呈现为图像(PNG、EMF、JPEG、GIF)。 | |||||
将文档中的单个形状渲染为光栅或矢量图像。 | |||||
指定图像分辨率、质量、压缩和其他选项。 | |||||
将页面或形状渲染到具有特定大小的转换的 .NET 图形对象。 | |||||
使用 .NET 打印基础结构打印文档页面。 | |||||
在呈现或打印之前更新目录、页码和其他字段。 |
文件内容特征
Aspose.Words 提供了一个由超过 100 个公共类组成的丰富的对象模型,允许您以编程方式生成、组合、修改、解析或以其他方式检查加载的文档。
特征 | .NET | .NET 标准 2.0 | Xamarin.Android | Xamarin.iOS | Xamarin.Mac |
---|---|---|---|---|---|
访问、创建和修改段落和文本。 | |||||
访问、创建和修改图像、文本框和形状。 | |||||
访问、创建和修改表格、行和单元格。 | |||||
访问、创建和修改字段、表单字段、超链接和书签。 | |||||
访问、创建和修改文档部分、页眉和页脚。 | |||||
访问、创建和修改脚注、尾注和评论。 | |||||
访问、创建和修改自定义 XML、智能标签和结构化文档标签(内容控件)。 | |||||
使用类似XmlDocument的类和方法访问和修改所有文档元素。 | |||||
更新字段结果 IF、公式和其他流行的字段类型。 | |||||
完全像 Microsoft Word 一样重建和更新目录 (TOC) 字段。 | |||||
在文档之间复制和移动文档元素。 | |||||
加入和拆分文档。 | |||||
获取和设置内置和自定义文档属性。 | |||||
指定文档保护,打开受保护和加密的文档。 | |||||
查找和替换文本,枚举文档内容。 | |||||
接受文档中的所有修订。 | |||||
从文档中保留或提取 OLE 对象和 ActiveX 控件。 | |||||
从文档中保留或删除 VBA 宏。保留 VBA 宏数字签名。 | |||||
检测和验证文档中的数字签名。 | |||||
插入 HTML 文本。 | |||||
从 Word 文档中提取 VBA 宏。 |
文档格式功能
Aspose.Words 提供对所有文档元素的格式化属性的详细编程访问。
特征 | .NET | .NET 标准 2.0 | Xamarin.Android | Xamarin.iOS | Xamarin.Mac |
---|---|---|---|---|---|
访问和修改所有字符格式,包括字体、颜色、效果、边框和阴影。 | |||||
访问和修改所有段落格式,包括缩进、间距、边框和阴影、制表位。 | |||||
访问和修改所有项目符号和编号列表格式,包括编号和级别。 | |||||
访问和修改表格格式,包括对齐方式、方向、边框和阴影。 | |||||
访问和修改所有部分属性,包括纸张大小、页边距和方向。 | |||||
访问、创建和修改文档样式。 | |||||
访问和修改绘图对象,包括位置、大小、线条和填充属性、图像字节。 |
邮件合并功能
您可以单独使用 Aspose.Words 作为报告解决方案。在 Microsoft Word 中设计您的报告,然后让 Aspose.Words 使用来自不同数据源的数据填充文档。
特征 | .NET | .NET 标准 2.0 | Xamarin.Android | Xamarin.iOS | Xamarin.Mac |
---|---|---|---|---|---|
在您的报告中使用所有标准的 Microsoft Word 邮件合并字段,包括 MERGEFIELD、NEXT、NEXTIF、ADDRESSBLOCK、GREETINGLINE。 | |||||
对包含最复杂和嵌套的 IF 字段和公式的文档执行邮件合并。 | |||||
使用邮件合并区域从您的数据源填充和动态增长文档中的表格或片段。 | |||||
轻松生成包含主从(父子)数据的报告,例如 Order/OrderDetails。 | |||||
使用来自任何 .NET 数据源(例如 DataSet、DataTable、DataView、DataReader 或 ADO Recordset)的数据填充文档。 | |||||
通过实施IMailMergeDataSource接口从任何数据源(如 LINQ 查询、XML 文件或业务对象)填充文档。 | |||||
使用事件对数据的合并方式进行精确控制,例如数字格式。 | |||||
在邮件合并期间插入图像。 | |||||
以编程方式创建或修改文档的 Microsoft Word 邮件合并数据源。保留邮件合并设置和数据源。 | |||||
检索邮件合并字段名称。 |
报告功能
LINQ Reporting Engine 是一种高级报告工具,使您能够根据模板文档和从各种来源(包括数据库、XML、JSON、OData、自定义 CLR 类型的对象、外部文档等)获得的数据生成文档。
主要特征 | .NET | .NET 标准 2.0 | Xamarin.Android | Xamarin.iOS | Xamarin.Mac |
---|---|---|---|---|---|
直接在模板中支持 C# 语法和 LINQ 扩展方法(甚至适用于 ADO.NET 数据源) | |||||
支持表、列表和通用内容的可重复和条件文档块(循环和条件) | |||||
支持动态生成的图表和图像 | |||||
支持将外部文档和 HTML 块插入到文档中 | |||||
支持多个数据源(包括不同类型)以生成单个文档 | |||||
数据关系的内置支持(主从) | |||||
直接在模板中全面支持各种数据操作,例如分组、排序、过滤等 | |||||
所见即所得:生成的文档保留与相应模板相同的元素格式 |
文档加载
Aspose.Words 允许用户使用各种格式的文档并为此提供了广泛的选项。例如,用户可以从头开始创建文档或以任何支持的导入格式加载现有文件,对该文档进行一些更改,然后保存结果。以选定格式导入文档时,用户可以应用各种加载选项。
有关函数的完整列表,请参阅 API 参考:
- 加载所有格式的选项
- CHM 格式的CHM 加载选项
- HTML 格式的HTML 加载选项
- PDF 格式的PDF 加载选项
- RTF 格式的RTF 加载选项
- TXT 格式的TXT 加载选项
文档保存
Aspose.Words 允许用户使用各种格式的文档并为此提供了广泛的功能。例如,用户可以从头开始创建文档或加载它,进行一些更改,然后以任何支持的导出格式将这些更改保存在输出文件中。在以选定格式保存文档时,用户可以应用各种保存选项。
有关函数的完整列表,请参阅 API 参考:
- 保存所有格式的选项
- 固定页面格式的固定页面保存选项:PDF、XPS、图像和其他
- PDF格式的PDF保存选项
- DOCX、DOCM、DOTX、DOTM 或 FlatOpc 格式的OOXML 保存选项
- DOC 和 DOT 格式的DOC 保存选项
- TIFF、PNG、BMP、EMF、JPEG 或 SVG 格式的图像保存选项
- SVG 格式的SVG 保存选项
- HTML、MHTML、EPUB 或 Azw3 格式的HTML 保存选项
- Markdown 格式的Markdown 保存选项
- RTF 格式的RTF 保存选项
- TXT 格式的TXT 保存选项
- ODT 和 OTT 格式的ODT 保存选项
- PCL 格式的PCL 保存选项
- PS格式的PS保存选项
- WordML 2003 WordML 格式的保存选项
- XamlFixed 格式的XamlFixed 保存选项
- XamlFlow 或 XamlFlowPack 格式的XamlFlow 保存选项
- XPS 格式的XPS 保存选项
文件格式和转换
能够以高精度快速可靠地转换各种文档格式是 Aspose.Words 的旗舰功能。这通常是选择 Aspose.Words for .NET 的充分理由。
使用 Aspose.Words,您可以使用两行代码将文档从任何支持的加载格式转换为任何支持的保存格式:
- 从文件或流中加载文档
- 将其保存为任何支持的格式
以下代码示例显示了如何转换文档:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET // Load the document from disk. Document doc = new Document(dataDir + "Rendering.docx");
// Save the document in PDF format.
doc.Save(dataDir + “SaveDoc2Pdf.pdf”);
高保真度
Aspose.Words 的主要目标之一是提供文档格式之间的高保真转换。我们使用“高保真”一词来描述输出文档保留原始文档的所有内容和格式的转换。
现代文字处理文档格式很复杂,包括数百个功能。有时,当供应商声称他们的解决方案支持特定文档格式时,这意味着仅支持该格式的基本功能。例如,Microsoft Word 文档具有高级功能,例如脚注、文本框、自动形状、OLE 对象、字段和高级格式设置属性。许多这些元素在文档处理库中经常被忽略,但在 Aspose.Words 中却没有。
更大范围的格式支持
Aspose.Words 无可争辩的优势是对大多数知名格式的广泛支持。在其他地方很难或不可能为许多重要功能找到相同级别的支持。
购买支持特定格式的解决方案时,了解支持该格式功能的级别。要进行测试,请创建一个复杂的文件并通过建议的解决方案运行它。您经常会发现许多文档元素和格式会丢失。例如,对于 DOC 格式、形状、文本框、字段、列、OLE 对象、修订、从右到左的文本通常会受到影响。
Aspose.Words 文档对象模型 (DOM) 在设计时就考虑到了 Microsoft Word 文档格式。因此,我们对 DOC、DOCX、RTF 或 WordprocessingML 等格式的支持水平是前所未有的。这些格式之间任何方向的转换都是高保真的。
当通过 Aspose.Words 运行复杂文档时,享受格式实现无与伦比的完整性。
流行格式之间的转换示例
以下是一些流行格式之间的转换示例。您可以评估 Aspose.Words 处理任务的准确程度。
DOC 到 RTF – 高保真转换:
DOC 到 PDF – 高保真转换:
DOC 到 ODT – 高保真转换:
DOC 到 XPS – 高保真转换:
DOC 到 PostScript——高保真转换:
DOC 到 JPEG – 高保真转换:
DOC 到 GIF – 高保真转换:
RTF 到 TXT – 高保真转换:
DOC 到 HTML – 高保真转换:
高扩展性
可扩展的服务器端场景使用 Aspose.Words 主要是因为其简单干净的设计——Aspose.Words 支持多线程。文档对象相互独立,只要一次只有一个线程可以修改一个文档(任何集合类的典型要求),多个线程可以同时处理任意数量的文档。
高性能
Aspose.Words 在加载和保存文档时展示了高性能。在测试中,一个超过 5Mb 的 DOC 文件加载不到 1 秒,然后在 P4 3GHz 机器上保存不到 1 秒。较小的文件可以以每分钟数千个的速度处理。
有好几次,我们的客户向我们报告说他们无法相信 Aspose.Words 的速度。他们跨过将一个巨大的文档加载到调试器中的代码行,它是如此的瞬间以至于他们无法相信文件被加载到 Document 对象中。
以下代码示例显示了如何加载和保存如此大的文档(如果需要):
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET // The path to the documents directory. string dataDir = RunExamples.GetDataDir_QuickStart(); string fileName = "Document.docx"; // Load the document from the absolute path on disk. Document doc = new Document(dataDir + fileName); dataDir = dataDir + RunExamples.GetOutputFilePath(fileName); // Save the document as DOCX document. doc.Save(dataDir);