Een Document splitsen
Splitting of split a document is het proces waarbij een groot document wordt opgesplitst in een groter aantal kleinere bestanden. Er zijn verschillende redenen om een bestand te splitsen. U hebt bijvoorbeeld slechts enkele pagina ' s van een specifiek document nodig en niet het hele document. Of om privacyredenen wilt u slechts enkele delen van een document met anderen delen. Met de splitsingsfunctie kunt u alleen de vereiste delen van het document ophalen en de nodige acties uitvoeren, bijvoorbeeld om op te merken, op te slaan of te verzenden.
Aspose.Words biedt u een efficiënte manier om een document op te splitsen in meerdere documenten per kop of sectie. U kunt een document ook splitsen op pagina ' s of op paginabereiken. Beide splitsingsopties worden in dit artikel beschreven.
Als u een document wilt splitsen in kleinere bestanden met Aspose.Words, moet u deze stappen volgen:
- Laad het document in een ondersteunde indeling.
- Deel het document.
- Sla de uitvoerdocumenten op.
Nadat u een document hebt gesplitst, kunt u alle uitvoerdocumenten openen die beginnen met de vereiste pagina ' s, tekst, enz.
Online proberen
U kunt deze functionaliteit proberen met onze Gratis online document splitter.
Een Document splitsen met verschillende Criteria
Met Aspose.Words kunt u EPUB of HTML documenten opsplitsen in hoofdstukken volgens verschillende criteria. In het proces worden de stijl en lay-out van het brondocument behouden voor de uitvoerdocumenten.
U kunt criteria opgeven met behulp van de DocumentSplitCriteria - opsomming. U kunt een document dus in hoofdstukken verdelen met behulp van een van de volgende criteria of meer dan één criterium combineren:
- paragraaf kop,
- sectie-einde,
- kolomonderbreking,
- pagina-einde.
Bij het opslaan van de uitvoer naar HTML, slaat Aspose.Words elk afzonderlijk hoofdstuk op als een afzonderlijk HTML bestand. Als gevolg hiervan wordt het document opgesplitst in meerdere HTML bestanden. Bij het opslaan van de uitvoer naar EPUB, slaat Aspose.Words het resultaat op in een enkel EPUB bestand, ongeacht de DocumentSplitCriteria
waarde die u hebt gebruikt. Het gebruik van DocumentSplitCriteria voor EPUB documenten heeft dus alleen invloed op de weergave van hun inhoud in lezersapplicaties: de inhoud wordt verdeeld in hoofdstukken en het document wordt niet langer continu weergegeven.
In dit deel behandelen we slechts enkele van de mogelijke gesplitste criteria.
Een Document splitsen in secties
Aspose.Words stelt u ook in staat om sectie-einden te gebruiken om documenten te splitsen en op te slaan in HTML. Gebruik hiervoor SectionBreak als DocumentSplitCriteria:
Het volgende codevoorbeeld laat zien hoe u een document in kleinere delen kunt splitsen door sectie-einden (zonder de eigenschap DocumentSplitCriteria
te gebruiken):
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
// Open a Word document | |
auto doc = System::MakeObject<Document>(inputDataDir + u"TestFile (Split).docx"); | |
for (int i = 0; i < doc->get_Sections()->get_Count(); i++) | |
{ | |
// Split a document into smaller parts, in this instance split by section | |
auto section = doc->get_Sections()->idx_get(i)->Clone(); | |
auto newDoc = System::MakeObject<Document>(); | |
newDoc->get_Sections()->Clear(); | |
auto newSection = System::StaticCast<Section>(newDoc->ImportNode(section, true)); | |
newDoc->get_Sections()->Add(newSection); | |
// Save each section as a separate document | |
newDoc->Save(outputDataDir + u"SplitDocumentBySectionsOut_" + System::Convert::ToString(i) + u".docx"); | |
} |
Opgesplitst naar pagina ' s
U kunt een document ook splitsen op pagina, op paginabereiken of beginnen met de opgegeven paginanummers. In dat geval kan de methode ExtractPages het werk doen.
In dit gedeelte worden verschillende gebruiksgevallen beschreven van het verdelen van documenten per pagina met behulp van de Document - klasse en de ExtractPages - methode.
Een Document pagina voor pagina {#split-a-document-page-by-page}splitsen
Met Aspose.Words kunt u een document met meerdere pagina ' s pagina voor pagina splitsen.
Het volgende codevoorbeeld laat zien hoe u een document verdeelt en elke pagina als een afzonderlijk document opslaat:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
auto doc = MakeObject<Document>(MyDir + u"Big document.docx"); | |
int pageCount = doc->get_PageCount(); | |
for (int page = 0; page < pageCount; page++) | |
{ | |
// Save each page as a separate document. | |
SharedPtr<Document> extractedPage = doc->ExtractPages(page, 1); | |
extractedPage->Save(ArtifactsDir + String::Format(u"SplitDocument.PageByPage_{0}.docx", page + 1)); | |
} |
Een Document splitsen op paginabereiken
Aspose.Words maakt het mogelijk om een document met meerdere pagina ' s te splitsen op paginabereiken. U kunt één bestand splitsen in meerdere bestanden met verschillende paginabereiken of gewoon één bereik selecteren en alleen dit deel van het brondocument opslaan. U kunt het paginabereik kiezen op basis van het maximale en minimale paginanummer van een document.
Het volgende codevoorbeeld laat zien hoe u een document in kleinere delen kunt splitsen op basis van paginabereik met specifieke begin-en eindindexen:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
auto doc = MakeObject<Document>(MyDir + u"Big document.docx"); | |
// Get part of the document. | |
SharedPtr<Document> extractedPages = doc->ExtractPages(3, 6); | |
extractedPages->Save(ArtifactsDir + u"SplitDocument.ByPageRange.docx"); |
Het gesplitste Document samenvoegen met een ander Document
Met Aspose.Words kunt u het output split document samenvoegen met een ander document om een nieuw document te vormen. Dit kan document samenvoegen worden genoemd.
Het volgende codevoorbeeld laat zien hoe u een gesplitst document samenvoegt met een ander document:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
// Create a new resulting document | |
auto mergedDoc = System::MakeObject<Document>(); | |
auto mergedDocBuilder = System::MakeObject<DocumentBuilder>(mergedDoc); | |
// Merge document parts one by one | |
for (int idx = 1; idx <= 13; idx++) | |
{ | |
System::String documentPath = inputDataDir + u"SplitDocumentPageByPageOut_" + System::Convert::ToString(idx) + u".docx"; | |
auto sourceDoc = System::MakeObject<Document>(documentPath); | |
mergedDocBuilder->MoveToDocumentEnd(); | |
mergedDocBuilder->InsertDocument(sourceDoc, ImportFormatMode::KeepSourceFormatting); | |
} | |
mergedDoc->Save(outputDataDir + u"MergeDocuments_out.docx"); |