Converti DOCX in DOC o DOC in DOCX usando C++

I documenti di Microsoft Word sono disponibili in due formati, DOC e DOCX. DOC è un formato precedente e DOCX è il suo successore. Puoi convertire i file DOCX in formato DOC e viceversa. In questo articolo imparerai come convertire un file DOCX in formato DOC e un file DOC in formato DOCX. Vedrai anche come eseguire queste conversioni in blocco. Per esplorare questi scenari in dettaglio, vedere le seguenti sezioni:

API C++ per convertire DOCX in DOC e DOC in formato DOCX

Aspose.Words for C++ è una libreria C++ nativa che consente di creare, leggere e modificare documenti di Microsoft Word. Inoltre, supporta anche la conversione di file DOCX in formato DOC e file DOC in formato DOCX. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione Download.

PM> Install-Package Aspose.Words.Cpp

Conversione di file DOCX in formato DOC utilizzando C++

Puoi convertire un file DOCX in formato DOC seguendo i passaggi indicati di seguito.

Il codice di esempio seguente mostra come convertire un file DOCX in un file DOC usando C++.

// Crea un'istanza della classe LoadOptions
auto loadOptions = System::MakeObject<LoadOptions>();

// Specificare LoadFormat del documento word di input
loadOptions->set_LoadFormat(LoadFormat::Docx);

// Carica il file DOCX di origine
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"SourceDirectory\\Word\\Sample 4.docx", loadOptions);

// Salva il file DOC
doc->Save(u"OutputDirectory\\output.doc", SaveFormat::Doc);

Converti in batch i file DOCX in formato DOC usando C++

Se hai centinaia di file DOCX che devi convertire in formato DOC, puoi convertirli facilmente eseguendo il programma una volta. In questo esempio, utilizzeremo la libreria boost per scorrere i file nella directory. Di seguito sono riportati i passaggi per convertire in batch i file DOCX in formato DOC.

Il codice di esempio seguente illustra come convertire i file DOCX in formato DOC in blocco usando C++.

// Scorri i file nella directory
for (directory_entry& file : directory_iterator("SourceDirectory\\Word"))
{
    // Controlla l'estensione del file
    if (file.path().extension().string() == ".docx")
    {
        // Crea un'istanza della classe LoadOptions
        auto loadOptions = System::MakeObject<LoadOptions>();

        // Specificare LoadFormat del documento word di input
        loadOptions->set_LoadFormat(LoadFormat::Docx);

        // Carica il file DOCX
        System::SharedPtr<Document> doc = System::MakeObject<Document>((System::String)file.path().string(), loadOptions);

        // Cambia l'estensione del file
        System::String fileName = (System::String)file.path().filename().string();
        fileName = fileName.Replace(u".docx", u".doc");

        // Salva il file DOC
        doc->Save(System::String::Concat(u"OutputDirectory\\", fileName), SaveFormat::Doc);
    }
}

Converti file DOC in formato DOCX usando C++

Di seguito sono riportati i passaggi per convertire un file DOC in un file DOCX.

Il codice di esempio seguente mostra come convertire un file DOC in un file DOCX usando C++.

// Crea un'istanza della classe LoadOptions
auto loadOptions = System::MakeObject<LoadOptions>();

// Specificare LoadFormat del documento word di input
loadOptions->set_LoadFormat(LoadFormat::Doc);

// Carica il file DOC di origine
System::SharedPtr<Document> doc = System::MakeObject<Document>(u"SourceDirectory\\Word\\Sample 1.doc", loadOptions);

// Salva il file DOCX
doc->Save(u"OutputDirectory\\output.docx", SaveFormat::Docx);

Converti in batch file DOC in formato DOCX usando C++

Per convertire in blocco i file DOC in formato DOCX, utilizzare i passaggi indicati di seguito.

Il codice di esempio seguente illustra come convertire i file DOC in formato DOCX in blocco usando C++.

// Scorri i file nella directory
for (directory_entry& file : directory_iterator("SourceDirectory\\Word"))
{
    // Controlla l'estensione del file
    if (file.path().extension().string() == ".doc")
    {
        // Crea un'istanza della classe LoadOptions
        auto loadOptions = System::MakeObject<LoadOptions>();

        // Specificare LoadFormat del documento word di input
        loadOptions->set_LoadFormat(LoadFormat::Doc);

        // Carica il file DOC
        System::SharedPtr<Document> doc = System::MakeObject<Document>((System::String)file.path().string(), loadOptions);

        // Cambia l'estensione del file
        System::String fileName = (System::String)file.path().filename().string();
        fileName = fileName.Replace(u".doc", u".docx");

        // Salva il file DOCX
        doc->Save(System::String::Concat(u"OutputDirectory\\", fileName), SaveFormat::Docx);
    }
}

Ottieni una licenza gratuita

Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo, hai imparato come convertire un file DOCX in formato DOC e un file DOC in formato DOCX usando C++. Inoltre, hai visto come eseguire queste conversioni in blocco utilizzando la libreria boost. Aspose.Words per C++ fornisce una serie di funzionalità aggiuntive per automatizzare le attività relative a Word. Puoi esplorare l’API in dettaglio visitando la documentazione ufficiale. In caso di domande, non esitare a contattarci sul nostro forum di supporto gratuito.

Guarda anche