Microsoft Word 文档有两种格式,DOC 和 DOCX。 DOC 是一种较旧的格式,而 DOCX 是它的继任者。您可以将 DOCX 文件转换为 DOC 格式,反之亦然。在本文中,您将学习如何将 DOCX 文件转换为 DOC 格式,以及将 DOCX 文件转换为 DOCX 格式。您还将看到如何批量执行这些转换。要详细探讨这些场景,请参阅以下部分:
- 用于将 DOCX 转换为 DOC 和将 DOC 转换为 DOCX 格式的 C++ API
- 使用 C++ 将 DOCX 文件转换为 DOC 格式
- 使用 C++ 将 DOCX 文件批量转换为 DOC 格式
- 使用 C++ 将 DOC 文件转换为 DOCX 格式
- 使用 C++ 将 DOC 文件批量转换为 DOCX 格式
用于将 DOCX 转换为 DOC 和将 DOC 转换为 DOCX 格式的 C++ API
Aspose.Words for C++ 是一个本地 C++ 库,允许您创建、阅读和修改 Microsoft Word 文档。此外,它还支持将 DOCX 文件转换为 DOC 格式和将 DOC 文件转换为 DOCX 格式。您可以通过 NuGet 安装 API,也可以直接从 下载 部分下载。
PM> Install-Package Aspose.Words.Cpp
使用 C++ 将 DOCX 文件转换为 DOC 格式
您可以按照以下步骤将 DOCX 文件转换为 DOC 格式。
- 创建 LoadOptions 类的实例。
- 使用 LoadOptions->setLoadFormat(Aspose::Words::LoadFormat value) 方法将加载格式设置为 DOCX。
- 使用 Document 类加载源 DOCX 文件。
- 使用 Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat) 方法保存转换后的 DOC 文件。
以下示例代码展示了如何使用 C++ 将 DOCX 文件转换为 DOC 文件。
// 创建 LoadOptions 类的实例
auto loadOptions = System::MakeObject<LoadOptions>();
// 指定输入word文档的LoadFormat
loadOptions->set_LoadFormat(LoadFormat::Docx);
// 加载源 DOCX 文件
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"SourceDirectory\\Word\\Sample 4.docx", loadOptions);
// 保存文档文件
doc->Save(u"OutputDirectory\\output.doc", SaveFormat::Doc);
使用 C++ 将 DOCX 文件批量转换为 DOC 格式
如果您有数百个 DOCX 文件需要转换为 DOC 格式,您只需执行一次程序即可轻松转换它们。在这个例子中,我们将使用 boost 库来遍历目录中的文件。以下是将 DOCX 文件批量转换为 DOC 格式的步骤。
- 遍历目录中的文件。
- 创建 LoadOptions 类的实例。
- 使用 LoadOptions->setLoadFormat(Aspose::Words::LoadFormat value) 方法将加载格式设置为 DOCX。
- 使用 Document 类加载 DOCX 文件。
- 将文件名中的扩展名更改为 DOC。
- 使用 Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat) 方法保存转换后的 DOC 文件。
以下示例代码演示了如何使用 C++ 将 DOCX 文件批量转换为 DOC 格式。
// 遍历目录中的文件
for (directory_entry& file : directory_iterator("SourceDirectory\\Word"))
{
// 检查文件扩展名
if (file.path().extension().string() == ".docx")
{
// 创建 LoadOptions 类的实例
auto loadOptions = System::MakeObject<LoadOptions>();
// 指定输入word文档的LoadFormat
loadOptions->set_LoadFormat(LoadFormat::Docx);
// 加载 DOCX 文件
System::SharedPtr<Document> doc = System::MakeObject<Document>((System::String)file.path().string(), loadOptions);
// 更改文件扩展名
System::String fileName = (System::String)file.path().filename().string();
fileName = fileName.Replace(u".docx", u".doc");
// 保存文档文件
doc->Save(System::String::Concat(u"OutputDirectory\\", fileName), SaveFormat::Doc);
}
}
使用 C++ 将 DOC 文件转换为 DOCX 格式
以下是将 DOC 文件转换为 DOCX 文件的步骤。
- 创建 LoadOptions 类的实例。
- 使用 LoadOptions->setLoadFormat(Aspose::Words::LoadFormat value) 方法将加载格式设置为 DOC。
- 使用 Document 类加载源 DOC 文件。
- 使用 Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat) 方法保存转换后的 DOCX 文件。
以下示例代码展示了如何使用 C++ 将 DOC 文件转换为 DOCX 文件。
// 创建 LoadOptions 类的实例
auto loadOptions = System::MakeObject<LoadOptions>();
// 指定输入word文档的LoadFormat
loadOptions->set_LoadFormat(LoadFormat::Doc);
// 加载源 DOC 文件
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"SourceDirectory\\Word\\Sample 1.doc", loadOptions);
// 保存 DOCX 文件
doc->Save(u"OutputDirectory\\output.docx", SaveFormat::Docx);
使用 C++ 将 DOC 文件批量转换为 DOCX 格式
要将 DOC 文件批量转换为 DOCX 格式,请使用以下步骤。
- 遍历目录中的文件。
- 创建 LoadOptions 类的实例。
- 使用 LoadOptions->setLoadFormat(Aspose::Words::LoadFormat value) 方法将加载格式设置为 DOC。
- 使用 Document 类加载 DOC 文件。
- 将文件名中的扩展名更改为 DOCX。
- 使用 Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat) 方法保存转换后的 DOCX 文件。
以下示例代码演示了如何使用 C++ 将 DOC 文件批量转换为 DOCX 格式。
// 遍历目录中的文件
for (directory_entry& file : directory_iterator("SourceDirectory\\Word"))
{
// 检查文件扩展名
if (file.path().extension().string() == ".doc")
{
// 创建 LoadOptions 类的实例
auto loadOptions = System::MakeObject<LoadOptions>();
// 指定输入word文档的LoadFormat
loadOptions->set_LoadFormat(LoadFormat::Doc);
// 加载 DOC 文件
System::SharedPtr<Document> doc = System::MakeObject<Document>((System::String)file.path().string(), loadOptions);
// 更改文件扩展名
System::String fileName = (System::String)file.path().filename().string();
fileName = fileName.Replace(u".doc", u".docx");
// 保存 DOCX 文件
doc->Save(System::String::Concat(u"OutputDirectory\\", fileName), SaveFormat::Docx);
}
}
获得免费许可证
您可以通过申请 免费的临时许可证 来试用该 API,而不受评估限制。
结论
在本文中,您学习了如何使用 C++ 将 DOCX 文件转换为 DOCX 格式和将 DOC 文件转换为 DOCX 格式。此外,您还了解了如何使用 boost 库批量执行这些转换。 Aspose.Words for C++ 提供了一系列附加功能,用于自动执行与 Word 相关的任务。您可以通过访问 官方文档 来详细探索 API。如有任何问题,请随时通过我们的 免费支持论坛 与我们联系。