MS Word är ett populärt format för att lagra och dela information. Det kan finnas scenarier där du vill dela upp ett Word-dokument i flera filer. Till exempel kan ett dokument innehålla olika avsnitt som behöver delas med olika personer eller innehålla en del konfidentiell information som måste separeras. I sådana fall kan det vara till hjälp att dela upp Word-dokumentet. I den här artikeln kommer du att lära dig hur du delar MS Word-dokument med C++.
- C++ API för att dela Word-dokument
- Dela Word-dokument efter sida med C++
- Använd sidintervall för att dela upp ett Word-dokument
- Dela Word-dokument efter sektioner med C++
- Skaffa en gratis licens
C++ API för att dela Word-dokument
Aspose.Words for C++ är ett inbyggt C++-bibliotek som låter dig generera, ändra och konvertera Microsoft Word-dokument. Dessutom stöder den också uppdelning av Word-dokument i flera filer. Du kan antingen installera API:t genom NuGet eller ladda ner det direkt från avsnittet Nedladdningar.
PM> Install-Package Aspose.Words.Cpp
Dela Word-dokument efter sida med C++
Följande är stegen för att dela Word-filer med C++.
- Ladda Word-dokumentet med klassen Document.
- Skapa en instans av klassen DocumentPageSplitter och initiera den med objektet Document som skapades i föregående steg.
- Bläddra igenom sidorna i Dokument.
- Extrahera varje sida med metoden DocumentPageSplitter.GetDocumentOfPage(int32t PageIndex).
- Spara dokumenten med metoden Dokument->Spara (System::String filnamn).
Följande är exempelkoden för att dela upp ett Word-dokument efter sida.
// Exempel på Word-dokument
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";
// Ladda Word-dokumentet
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);
// Skapa och initiera dokumentsiddelare
DocumentPageSplitter splitter = DocumentPageSplitter(document);
// Utdatafilens sökväg
System::String outputPath = u"OutputDirectory\\";
// Spara varje sida som ett separat dokument
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");
}
Använd sidintervall för att dela upp ett Word-dokument
Istället för att separera varje sida kan du också dela upp Word-dokumentet genom att tillhandahålla ett sidintervall. Följande är stegen för att dela ett Word-dokument med hjälp av sidintervall.
- Först laddar du Word-dokumentet med klassen Dokument.
- Skapa en instans av klassen DocumentPageSplitter och initiera den med föregående stegs Document-objekt.
- Hämta sidorna i det önskade intervallet med metoden DocumentPageSplitter.GetDocumentOfPageRange(int32t pageIndex, int32t pageIndex).
- Slutligen sparar du Word-dokumentet med metoden Dokument->Spara (System::String filnamn).
Följande är exempelkoden för att dela ett Word-dokument med hjälp av sidintervall.
// Exempel på Word-dokument
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";
// Ladda Word-dokumentet
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);
// Skapa och initiera dokumentsiddelare
DocumentPageSplitter splitter = DocumentPageSplitter(document);
// Hämta sidintervallet
auto pageDoc = splitter.GetDocumentOfPageRange(2, 3);
// Utdatafilens sökväg
System::String outputPath = u"OutputDirectory\\";
// Spara som DOCX-fil
pageDoc->Save(outputPath + u"SplitDocumentByPageRangeOut.docx");
Dela Word-dokument efter sektioner med C++
Word-filer kan innehålla en eller flera sektioner som kan ha olika formatering och kan bestå av valfritt antal sidor. För att lägga till ett nytt avsnitt i Word-filen, använd alternativet Layout > Avbrott > Avsnittsbrytningar. Följande är stegen för att dela Word-filer efter sektioner med Aspose.Words för C++ API.
- Ladda Word-filen med klassen Document.
- Hämta avsnitten i dokumentet med metoden Document->getSections() och iterera över dem.
- Klona avsnittet till ett Section-objekt med metoden Document->getSections()->idxget(int32t index)->Clone().
- Skapa ett nytt Word-dokument med klassen Dokument.
- Lägg till det klonade avsnittet i det nyskapade Word-dokumentet med Document->getSections()->Add (System::SharedPtrAspose::Words::Node nod) metod.
- Slutligen sparar du Word-filen med metoden Dokument->Spara (System::String filnamn).
Följande är exempelkoden för att dela upp Word-dokument efter sektioner.
// Exempel på Word-dokument
System::String sampleFile = u"SourceDirectory\\Sample 3.docx";
// Ladda Word-dokumentet
System::SharedPtr<Aspose::Words::Document> document = System::MakeObject<Aspose::Words::Document>(sampleFile);
// Utdatafilens sökväg
System::String outputPath = u"OutputDirectory\\";
for (int i = 0; i < document->get_Sections()->get_Count(); i++)
{
// Dela upp ett dokument i mindre delar, i det här fallet uppdelat efter avsnitt
auto section = document->get_Sections()->idx_get(i)->Clone();
// Skapa ett nytt dokument
auto newDoc = System::MakeObject<Aspose::Words::Document>();
newDoc->get_Sections()->Clear();
//Lägg till ett nytt avsnitt i det nyskapade dokumentet
auto newSection = System::StaticCast<Aspose::Words::Section>(newDoc->ImportNode(section, true));
newDoc->get_Sections()->Add(newSection);
// Spara varje avsnitt som ett separat dokument
newDoc->Save(outputPath + u"SplitDocumentBySectionsOut_" + System::Convert::ToString(i) + u".docx");
}
Skaffa en gratis licens
Du kan prova API utan utvärderingsbegränsningar genom att begära en gratis tillfällig licens.
Slutsats
I den här artikeln har du lärt dig hur du delar upp Word-dokument i flera filer med C++. Du har lärt dig hur du använder Aspose.Words för C++ API för att dela upp Word-dokument efter sida, sidintervall och sektioner. Du kan utforska API:et i detalj genom att använda den officiella dokumentationen. Om du har några frågor är du välkommen att kontakta oss på forumet.