1. 产品
  2.   字处理
  3.   C++
  4.   Aspose.Words for C++

Aspose.Words for C++

 
 

用于创建和转换 MS Word 文档的 C++ API

功能强大的 C++ Word 文档处理库,无需使用 Microsoft Word 即可生成、编辑、转换和操作 Word 文件。

Aspose.Words for C++ 是一个功能强大的库,允许开发人员以编程方式生成、修改、渲染、处理、 无需安装 Microsoft Word 或任何其他第三方软件即可转换文字处理文档。 该库可用于为各种操作系统(例如 Windows、Linux 和各种平台)构建应用程序。 它可用于各种应用程序类型,例如 Web、桌面、移动和云。

该库速度非常快,并结合了其他知名 API 的最佳实践,使应用程序能够在短短几分钟内生成数千个文档。 该库支持许多流行的文件格式,可用于生成多种不同格式的文档,包括 DOC、DOCX、RTF、DOT、DOTX、DOTM、PDF、PDF/A、XPS、ODT、OTT、 WordML、HTML、MHTML、TIFF、JPEG、PNG、BMP、SVG、EMF、GIF 等。 它还允许开发人员以编程方式操作 Word 文档的内容和格式,包括对邮件合并、文档比较和报告的支持。

Aspose.Words for C++ 包含一组高级功能,可帮助软件开发人员仅用几行 C++ 代码以编程方式操作 Word 文档的内容和格式。 该库包含多种处理文档的功能,例如文档渲染为 PDF、文档渲染为图像、加载 HTML 文档、保存 HTML 文档、插入在线视频、邮件合并、文档比较和报告、DML 图表创建、读取和写入 VBA 宏、以 ODT 格式保存文档、在文档中添加 HTML 等。

Previous Next

C++ 版 Aspose.Words 入门

安装 Aspose.Words for C++ 的推荐方法是通过 NuGet。 为了顺利安装,请使用以下命令。

通过 NuGet 安装 Aspose.Words for C++

NuGet\Install-Package Aspose.Words.Cpp -Version 22.12.0 
您也可以直接从 Aspose 产品页面下载。

通过 C++ 应用程序转换 Word 文档

Aspose.Words for C++ 使软件开发人员可以轻松地在自己的 C++ 应用程序中加载和转换各种类型的文档。 该库可以将文档从任何支持的加载格式转换为任何支持的保存格式。 该库支持将 Word Doc 和 DOCX 转换为 PDF、DOCX 转换为 JPEG 和 PNG、将文档转换为 Markdown、将 Word 转换为 HTML 以及将 Web 格式转换为 PDF。 除此之外,它还可以将DOCX转换为DOC,HTML转换为Word,RTF转换为PDF,ODT转换为PDF,TXT转换为PDF,将MHT(MHTML)转换为PDF等。

通过 C++ API 将 Word DOC 转换为 PDF

 
// 从磁盘加载文档。
System::SharedPtr doc = System::MakeObject(inputDataDir + u"Rendering.doc");

System::String outputPath = outputDataDir + u"Doc2Pdf.SaveDoc2Pdf.pdf";
// Save the document in PDF format.
doc->Save(outputPath);

通过 C++ API 应用邮件合并

Aspose.Words for C++ 完全支持使用邮件合并功能创建各种类型的文档,例如信件、标签和信封。 该库允许使用邮件合并字段从模板创建文档。 使用标准邮件合并字段,您可以在 Microsoft Word 中设计报告、插入图像、定义文档中不断增长的区域、使用来自任何类型数据源的数据填充文档等。 执行邮件合并后,通过调用 Document 对象的 Save 方法并传入要保存结果文档的文件路径来保存结果文档。

通过 C++ API 使用邮件合并创建文档

 
using namespace Aspose::Words;
void MailMerge()
{
    // ExStart:MailMerge
    // Create a new document.
    System::SharedPtr doc = System::MakeObject();
    doc->get_MailMerge()->set_CleanupOptions(MailMergeCleanupOptions::RemoveUnusedFields);

    // Execute mail merge.
    doc->get_MailMerge()->Execute(
        { u"FullName", u"Company", u"Address", u"Address2", u"City" },
        { { u"James Bond", u"MI6", u"Milbank", u"", u"London" },
          { u"Ethan Hunt", u"IMF", u"Curzon Street", u"", u"London" } });

    // Save the document to disk.
    doc->Save(u"MailMerge.docx");
    // ExEnd:MailMerge
}

通过 C++ 添加/管理 Word 文档段落

Aspose.Words for C++ 完全支持处理 Word 文档中的段落。 该库允许插入新段落以及轻松管理现有段落。 该库提供了用于处理段落的各种功能,例如将格式应用于段落、自动调整亚洲和拉丁文本之间的间距、数字、设置换行符选项、将样式应用于段落、插入样式分隔符以放置不同的段落样式、识别 样式分隔符段落、为段落添加边框和底纹等。

通过 C++ API 将边框和底纹应用到段落

System::SharedPtr doc = System::MakeObject();
System::SharedPtr builder = System::MakeObject(doc);

// Set paragraph borders
System::SharedPtr borders = builder->get_ParagraphFormat()->get_Borders();
borders->set_DistanceFromText(20);
borders->idx_get(BorderType::Left)->set_LineStyle(LineStyle::Double);
borders->idx_get(BorderType::Right)->set_LineStyle(LineStyle::Double);
borders->idx_get(BorderType::Top)->set_LineStyle(LineStyle::Double);
borders->idx_get(BorderType::Bottom)->set_LineStyle(LineStyle::Double);

// Set paragraph shading
System::SharedPtr shading = builder->get_ParagraphFormat()->get_Shading();
shading->set_Texture(TextureIndex::TextureDiagonalCross);
shading->set_BackgroundPatternColor(System::Drawing::Color::get_LightCoral());
shading->set_ForegroundPatternColor(System::Drawing::Color::get_LightSalmon());

builder->Write(u"I'm a formatted paragraph with double border and nice shading.");
System::String outputPath = outputDataDir + u"DocumentBuilderSetFormatting.ApplyBordersAndShadingToParagraph.doc";
doc->Save(outputPath);

通过 C++ API 保护或加密文档

Aspose.Words for C++ 使软件开发人员能够保护自己的 C++ 应用程序内的各种类型的文档。 通过保护或加密文档意味着对谁可以未经许可访问、复制或修改文档进行更多控制。 该库提供了各种有用的功能来保护您的文档,例如以只读方式打开文档、加密文档、限制文档编辑、添加数字签名等。

如何通过 C++ API 使用密码加密文档

// Create a document.
auto doc = System::MakeObject();
auto builder = System::MakeObject(doc);
builder->Write(u"Hello world!");

// DocSaveOptions 仅适用于 Doc 和 Dot 保存格式。
auto options = System::MakeObject(SaveFormat::Doc);

// 设置一个密码,用于加密文档,并且需要该密码才能打开文档。
options->set_Password(u"MyPassword");
doc->Save(u"DocSaveOptions.SaveAsDoc.doc", options);
 中国人