Importazione di nodi con NodeImporter

Importazione di nodi con NodeImporter

Importazione di nodi con NodeImporter

Questa guida mostra come spostare contenuti tra due diversi Document istanze in Aspose.Words FOSS per .NET utilizzando la dedicata NodeImporter classe e con granularità fine ImportFormatOptions, per scenari in cui è necessario importare molti nodi in modo efficiente o controllare il comportamento dell’importazione oltre il livello base ImportFormatMode scelta. Per le più semplici Document.ImportNode, Document.AppendDocument, e DocumentBuilder.InsertDocument metodi di comodità, vedi il Lavorare con i Documenti guida.


NodeImporter: Importazioni ripetute senza configurazione ripetuta

NodeImporter è progettato per l’importazione ripetuta di nodi da un documento all’altro, evitando il costo di configurazione per ogni chiamata di un’importazione monouso. Costruiscine uno con new NodeImporter(srcDoc, dstDoc, importFormatMode) — o la sovraccarico new NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions) per un controllo più fine — una sola volta, quindi chiama ImportNode(srcNode, isImportChildren) su quella stessa istanza per ogni nodo che devi trasferire. Riutilizzare una singola istanza di NodeImporter in molte chiamate evita il costo di configurazione che un’importazione di comodità per chiamata comporta ogni volta.


Controllo di importazione a livello fine con ImportFormatOptions

ImportFormatOptions integra la scelta di base ImportFormatMode ( UseDestinationStyles, KeepSourceFormatting, KeepDifferentStyles) con interruttori più fini: SmartStyleBehavior (bool) controlla come vengono importati gli stili con nomi uguali nella sorgente e nella destinazione. KeepSourceNumbering (bool) controlla come viene importata la numerazione quando entra in conflitto tra sorgente e destinazione. IgnoreTextBoxes e IgnoreHeaderFooter (bool) sopprimono la formattazione della sorgente per i contenuti di caselle di testo e di intestazione/piè di pagina specificamente quando KeepSourceFormatting è attivo. MergePastedLists (bool) unisce le liste incollate con le liste circostanti invece di mantenerle separate. ForceCopyStyles (bool) copia gli stili in conflitto invece di riutilizzare la versione della destinazione, in modalità KeepSourceFormatting. AdjustSentenceAndWordSpacing (bool) regola automaticamente la spaziatura. AppendDocumentWithNewPage (bool) forza il tipo della prima sezione importata a NewPage.


Suggerimenti e migliori pratiche

  • Crea un’unica istanza di NodeImporter e riutilizzala in un ciclo di chiamate a ImportNode durante l’importazione di molti nodi — creare un nuovo importatore per ogni nodo ripete inutilmente il lavoro di configurazione.
  • Passa un’istanza di ImportFormatOptions al sovraccarico del costruttore NodeImporter quando la semplice scelta ImportFormatMode non è sufficientemente precisa — ad esempio, per mantenere la numerazione dell’elenco di origine con KeepSourceNumbering pur continuando a utilizzare KeepSourceFormatting complessivamente.
  • Imposta IgnoreTextBoxes o IgnoreHeaderFooter quando KeepSourceFormatting applica più stilizzazione di origine di quella desiderata solo per quei tipi di contenuto.
  • NodeImporter.ImportNode(srcNode, isImportChildren) rispecchia la chiamata di importazione a livello di documento nella firma e nel comportamento; la differenza è l’efficienza del riutilizzo, non la semantica dell’importazione.

Problemi comuni

ProblemaCausaCorrezione
L’importazione ripetuta di molti nodi è lentaUna chiamata di importazione comoda viene usata per ogni nodo invece di un unico NodeImporter riutilizzabileCostruisci un unico NodeImporter e chiama ImportNode su di esso per ogni nodo
La numerazione della lista si resetta inaspettatamente dopo l’importazioneImportFormatOptions.KeepSourceNumbering non è stato impostatoCostruisci NodeImporter con un’istanza ImportFormatOptions che imposta KeepSourceNumbering secondo necessità
Textbox o contenuto dell’intestazione/piè di pagina acquisisce una formattazione di origine indesiderataKeepSourceFormatting modalità applica lo stile di origine in modo ampio per impostazione predefinitaImposta IgnoreTextBoxes o IgnoreHeaderFooter sul ImportFormatOptions passato a NodeImporter

FAQ

Quando dovrei usare NodeImporter invece di una singola chiamata di importazione?

Durante l’importazione di molti nodi in un ciclo — crea un NodeImporter una sola volta e chiama ImportNode ripetutamente, invece di sostenere il costo di configurazione a ogni chiamata.

Cosa aggiunge ImportFormatOptions oltre a ImportFormatMode?

Interruttori più fini come SmartStyleBehavior, KeepSourceNumbering, IgnoreTextBoxes, IgnoreHeaderFooter, MergePastedLists, ForceCopyStyles, AdjustSentenceAndWordSpacing e AppendDocumentWithNewPage, stratificati sopra la scelta di base ImportFormatMode.

Il NodeImporter.ImportNode si comporta diversamente rispetto all’importazione a livello di documento?

No — entrambi accettano un nodo sorgente e un flag isImportChildren e lo importano nel documento di destinazione; NodeImporter esiste affinché la configurazione venga eseguita una sola volta e riutilizzata in molte chiamate.

Come posso mantenere intatta la numerazione delle liste del documento sorgente durante l’importazione?

Costruisci NodeImporter con un ImportFormatOptions dove KeepSourceNumbering è true.


API Reference Riepilogo

Classe/MetodoDescrizione
NodeImporterEsegue importazioni ripetute di nodi da un documento all’altro, riutilizzando la configurazione tra le chiamate
NodeImporter(srcDoc, dstDoc, importFormatMode)Costruttore per importazioni di base solo in modalità import-format-mode-only
NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions)Costruttore che accetta ImportFormatOptions a granularità fine
NodeImporter.ImportNode(srcNode, isImportChildren)Importa un nodo dal documento sorgente nel documento di destinazione
ImportFormatOptionsImpostazioni di importazione a granularità fine sovrapposte a ImportFormatMode
ImportFormatOptions.SmartStyleBehaviorCome vengono importati gli stili con lo stesso nome
ImportFormatOptions.KeepSourceNumberingCome viene importata la numerazione in conflitto
ImportFormatOptions.IgnoreTextBoxes / IgnoreHeaderFooterSopprime la formattazione di origine per caselle di testo / intestazioni-piedi sotto KeepSourceFormatting
ImportFormatOptions.MergePastedListsUnisce le liste incollate con le liste circostanti
ImportFormatOptions.ForceCopyStylesCopia gli stili in conflitto invece di riutilizzare la versione della destinazione
ImportFormatOptions.AppendDocumentWithNewPageForza il tipo della prima sezione importata a NewPage

Vedi anche

 Italiano