Documenten invoegen en toevoegen

Soms is het nodig om meerdere documenten in één te combineren. U kunt dit handmatig doen of u kunt de functie Aspose.Words invoegen of toevoegen gebruiken.

Met de bewerking invoegen kunt u de inhoud van eerder gemaakte documenten invoegen in een nieuwe of bestaande.

Met de functie toevoegen kunt u een document alleen aan het einde van een ander document toevoegen.

In dit artikel wordt uitgelegd hoe u een document op verschillende manieren kunt invoegen of toevoegen aan een ander document en worden de algemene eigenschappen beschreven die u kunt toepassen tijdens het invoegen of toevoegen van documenten.

Een Document invoegen

Zoals hierboven vermeld, wordt in Aspose.Words een document weergegeven als een boom van knooppunten, en de operatie van het invoegen van een document in een ander is het kopiëren van knooppunten van de eerste documentboom naar de tweede.

U kunt documenten op verschillende locaties op verschillende manieren invoegen. U kunt bijvoorbeeld een document invoegen via een bewerking vervangen, een samenvoegveld tijdens een samenvoegbewerking of via een bladwijzer.

U kunt ook de methode InsertDocument gebruiken, die vergelijkbaar is met het invoegen van een document in Microsoft Word, om een heel document op de huidige cursorpositie in te voegen zonder eerder te importeren.

Het volgende codevoorbeeld laat zien hoe u een document invoegt met de methode InsertDocument:

In de volgende subsecties worden de opties beschreven waarin u het ene document in het andere kunt invoegen.

Een Document invoegen tijdens bewerking {#insert-a-document-during-find-and-replace-operation}zoeken en vervangen

U kunt documenten invoegen terwijl u bewerkingen zoeken en vervangen uitvoert. Een document kan bijvoorbeeld alinea ' s bevatten met de tekst [INTRODUCTION] en [CONCLUSION]. Maar in het einddocument moet u die alinea ' s vervangen door de inhoud die is verkregen uit een ander extern document. Om dat te bereiken, moet u een handler maken voor de replace-gebeurtenis.

Het volgende codevoorbeeld laat zien hoe u een handler voor de vervangingsgebeurtenis kunt maken om deze later in het invoegproces te gebruiken:

Het volgende codevoorbeeld laat zien hoe de inhoud van een document in een ander document wordt ingevoegd tijdens een bewerking zoeken en vervangen:

Een Document invoegen tijdens Mail Merge bewerking

U kunt een document invoegen in een samenvoegveld tijdens een bewerking van Mail Merge. Een Mail Merge - sjabloon kan bijvoorbeeld een samenvoegveld bevatten, zoals [samenvatting]. Maar in het einddocument moet u inhoud die is verkregen uit een ander extern document invoegen in dit samenvoegveld. Om dat te bereiken, moet u een handler maken voor de merge-gebeurtenis.

Het volgende codevoorbeeld laat zien hoe u een handler voor de samenvoegende gebeurtenis kunt maken om deze later in het invoegproces te gebruiken:

Het volgende codevoorbeeld laat zien hoe u een document invoegt in het samenvoegveld met behulp van de aangemaakte handler:

Een Document invoegen bij bladwijzer

U kunt een tekstbestand in een document importeren en direct na een bladwijzer invoegen die u in het document hebt gedefinieerd. Maak hiervoor een alinea met bladwijzers waarop u het document wilt invoegen.

Het volgende coderingsvoorbeeld laat zien hoe u de inhoud van een document invoegt in een bladwijzer in een ander document:

Een Document toevoegen

Mogelijk hebt u een use case waarbij u extra pagina ' s van een document moet toevoegen aan het einde van een bestaand document. Hiervoor hoeft u alleen de methode AppendDocument aan te roepen om een document aan het einde van een ander document toe te voegen.

Het volgende codevoorbeeld laat zien hoe u een document aan het einde van een ander document toevoegt:

Knooppunten handmatig {#import-and-insert-nodes-manually}importeren en invoegen

Met Aspose.Words kunt u documenten automatisch invoegen en toevoegen zonder voorafgaande importvereisten. Als u echter een specifiek knooppunt van uw document wilt invoegen of toevoegen, zoals een sectie of een alinea, moet u dit knooppunt eerst handmatig importeren.

Wanneer u een sectie of alinea moet invoegen of toevoegen aan een andere, moet u in wezen de knooppunten van de eerste documentknoopboom importeren in de tweede met behulp van de methode ImportNode. Na het importeren van uw knooppunten, moet u de methode InsertAfter/InsertBefore gebruiken om een nieuw knooppunt na/voor het referentieknooppunt in te voegen. Hiermee kunt u het invoegproces aanpassen door knooppunten uit een document te importeren en op bepaalde posities in te voegen.

U kunt ook de methode AppendChild gebruiken om een nieuw opgegeven knooppunt aan het einde van de lijst met onderliggende knooppunten toe te voegen, bijvoorbeeld als u inhoud op alineaniveau wilt toevoegen in plaats van op sectieniveau.

Het volgende codevoorbeeld laat zien hoe u knooppunten handmatig kunt importeren en invoegen na een specifiek knooppunt met behulp van de methode InsertAfter:

Inhoud wordt sectie voor sectie geïmporteerd in het doeldocument, wat betekent dat instellingen, zoals Pagina-instellingen en kop-of voetteksten, behouden blijven tijdens het importeren. Het is ook handig op te merken dat u opmaakinstellingen kunt definiëren wanneer u een document invoegt of toevoegt om aan te geven hoe twee documenten worden samengevoegd.

Gemeenschappelijke eigenschappen voor documenten invoegen en toevoegen

Zowel InsertDocument als AppendDocument methoden accepteren ImportFormatMode en ImportFormatOptions als invoerparameters. Met ImportFormatMode kunt u bepalen hoe documentopmaak wordt samengevoegd wanneer u inhoud van het ene document naar het andere importeert door verschillende opmaakmodi te selecteren, zoals UseDestinationStyles, KeepSourceFormatting en KeepDifferentStyles. Met ImportFormatOptions kunt u verschillende importopties selecteren, zoals IgnoreHeaderFooter, IgnoreTextBoxes, KeepSourceNumbering, MergePastedLists, en SmartStyleBehavior.

Met Aspose.Words kunt u de visualisatie van een resulterende document aanpassen wanneer twee documenten bij elkaar worden opgeteld in een bewerking invoegen of toevoegen met behulp van de eigenschappen Section en PageSetup. De eigenschap PageSetup bevat alle attributen van een sectie zoals SectionStart, RestartPageNumbering, PageStartingNumber, Orientation, en anderen. Het meest voorkomende gebruik is om de eigenschap SectionStart in te stellen om te bepalen of de toegevoegde inhoud op dezelfde pagina verschijnt of in een nieuwe wordt gesplitst.

Het volgende codevoorbeeld laat zien hoe u het ene document aan het andere kunt toevoegen terwijl de inhoud niet over twee pagina ' s wordt gesplitst: