使用 C++ 將 DOCX 轉換為 DOC 或將 DOC 轉換為 DOCX

Microsoft Word 文檔有兩種格式,DOCDOCX。 DOC 是一種較舊的格式,DOCX 是它的後繼者。您可以將 DOCX 文件轉換為 DOC 格式,反之亦然。在本文中,您將學習如何將 DOCX 文件轉換為 DOC 格式以及如何將 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 格式。

以下示例代碼顯示瞭如何使用 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 格式的步驟。

以下示例代碼演示瞭如何使用 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 文件的步驟。

以下示例代碼顯示瞭如何使用 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 格式,請使用以下步驟。

以下示例代碼演示瞭如何使用 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 文件轉換為 DOC 格式以及將 DOC 文件轉換為 DOCX 格式。此外,您還了解瞭如何使用 boost 庫批量執行這些轉換。 Aspose.Words for C++ 提供了一系列附加功能來自動執行與 Word 相關的任務。您可以通過訪問 官方文檔 來詳細探索 API。如有任何疑問,請隨時通過我們的 免費支持論壇 與我們聯繫。

也可以看看