Importieren von Knoten mit NodeImporter

Importieren von Knoten mit NodeImporter

Importieren von Knoten mit NodeImporter

Dieser Leitfaden zeigt, wie man Inhalte zwischen zwei verschiedenen Document Instanzen in Aspose.Words FOSS für .NET mithilfe der dedizierten NodeImporter Klasse und feinkörnige ImportFormatOptions, für Szenarien, in denen Sie viele Knoten effizient importieren oder das Importverhalten über das Grundlegende hinaus steuern müssen ImportFormatMode Auswahl. Für die einfacheren Document.ImportNode, Document.AppendDocument, und DocumentBuilder.InsertDocument Convenience-Methoden, siehe die Arbeiten mit Dokumenten Leitfaden.


NodeImporter: Wiederholte Importe ohne wiederholtes Setup

NodeImporter ist für wiederholte Importe von Knoten von einem Dokument zu einem anderen konzipiert und vermeidet die pro Aufruf anfallenden Einrichtungskosten eines Einmal-Imports. Erstellen Sie ein Objekt mit new NodeImporter(srcDoc, dstDoc, importFormatMode)— oder die Überladung new NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions) für feinere Kontrolle— einmalig und rufen Sie dann ImportNode(srcNode, isImportChildren) auf derselben Instanz für jeden Knoten auf, den Sie übertragen möchten. Die Wiederverwendung einer NodeImporter-Instanz über viele Aufrufe hinweg vermeidet die Einrichtungskosten, die ein pro Aufruf ausgeführter Convenience-Import jedes Mal verursacht.


Feinkörnige Importkontrolle mit ImportFormatOptions

ImportFormatOptions ergänzt die grundlegende ImportFormatMode-Auswahl (UseDestinationStyles, KeepSourceFormatting, KeepDifferentStyles) um feinere Schalter: SmartStyleBehavior (bool) steuert, wie Stile mit gleichen Namen in Quelle und Ziel importiert werden. KeepSourceNumbering (bool) regelt, wie Nummerierungen importiert werden, wenn sie zwischen Quelle und Ziel kollidieren. IgnoreTextBoxes und IgnoreHeaderFooter (bool) unterdrücken die Quellformatierung für Textfeld- und Kopf-/Fußzeilen-Inhalte speziell, wenn KeepSourceFormatting aktiv ist. MergePastedLists (bool) fügt eingefügte Listen mit angrenzenden Listen zusammen, anstatt sie getrennt zu lassen. ForceCopyStyles (bool) kopiert konfligierende Stile, anstatt die Version des Ziels zu verwenden, im KeepSourceFormatting-Modus. AdjustSentenceAndWordSpacing (bool) passt den Abstand automatisch an. AppendDocumentWithNewPage (bool) erzwingt, dass der Typ des zuerst importierten Abschnitts NewPage ist.


Tipps und bewährte Vorgehensweisen

  • Erstellen Sie eine einzelne NodeImporter-Instanz und verwenden Sie sie in einer Schleife von ImportNode-Aufrufen, wenn Sie viele Knoten importieren — das Erzeugen eines neuen Importers pro Knoten wiederholt die Einrichtung unnötig.
  • Übergeben Sie eine ImportFormatOptions-Instanz an die NodeImporter-Konstruktorüberladung, wenn die einfache ImportFormatMode-Auswahl nicht präzise genug ist — zum Beispiel, um die Nummerierung der Quellliste mit KeepSourceNumbering beizubehalten, während Sie insgesamt KeepSourceFormatting verwenden.
  • Setzen Sie IgnoreTextBoxes oder IgnoreHeaderFooter, wenn KeepSourceFormatting mehr Quell-Styling einbringt, als Sie für genau diese Inhaltstypen wünschen.
  • NodeImporter.ImportNode(srcNode, isImportChildren) spiegelt den dokumentenweiten Importaufruf in Signatur und Verhalten wider; der Unterschied liegt in der Wiederverwendungseffizienz, nicht in den Importsemantiken.

