Csomópontok importálása a NodeImporter-rel
Csomópontok importálása NodeImporter segítségével
Ez az útmutató megmutatja, hogyan lehet tartalmat áthelyezni két különböző Document példány között a Aspose.Words FOSS-ban a .NET számára, a dedikált NodeImporter osztály és finoman hangolt ImportFormatOptions, olyan esetekben, amikor hatékonyan kell sok csomópontot importálni, vagy az import viselkedését az alapvető ImportFormatMode választáson. Az egyszerűbb Document.ImportNode, Document.AppendDocument, és DocumentBuilder.InsertDocument kényelem módszerekért, lásd a Dokumentumok kezelése útmutató.
NodeImporter: Ismételt importálások ismételt beállítás nélkül
NodeImporter úgy lett tervezve, hogy ismételt csomópontimportálást tesz lehetővé egy dokumentumból a másikba, elkerülve az egy alkalomra szóló importálás minden hívásnál felmerülő beállítási költséget. Hozz létre egyet a new NodeImporter(srcDoc, dstDoc, importFormatMode) segítségével — vagy a new NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions) túlterheléssel finomabb vezérléshez — egyszer, majd hívd meg a ImportNode(srcNode, isImportChildren) metódust ugyanazon az példányon minden olyan csomópontnál, amelyet át szeretnél vinni. Egy NodeImporter példány újrahasználata számos hívás során elkerüli azt a beállítási költséget, amelyet egy hívásonkénti kényelmi import minden alkalommal generál.
Finomhangolt importvezérlés ImportFormatOptions segítségével
ImportFormatOptions kiegészíti az alap ImportFormatMode választást (UseDestinationStyles, KeepSourceFormatting, KeepDifferentStyles) finomabb kapcsolókkal: SmartStyleBehavior (bool) szabályozza, hogyan kerülnek importálásra a forrásban és a célban azonos nevű stílusok. KeepSourceNumbering (bool) szabályozza, hogyan kerül importálásra a számozás, ha az a forrás és a cél között ütközik. IgnoreTextBoxes és IgnoreHeaderFooter (bool) elnyomják a forrás formázását a szövegdoboz és a fejléc/lábléc tartalom esetén, különösen amikor KeepSourceFormatting érvényben van. MergePastedLists (bool) egyesíti a beillesztett listákat a környező listákkal ahelyett, hogy különállóak maradnának. ForceCopyStyles (bool) másolja a konfliktusos stílusokat ahelyett, hogy a cél verzióját használná, KeepSourceFormatting módban. AdjustSentenceAndWordSpacing (bool) automatikusan módosítja a szóközöket. AppendDocumentWithNewPage (bool) kényszeríti az első importált szekció típusát NewPage értékre.
Tippek és bevált gyakorlatok
- Hozzon létre egyetlen
NodeImporterpéldányt, és használja újra egyImportNodehívásokból álló ciklusban sok csomópont importálásakor — egy új importáló létrehozása csomópontonként feleslegesen ismétli a beállítási munkát. - Adjon egy
ImportFormatOptionspéldányt aNodeImporterkonstruktor túlterhelésnek, amikor az egyszerűImportFormatModeválasztás nem elég pontos — például a forráslista számozásának megtartásához aKeepSourceNumberinghasználatával, miközben továbbra is aKeepSourceFormattingkerül alkalmazásra összességében. - Állítsa be a
IgnoreTextBoxesvagyIgnoreHeaderFooterértéket, amikor aKeepSourceFormattingtöbb forrás-stílust von be, mint amennyit csak az adott tartalomtípusoknál szeretne. NodeImporter.ImportNode(srcNode, isImportChildren)tükrözi a dokumentumszintű importhívást aláírásban és viselkedésben; a különbség az újrahasználati hatékonyság, nem az importálási szemantika.
Gyakori problémák
| Probléma | Ok | Javítás |
|---|---|---|
| A sok csomópont ismételt importálása lassú | Kényelmi import hívás használatos csomópontonként egy újrahasznált NodeImporter helyett | Készíts egyetlen NodeImporter-t, és minden csomópontra hívd a ImportNode-t |
| A lista számozása importálás után váratlanul visszaáll | ImportFormatOptions.KeepSourceNumbering nincs beállítva | Hozzon létre NodeImporter-t egy ImportFormatOptions példány segítségével, amely szükség szerint beállítja a KeepSourceNumbering-t |
| A szövegmező vagy a fejléc/lábléc tartalma felveszi a nem kívánt forrásformázást | KeepSourceFormatting mód alapértelmezés szerint széles körben alkalmazza a forrás stílusát | Állítsa be a IgnoreTextBoxes vagy IgnoreHeaderFooter értéket a NodeImporter számára átadott ImportFormatOptions objektumon |
FAQ
Mikor kellene NodeImporter használni egyetlen importhívás helyett?
Sok csomópont importálásakor egy ciklusban — hozzon létre egy NodeImporter példányt előre, és hívja a ImportNode függvényt többször, ahelyett, hogy minden hívásnál a beállítási költséget fizetné.
Mit ad hozzá a ImportFormatOptions a ImportFormatMode mellett?
Finomabb kapcsolók, mint a SmartStyleBehavior, KeepSourceNumbering, IgnoreTextBoxes, IgnoreHeaderFooter, MergePastedLists, ForceCopyStyles, AdjustSentenceAndWordSpacing és AppendDocumentWithNewPage, a ImportFormatMode alapválasztásra építve.
A NodeImporter.ImportNode másképp viselkedik, mint a dokumentumszinten történő importálás?
Nem — mindkettő egy forráscsomópontot és egy isImportChildren jelzőt vesz, és importálja azt a cél dokumentumba; a NodeImporter azért létezik, hogy a beállítást egyszer végezzék el, és sok hívás között újra felhasználják.
Hogyan őrizhetem meg a forrásdokumentum lista számozását az importáláskor?
Hozd létre a NodeImporter egy ImportFormatOptions segítségével, ahol a KeepSourceNumbering true.
API Reference összefoglaló
| Osztály/Módszer | Leírás |
|---|---|
NodeImporter | Ismételt csomópontimportot hajt végre egy dokumentumból a másikba, a beállításokat hívások között újra felhasználva |
NodeImporter(srcDoc, dstDoc, importFormatMode) | Konstruktor az alapvető import-format-mode-only importokhoz |
NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions) | Konstruktor, amely finomhangolt ImportFormatOptions elfogad |
NodeImporter.ImportNode(srcNode, isImportChildren) | Importál egy csomópontot a forrásdokumentumból a cél dokumentumba |
ImportFormatOptions | Finomhangolt import beállítások a ImportFormatMode tetején |
ImportFormatOptions.SmartStyleBehavior | Hogyan importálódnak az azonos nevű stílusok |
ImportFormatOptions.KeepSourceNumbering | Hogyan importálódik az ütköző számozás |
ImportFormatOptions.IgnoreTextBoxes / IgnoreHeaderFooter | Elnyomja a forrásformázást a szövegdobozoknál / fejléc-láblécek esetén a(z) KeepSourceFormatting alatt |
ImportFormatOptions.MergePastedLists | Egyesíti a beillesztett listákat a környező listákkal |
ImportFormatOptions.ForceCopyStyles | A cél verzió újrahasználása helyett másolja az ütköző stílusokat |
ImportFormatOptions.AppendDocumentWithNewPage | Kényszeríti az első importált szakasz típusát NewPage |