
MS Word è un formato popolare per l’archiviazione e la condivisione di informazioni. Potrebbero esserci scenari in cui desideri dividere un documento di Word in più file. Ad esempio, un documento può contenere diverse sezioni che devono essere condivise con persone diverse o contenere alcune informazioni riservate che devono essere separate. In questi casi, la suddivisione del documento di Word si rivela utile. In questo articolo imparerai come dividere documenti MS Word usando C++.
- API C++ per dividere i documenti di Word
- Dividi i documenti di Word per pagina usando C++
- Usa Intervallo di pagine per dividere un documento di Word
- Dividi il documento di Word per sezioni usando C++
- Ottieni una licenza gratuita
API C++ per dividere i documenti di Word
Aspose.Words for C++ è una libreria C++ nativa che consente di generare, modificare e convertire documenti Microsoft Word. Inoltre, supporta anche la divisione di documenti Word in più file. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione Download.
PM> Install-Package Aspose.Words.Cpp
Dividi i documenti di Word per pagina usando C++
Di seguito sono riportati i passaggi per dividere i file di Word utilizzando C++.
- Carica il documento di Word usando la classe Document.
- Crea un’istanza della classe DocumentPageSplitter e inizializzala con l’oggetto Document creato nel passaggio precedente.
- Scorri le pagine del Documento.
- Estrarre ogni pagina con il metodo DocumentPageSplitter.GetDocumentOfPage(int32t PageIndex).
- Salvare i documenti utilizzando il metodo Document->Save (System::String fileName).
Di seguito è riportato il codice di esempio per dividere un documento di Word per pagina.
// Esempio di documento Word
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";
// Carica il documento di Word
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);
// Crea e inizializza il divisore di pagina del documento
DocumentPageSplitter splitter = DocumentPageSplitter(document);
// Percorso del file di output
System::String outputPath = u"OutputDirectory\\";
// Salva ogni pagina come un documento separato
for (int page = 1; page <= document->get_PageCount(); page++)
{
auto pageDoc = splitter.GetDocumentOfPage(page);
pageDoc->Save(outputPath + u"SplitDocumentPageByPageOut_" + System::Convert::ToString(page) + u".docx");
}
Usa Intervallo di pagine per dividere un documento di Word
Invece di separare ogni singola pagina, puoi anche dividere il documento di Word fornendo un intervallo di pagine. Di seguito sono riportati i passaggi per dividere un documento di Word utilizzando l’intervallo di pagine.
- Innanzitutto, carica il documento di Word utilizzando la classe Document.
- Crea un’istanza della classe DocumentPageSplitter e inizializzala con l’oggetto Document del passaggio precedente.
- Recupera le pagine nell’intervallo richiesto usando il metodo DocumentPageSplitter.GetDocumentOfPageRange(int32t pageIndex, int32t pageIndex).
- Infine, salva il documento di Word usando il metodo Document->Save (System::String fileName).
Di seguito è riportato il codice di esempio per dividere un documento di Word utilizzando l’intervallo di pagine.
// Esempio di documento Word
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";
// Carica il documento di Word
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);
// Crea e inizializza il divisore di pagina del documento
DocumentPageSplitter splitter = DocumentPageSplitter(document);
// Ottieni l'intervallo di pagine
auto pageDoc = splitter.GetDocumentOfPageRange(2, 3);
// Percorso del file di output
System::String outputPath = u"OutputDirectory\\";
// Salva come file DOCX
pageDoc->Save(outputPath + u"SplitDocumentByPageRangeOut.docx");
Dividi il documento di Word per sezioni usando C++
I file di Word possono contenere una o più sezioni che potrebbero avere una formattazione diversa e possono essere costituite da un numero qualsiasi di pagine. Per aggiungere una nuova sezione nel file di Word, utilizzare l’opzione Layout>Interruzioni>Interruzioni di sezione. Di seguito sono riportati i passaggi per dividere i file di Word per sezioni usando Aspose.Words per l’API C++.
- Carica il file di Word usando la classe Document.
- Recupera le sezioni del documento usando il metodo Document->getSections() e ripeti su di esse.
- Clona la sezione in un oggetto Section usando il metodo Document->getSections()->idxget(int32t index)->Clone().
- Crea un nuovo documento Word usando la classe Document.
- Aggiungi la sezione clonata al documento Word appena creato usando Document->getSections()->Add (System::SharedPtrAspose::Words::Node nodo).
- Infine, salva il file Word usando il metodo Document->Save (System::String fileName).
Di seguito è riportato il codice di esempio per dividere i documenti di Word per sezioni.
// Esempio di documento Word
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";
// Carica il documento di Word
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);
// Percorso del file di output
System::String outputPath = u"OutputDirectory\\";
for (int i = 0; i < document->get_Sections()->get_Count(); i++)
{
// Dividi un documento in parti più piccole, in questo caso divise per sezione
auto section = document->get_Sections()->idx_get(i)->Clone();
// Crea un nuovo documento
auto newDoc = System::MakeObject<Aspose::Words::Document>();
newDoc->get_Sections()->Clear();
//Aggiungi una nuova sezione al documento appena creato
auto newSection = System::StaticCast<Aspose::Words::Section>(newDoc->ImportNode(section, true));
newDoc->get_Sections()->Add(newSection);
// Salva ogni sezione come documento separato
newDoc->Save(outputPath + u"SplitDocumentBySectionsOut_" + System::Convert::ToString(i) + u".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 dividere i documenti di Word in più file usando C++. Hai imparato a usare Aspose.Words per l’API C++ per dividere i documenti di Word per pagina, intervallo di pagine e sezioni. Puoi esplorare l’API in dettaglio utilizzando la documentazione ufficiale. In caso di domande, non esitare a contattarci sul forum.