Häufige Probleme

ProblemUrsacheBehebung
Wiederholte Importe vieler Knoten sind langsamEin Komfort-Importaufruf wird pro Knoten verwendet, anstatt einen wiederverwendeten NodeImporterErstelle ein einzelnes NodeImporter und rufe ImportNode für jeden Knoten darauf auf
Die Listennummerierung wird nach dem Import unerwartet zurückgesetztImportFormatOptions.KeepSourceNumbering wurde nicht gesetztErstellen Sie NodeImporter mit einer ImportFormatOptions-Instanz, die KeepSourceNumbering bei Bedarf festlegt
Textbox- oder Kopf-/Fußzeileninhalt übernimmt unerwünschte QuellformatierungKeepSourceFormatting-Modus wendet standardmäßig die Quellformatierung breit anSetzen Sie IgnoreTextBoxes oder IgnoreHeaderFooter auf das ImportFormatOptions, das an NodeImporter übergeben wird

FAQ

Wann sollte ich NodeImporter anstelle eines einzelnen Importaufrufs verwenden?

Beim Importieren vieler Knoten in einer Schleife — erstellen Sie zunächst ein NodeImporter und rufen Sie ImportNode wiederholt auf, anstatt bei jedem Aufruf die Einrichtungskosten zu zahlen.

Was fügt ImportFormatOptions über ImportFormatMode hinaus hinzu?

Feinere Schalter wie SmartStyleBehavior, KeepSourceNumbering, IgnoreTextBoxes, IgnoreHeaderFooter, MergePastedLists, ForceCopyStyles, AdjustSentenceAndWordSpacing und AppendDocumentWithNewPage, die über der Basiswahl ImportFormatMode geschichtet sind.

Verhält sich NodeImporter.ImportNode anders als das Importieren auf Dokumentebene?

Nein — beide nehmen einen Quellknoten und ein isImportChildren-Flag und importieren es in das Zieldokument; NodeImporter existiert, damit die Einrichtung einmal durchgeführt und bei vielen Aufrufen wiederverwendet wird.

Wie kann ich die Listennummerierung des Quelldokuments beim Import unverändert behalten?

Erstelle NodeImporter mit einem ImportFormatOptions, wobei KeepSourceNumbering true ist.


API Reference Zusammenfassung

Klasse/MethodeBeschreibung
NodeImporterFührt wiederholte Importe von Knoten von einem Dokument in ein anderes durch und verwendet die Einrichtung über mehrere Aufrufe hinweg erneut
NodeImporter(srcDoc, dstDoc, importFormatMode)Konstruktor für grundlegende Importe im reinen Import-Format-Modus
NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions)Konstruktor, der feinkörnige ImportFormatOptions akzeptiert
NodeImporter.ImportNode(srcNode, isImportChildren)Importiert einen Knoten aus dem Quelldokument in das Zieldokument
ImportFormatOptionsFeinkörnige Import-Einstellungen, die auf ImportFormatMode aufgesetzt sind
ImportFormatOptions.SmartStyleBehaviorWie gleichnamige Stile importiert werden
ImportFormatOptions.KeepSourceNumberingWie kollidierende Nummerierung importiert wird
ImportFormatOptions.IgnoreTextBoxes / IgnoreHeaderFooterUnterdrückt die Quellformatierung für Textfelder / Kopf- und Fußzeilen unter KeepSourceFormatting
ImportFormatOptions.MergePastedListsFügt eingefügte Listen mit den umgebenden Listen zusammen
ImportFormatOptions.ForceCopyStylesKopiert konfliktierende Stile, anstatt die Version des Ziels wiederzuverwenden
ImportFormatOptions.AppendDocumentWithNewPageErzwingt, dass der Typ des zuerst importierten Abschnitts NewPage ist

Siehe auch

 Deutsch