Importation de nœuds avec NodeImporter

Importation de nœuds avec NodeImporter

Importation de nœuds avec NodeImporter

Ce guide montre comment déplacer du contenu entre deux différents Document instances dans Aspose.Words FOSS pour .NET en utilisant le dédié NodeImporter classe et granulaire ImportFormatOptions, pour les scénarios où vous devez importer de nombreux nœuds efficacement ou contrôler le comportement d’importation au-delà du ImportFormatMode choix. Pour les plus simples Document.ImportNode, Document.AppendDocument, et DocumentBuilder.InsertDocument méthodes pratiques, consultez le Travail avec les documents guide.


NodeImporter : Importations répétées sans configuration répétée

NodeImporter est conçu pour l’importation répétée de nœuds d’un document à un autre, évitant le coût de configuration à chaque appel d’une importation à usage unique. Créez-en un avec new NodeImporter(srcDoc, dstDoc, importFormatMode) — ou la surcharge new NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions) pour un contrôle plus fin — une seule fois, puis appelez ImportNode(srcNode, isImportChildren) sur cette même instance pour chaque nœud que vous devez transférer. Réutiliser une instance NodeImporter sur de nombreux appels évite le coût de configuration qu’une importation de commodité à chaque appel impose à chaque fois.


Contrôle d’importation granulaire avec ImportFormatOptions

ImportFormatOptions complète le choix de base ImportFormatMode (UseDestinationStyles, KeepSourceFormatting, KeepDifferentStyles) avec des commutateurs plus fins: SmartStyleBehavior (bool) contrôle la façon dont les styles portant le même nom dans la source et la destination sont importés. KeepSourceNumbering (bool) contrôle la façon dont la numérotation est importée lorsqu’elle entre en conflit entre la source et la destination. IgnoreTextBoxes et IgnoreHeaderFooter (bool) suppriment le formatage source pour le contenu des zones de texte et des en-têtes/pied de page spécifiquement lorsque KeepSourceFormatting est en vigueur. MergePastedLists (bool) fusionne les listes collées avec les listes environnantes au lieu de les garder séparées. ForceCopyStyles (bool) copie les styles conflictuels au lieu de réutiliser la version de la destination, en mode KeepSourceFormatting. AdjustSentenceAndWordSpacing (bool) ajuste automatiquement l’espacement. AppendDocumentWithNewPage (bool) force le type de la première section importée à NewPage.


Conseils et bonnes pratiques

  • Créez une seule instance de NodeImporter et réutilisez-la dans une boucle d’appels ImportNode lors de l’importation de nombreux nœuds — créer un nouvel importateur pour chaque nœud répète inutilement le travail de configuration.
  • Passez une instance de ImportFormatOptions au surchargé du constructeur NodeImporter lorsque le choix simple ImportFormatMode n’est pas assez précis — par exemple, pour conserver la numérotation de la liste source avec KeepSourceNumbering tout en utilisant toujours KeepSourceFormatting globalement.
  • Définissez IgnoreTextBoxes ou IgnoreHeaderFooter lorsque KeepSourceFormatting applique plus de style source que vous ne le désirez pour ces types de contenu uniquement.
  • NodeImporter.ImportNode(srcNode, isImportChildren) reflète l’appel d’importation au niveau du document en termes de signature et de comportement; la différence réside dans l’efficacité de la réutilisation, pas dans la sémantique d’importation.

Problèmes courants

ProblèmeCauseCorrection
Les importations répétées de nombreux nœuds sont lentesUn appel d’importation pratique est utilisé pour chaque nœud au lieu d’un NodeImporter réutiliséConstruisez un seul NodeImporter et appelez ImportNode sur celui-ci pour chaque nœud
La numérotation de la liste se réinitialise de manière inattendue après l’importationImportFormatOptions.KeepSourceNumbering n’était pas définiConstruisez NodeImporter avec une instance ImportFormatOptions qui définit KeepSourceNumbering selon les besoins
Le contenu de la zone de texte ou de l’en-tête/pied de page reprend une mise en forme source indésirableLe mode KeepSourceFormatting applique le style source de façon large par défautDéfinissez IgnoreTextBoxes ou IgnoreHeaderFooter sur le ImportFormatOptions transmis à NodeImporter

FAQ

Quand devrais-je utiliser NodeImporter plutôt qu’un appel d’importation unique?

Lors de l’importation de nombreux nœuds dans une boucle — créez une seule NodeImporter au départ et appelez ImportNode de façon répétée, plutôt que de supporter le coût d’installation à chaque appel.

Que ajoute ImportFormatOptions au-delà de ImportFormatMode?

Des commutateurs plus fins tels que SmartStyleBehavior, KeepSourceNumbering, IgnoreTextBoxes, IgnoreHeaderFooter, MergePastedLists, ForceCopyStyles, AdjustSentenceAndWordSpacing et AppendDocumentWithNewPage, superposés à la sélection de base ImportFormatMode.

Est-ce que NodeImporter.ImportNode se comporte différemment de l’importation au niveau du document?

Non — les deux prennent un nœud source et un drapeau isImportChildren et l’importent dans le document de destination; NodeImporter existe afin que la configuration soit effectuée une fois et réutilisée lors de nombreux appels.

Comment garder la numérotation des listes du document source intacte lors de l’importation?

Construisez NodeImporter avec un ImportFormatOptions où KeepSourceNumbering est true.


API Reference Résumé

Classe/MéthodeDescription
NodeImporterEffectue des importations répétées de nœuds d’un document à un autre, en réutilisant la configuration entre les appels
NodeImporter(srcDoc, dstDoc, importFormatMode)Constructeur pour les importations de base en mode import-format-mode-only
NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions)Constructeur acceptant ImportFormatOptions granulaire
NodeImporter.ImportNode(srcNode, isImportChildren)Importe un nœud du document source dans le document de destination
ImportFormatOptionsParamètres d’importation à granularité fine superposés à ImportFormatMode
ImportFormatOptions.SmartStyleBehaviorComment les styles de même nom sont importés
ImportFormatOptions.KeepSourceNumberingComment la numérotation conflictuelle est importée
ImportFormatOptions.IgnoreTextBoxes / IgnoreHeaderFooterSupprime le formatage source des zones de texte / en-têtes-pieds de page sous KeepSourceFormatting
ImportFormatOptions.MergePastedListsFusionne les listes collées avec les listes environnantes
ImportFormatOptions.ForceCopyStylesCopie les styles conflictuels au lieu de réutiliser la version de destination
ImportFormatOptions.AppendDocumentWithNewPageForce le type de la première section importée à NewPage

Voir aussi

 Français