Importeren van knooppunten met NodeImporter

Importeren van knooppunten met NodeImporter

Nodes importeren met NodeImporter

Deze gids laat zien hoe je inhoud kunt verplaatsen tussen twee verschillende Document instanties in Aspose.Words FOSS voor .NET met behulp van de toegewijde NodeImporter klasse en fijnmazige ImportFormatOptions, voor scenario’s waarin je veel knooppunten efficiënt moet importeren of het importgedrag moet beheersen voorbij de basis ImportFormatMode keuze. Voor de eenvoudigere Document.ImportNode, Document.AppendDocument, en DocumentBuilder.InsertDocument handige methoden, zie de Werken met Documenten gids.


NodeImporter: Herhaalde imports zonder herhaalde setup

NodeImporter is gebouwd voor herhaalde import van nodes van het ene document naar het andere, waardoor de setup-kost per oproep van een eenmalige import wordt vermeden. Maak er één met new NodeImporter(srcDoc, dstDoc, importFormatMode) — of de overload new NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions) voor fijnere controle — één keer, en roep vervolgens ImportNode(srcNode, isImportChildren) aan op diezelfde instantie voor elke node die je wilt overbrengen. Het hergebruiken van één NodeImporter instantie over vele oproepen vermijdt de setup-kost die een per-oproep gebruiksgemak-import elke keer met zich meebrengt.


Fijnmazige importcontrole met ImportFormatOptions

ImportFormatOptions vult de basis ImportFormatMode keuze (UseDestinationStyles, KeepSourceFormatting, KeepDifferentStyles) aan met fijnere schakelaars: SmartStyleBehavior (bool) bepaalt hoe stijlen met gelijke namen in de bron en bestemming worden geïmporteerd. KeepSourceNumbering (bool) bepaalt hoe nummering wordt geïmporteerd wanneer deze conflicteert tussen bron en bestemming. IgnoreTextBoxes en IgnoreHeaderFooter (bool) onderdrukken bronopmaak voor tekstvak- en kop-/voettekst-inhoud specifiek wanneer KeepSourceFormatting van kracht is. MergePastedLists (bool) voegt geplakte lijsten samen met omliggende lijsten in plaats van ze apart te houden. ForceCopyStyles (bool) kopieert conflicterende stijlen in plaats van de versie van de bestemming te hergebruiken, in KeepSourceFormatting modus. AdjustSentenceAndWordSpacing (bool) past automatisch de spatiëring aan. AppendDocumentWithNewPage (bool) dwingt het type van de eerst geïmporteerde sectie tot NewPage.


Tips en best practices

  • Maak één enkele NodeImporter-instantie aan en hergebruik deze in een lus van ImportNode-aanroepen bij het importeren van veel knooppunten — het construeren van een nieuwe importer per knooppunt herhaalt onnodig de configuratiewerkzaamheden.
  • Geef een ImportFormatOptions-instantie door aan de NodeImporter-constructoroverload wanneer de eenvoudige ImportFormatMode-keuze niet precies genoeg is — bijvoorbeeld om de nummering van de bronlijst te behouden met KeepSourceNumbering terwijl je nog steeds KeepSourceFormatting in het algemeen gebruikt.
  • Stel IgnoreTextBoxes of IgnoreHeaderFooter in wanneer KeepSourceFormatting meer bronopmaak binnenhaalt dan je wilt voor alleen die inhoudstypen.
  • NodeImporter.ImportNode(srcNode, isImportChildren) weerspiegelt de importaanroep op documentniveau in handtekening en gedrag; het verschil ligt in hergebruikefficiëntie, niet in importsemantiek.

Veelvoorkomende problemen

ProbleemOorzaakOplossing
Herhaalde import van veel nodes is traagEr wordt per node een gemakkelijke importaanroep gebruikt in plaats van één hergebruikt NodeImporterConstrueer één NodeImporter en roep ImportNode erop aan voor elke node
Lijstnummering wordt onverwacht gereset na importImportFormatOptions.KeepSourceNumbering was niet ingesteldConstrueer NodeImporter met een ImportFormatOptions instantie die KeepSourceNumbering naar behoefte instelt
Tekstvak of header/footer-inhoud neemt ongewenste bronopmaak overKeepSourceFormatting modus past bronstijlen standaard breed toeStel IgnoreTextBoxes of IgnoreHeaderFooter in op de ImportFormatOptions die aan NodeImporter wordt doorgegeven

FAQ

Wanneer moet ik NodeImporter gebruiken in plaats van een enkele importaanroep?

Bij het importeren van veel knooppunten in een lus — maak één NodeImporter van tevoren aan en roep ImportNode herhaaldelijk aan, in plaats van bij elke aanroep de opzetkosten te betalen.

Wat voegt ImportFormatOptions toe bovenop ImportFormatMode?

Fijnere schakelaars zoals SmartStyleBehavior, KeepSourceNumbering, IgnoreTextBoxes, IgnoreHeaderFooter, MergePastedLists, ForceCopyStyles, AdjustSentenceAndWordSpacing en AppendDocumentWithNewPage, bovenop de basiskeuze ImportFormatMode.

Gedraagt NodeImporter.ImportNode zich anders dan importeren op documentniveau?

Nee — beide nemen een bronknooppunt en een isImportChildren vlag en importeren het in het doeldocument; NodeImporter bestaat zodat de configuratie één keer wordt gedaan en vervolgens hergebruikt wordt bij vele oproepen.

Hoe houd ik de lijstnummering van het brondocument intact bij het importeren?

Construeer NodeImporter met een ImportFormatOptions waarbij KeepSourceNumbering true is.


API Reference Samenvatting

Klasse/MethodeBeschrijving
NodeImporterVoert herhaalde import van knooppunten van het ene document naar het andere uit, waarbij de configuratie tussen oproepen wordt hergebruikt
NodeImporter(srcDoc, dstDoc, importFormatMode)Constructor voor basis import-format-mode-only imports
NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions)Constructor die fijnmazige ImportFormatOptions accepteert
NodeImporter.ImportNode(srcNode, isImportChildren)Importeert een node van het brondocument naar het bestemmingsdocument
ImportFormatOptionsFijnmazige importinstellingen, gelaagd bovenop ImportFormatMode
ImportFormatOptions.SmartStyleBehaviorHoe gelijkgenoemde stijlen worden geïmporteerd
ImportFormatOptions.KeepSourceNumberingHoe conflicterende nummering wordt geïmporteerd
ImportFormatOptions.IgnoreTextBoxes / IgnoreHeaderFooterOnderdrukt bronopmaak voor tekstvakken / kop- en voetteksten onder KeepSourceFormatting
ImportFormatOptions.MergePastedListsVoegt geplakte lijsten samen met omliggende lijsten
ImportFormatOptions.ForceCopyStylesKopieert conflicterende stijlen in plaats van de versie van de bestemming te hergebruiken
ImportFormatOptions.AppendDocumentWithNewPageForceert het type van de eerste geïmporteerde sectie naar NewPage

Zie ook

 Nederlands