Word 文档是使用 Microsoft Word 或其他文字处理程序创建的文件。它们被世界上几乎所有类型的企业所使用。各种专业文档,如商业合同、论文、手册、信件、简历和报告,都以 Word 文档的形式创建和保存。在本文中,您将学习如何使用 Spire.Doc for C++ 以编程方式在 C++ 中创建或编辑 Word 文档。
安装 Spire.Doc for C++
有两种方法可以将 Spire.Doc for C++ 集成到您的应用程序中。一种方法是通过 NuGet 安装它,另一种方法是从我们的网站下载包并将库复制到您的程序中。通过 NuGet 安装更简单,更推荐使用。您可以通过访问以下链接找到更多详细信息。
如何将 Spire.Doc for C++ 集成到 C++ 程序中
在 C++ 中创建 Word 文档
使用 Spire.Doc for C++,您可以创建一个包含一个或多个部分的 Word 文档,并向其中添加各种元素,例如段落、表格、图像、列表、超链接、水印、页眉、页脚、内容控件和注释。
以下步骤向您展示了如何创建一个包含一个节和三个段落的简易 Word 文档:
- 初始化 Document 类的一个实例。
- 使用 Document->AddSection() 方法向文档添加一个节。
- 设置节的页边距。
- 使用 Section->AddParagraph() 方法将三个段落添加到该节。
- 使用 Paragraph->AppendText() 方法向段落添加文本。
- 初始化 ParagraphStyle 类的两个实例以创建两个段落样式,然后使用 Paragraph->ApplyStyle() 方法将样式分别应用于段落。
- 使用 Document->SaveToFile() 方法将结果文档保存到 Word 文件。
- C++
#include "Spire.Doc.o.h"
using namespace Spire::Doc;
int main()
{
//初始化 Document 类的一个实例
intrusive_ptr<Document> doc = new Document();
//在文档中添加一个节
intrusive_ptr<Section> section = doc->AddSection();
//设置页边距
section->GetPageSetup()->GetMargins()->SetAll(72);
//向该节添加标题段落
intrusive_ptr<Paragraph> titlePara = section->AddParagraph();
//向段落添加文本
titlePara->AppendText(L"Spire.Doc for C++ 简介");
//向该节添加正文段落
intrusive_ptr<Paragraph> bodyPara1 = section->AddParagraph();
//向段落添加文本
bodyPara1->AppendText(L"Spire.Doc for C++ 是一个专业的Word 库,专门为开发人员设计,可以在C++ 应用程序中创建、读取、写入、转换、合并、拆分和比较Word 文档,具有快速和高质量的性能。");
//向该节添加正文段落
intrusive_ptr<Paragraph> bodyPara2 = section->AddParagraph();
//向段落添加文本
bodyPara2->AppendText(L"通过使用 Spire.Doc for C++,用户可以将 Word Doc/Docx 转换为 XML、RTF、EMF、TXT、XPS、EPUB、HTML、SVG、ODT,反之亦然。Spire.Doc for C++ 还支持将 Word Doc/Docx 转换为 PDF 以及将 HTML 转换为图像。");
//创建样式并将其应用于标题段落
intrusive_ptr<ParagraphStyle> style1 = new ParagraphStyle(doc);
style1->SetName(L"titleStyle");
style1->GetCharacterFormat()->SetBold(true);
style1->GetCharacterFormat()->SetTextColor(Color::GetBlue());
style1->GetCharacterFormat()->SetFontName(L"宋体");
style1->GetCharacterFormat()->SetFontSize(16);
doc->GetStyles()->Add(style1);
titlePara->ApplyStyle(L"titleStyle");
//创建样式并将其应用于正文段落
intrusive_ptr<ParagraphStyle> style2 = new ParagraphStyle(doc);
style2->SetName(L"paraStyle");
style2->GetCharacterFormat()->SetFontName(L"宋体");
style2->GetCharacterFormat()->SetFontSize(12);
doc->GetStyles()->Add(style2);
bodyPara1->ApplyStyle(L"paraStyle");
bodyPara2->ApplyStyle(L"paraStyle");
//设置标题和正文段落的水平对齐方式
titlePara->GetFormat()->SetHorizontalAlignment(HorizontalAlignment::Center);
bodyPara1->GetFormat()->SetHorizontalAlignment(HorizontalAlignment::Justify);
bodyPara2->GetFormat()->SetHorizontalAlignment(HorizontalAlignment::Justify);
//在标题和正文段落后设置间距
titlePara->GetFormat()->SetAfterSpacing(10);
bodyPara1->GetFormat()->SetAfterSpacing(10);
//保存结果文件
doc->SaveToFile(L"创建Word文档.docx", FileFormat::Docx2013);
doc->Dispose();
}
在 C++ 中编辑现有 Word 文档
除了从头开始创建 Word 文档外,Spire.Doc for C++ 还可以让您能够编辑现有的 Word 文档。 例如,您可以修改文档中的现有元素或向文档添加新元素。
以下步骤向您展示了如何修改 Word 文档中特定段落的文本:
- 初始化 Document 类的一个实例。
- 使用 Document->LoadFromFile() 方法加载 Word 文档。
- 使用 Document->GetSections()->GetItem(int index) 方法通过索引访问文档中的特定节。
- 使用 Section->GetParagraphs()->GetItem(int index) 方法通过其索引访问节中的特定段落。
- 使用 Paragraph->SetText() 方法修改段落文本。
- 使用 Document->SaveToFile() 方法保存结果文档。
- C++
#include "Spire.Doc.o.h"
using namespace Spire::Doc;
int main()
{
//初始化Document类的实例
intrusive_ptr<Document> doc = new Document();
//加载Word文档
doc->LoadFromFile(L"创建Word文档.docx");
//访问文档中的第一节
intrusive_ptr<Section> section = doc->GetSections()->GetItemInSectionCollection(0);
//访问第一节中的第二段
intrusive_ptr<Paragraph> para = section->GetParagraphs()->GetItemInParagraphCollection(1);
//修改段落文本
para->SetText(L"本段已更新");
//保存结果文档
doc->SaveToFile(L"编辑Word文档.docx", FileFormat::Docx2013);
doc->Dispose();
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。