ייבוא צמתים עם NodeImporter
ייבוא צמתים עם NodeImporter
מדריך זה מראה כיצד להעביר תוכן בין שני מופעים שונים Document מופעים ב-Aspose.Words FOSS עבור .NET באמצעות המחוּד NodeImporter מחלקה ומתואמת עד לפרטים ImportFormatOptions, לתרחישים שבהם יש צורך לייבא מספר רב של צמתים ביעילות או לשלוט בהתנהגות הייבוא מעבר לבסיסי ImportFormatMode בחירה. עבור הפשוטים Document.ImportNode, Document.AppendDocument, ו DocumentBuilder.InsertDocument שיטות נוחות, ראה את עבודה עם מסמכים מדריך.
NodeImporter: ייבוא חוזר ללא הגדרה חוזרת
NodeImporter נבנה לייבוא חוזר של צמתים ממסמך אחד לאחר, ומונע את עלות ההגדרה לכל קריאה של ייבוא חד-פעמי. צור אחד עם new NodeImporter(srcDoc, dstDoc, importFormatMode) — או את העומס new NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions) לשליטה מדויקת יותר — פעם אחת, ואז קרא ImportNode(srcNode, isImportChildren) על אותו מופע לכל צומת שצריך להעביר. שימוש חוזר במופע NodeImporter אחד במגוון קריאות מונע את עלות ההגדרה שיבוא נוחות לכל קריאה גורר בכל פעם.
בקרת ייבוא מדויקת עם ImportFormatOptions
ImportFormatOptions משלים את בחירת ה-ImportFormatMode הבסיסית (UseDestinationStyles, KeepSourceFormatting, KeepDifferentStyles) עם מתגים מדויקים יותר: SmartStyleBehavior (bool) שולט כיצד סגנונות עם שמות זהים במקור וביעד מיובאים. KeepSourceNumbering (bool) שולט כיצד מספור מיובא כאשר הוא מתנגש בין המקור ליעד. IgnoreTextBoxes ו-IgnoreHeaderFooter (bool) מדכאים עיצוב מקור לתוכן תיבת טקסט וכותרת/תחתית במיוחד כאשר KeepSourceFormatting בתוקף. MergePastedLists (bool) ממזג רשימות מודבקות עם רשימות סביבתיות במקום לשמור עליהם נפרדים. ForceCopyStyles (bool) מעתיק סגנונות סותרים במקום להשתמש בגרסת היעד, במצב KeepSourceFormatting. AdjustSentenceAndWordSpacing (bool) מתאם מרווחים אוטומטית. AppendDocumentWithNewPage (bool) מכפה שהסוג של הקטע המיובא הראשון יהיה NewPage.
טיפים ושיטות עבודה מומלצות
- צור מופע
NodeImporterיחיד והשתמש בו מחדש במהלך לולאה של קריאותImportNodeבעת ייבוא של כמה צמתים — יצירת מייבא חדש לכל צומת משכפלת את עבודת ההגדרה ללא צורך. - העבר מופע
ImportFormatOptionsלטעינה המוגדלת של הבנאיNodeImporterכאשר הבחירה הפשוטהImportFormatModeאינה מדויקת מספיק — לדוגמה, כדי לשמור על מספור רשימת המקורות עםKeepSourceNumberingבעוד שמשתמשים ב-KeepSourceFormattingבאופן כולל. - הגדר את
IgnoreTextBoxesאוIgnoreHeaderFooterכאשרKeepSourceFormattingמושך יותר עיצוב מקור ממה שאתה רוצה עבור סוגי תוכן אלה בלבד. NodeImporter.ImportNode(srcNode, isImportChildren)משקפת את קריאת הייבוא ברמת המסמך מבחינת החתימה וההתנהגות; ההבדל הוא ביעילות השימוש החוזר, ולא במשמעות הייבוא.
בעיות נפוצות
| בעיה | סיבה | תיקון |
|---|---|---|
| ייבוא חוזר של מספר רב של צמתים איטי | קריאת ייבוא נוחה משמשת לכל צומת במקום אחת שנוצלת מחדש NodeImporter | צור NodeImporter יחיד וקרא ImportNode עליו עבור כל צומת |
| מספור הרשימה מתאפס באופן בלתי צפוי לאחר הייבוא | ImportFormatOptions.KeepSourceNumbering לא הוגדר | בנה NodeImporter עם מופע של ImportFormatOptions שמגדיר את KeepSourceNumbering לפי הצורך |
| תיבת טקסט או תוכן כותרת/תחתית קולט עיצוב מקור בלתי רצוי | מצב KeepSourceFormatting מחיל עיצוב מקור באופן רחב כברירת מחדל | הגדר את IgnoreTextBoxes או IgnoreHeaderFooter על הImportFormatOptions שהועבר לNodeImporter |
FAQ
מתי עלי להשתמש ב-NodeImporter במקום קריאת ייבוא יחידה?
כאשר מייבאים כמה צמתים בלולאה — בנה מופע NodeImporter אחד מראש וקרא ל-ImportNode באופן חוזר, במקום לשאת את עלות ההגדרה בכל קריאה.
מה ImportFormatOptions מוסיף מעבר ל-ImportFormatMode?
מתגים מדויקים יותר כגון SmartStyleBehavior, KeepSourceNumbering, IgnoreTextBoxes, IgnoreHeaderFooter, MergePastedLists, ForceCopyStyles, AdjustSentenceAndWordSpacing ו-AppendDocumentWithNewPage, המוצבים מעל לבחירה הבסיסית ImportFormatMode.
האם NodeImporter.ImportNode מתנהג באופן שונה מייבוא ברמת המסמך?
לא — שניהם מקבלים צומת מקור וסימן isImportChildren ומייבאים אותו למסמך היעד; NodeImporter קיים כדי שההגדרה תתבצע פעם אחת ותשמש שוב בקריאות רבות.
איך אני שומר על מספור הרשימה של המסמך המקורי שלם בעת הייבוא?
בנה NodeImporter עם ImportFormatOptions שבו KeepSourceNumbering הוא true.
API Reference סיכום
| מחלקה/מתודה | תיאור |
|---|---|
NodeImporter | מבצע ייבוא חוזר של צמתים ממסמך אחד לאחר, תוך שימוש חוזר בהגדרה בקריאות |
NodeImporter(srcDoc, dstDoc, importFormatMode) | בונה לייבוא בסיסי במצב import-format-mode-only |
NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions) | בונה המקבל ImportFormatOptions מדויק |
NodeImporter.ImportNode(srcNode, isImportChildren) | מייבא node ממסמך המקור למסמך היעד |
ImportFormatOptions | הגדרות ייבוא מדויקות משוכבות על גבי ImportFormatMode |
ImportFormatOptions.SmartStyleBehavior | כיצד סגנונות בעלי שם זהה מיובאים |
ImportFormatOptions.KeepSourceNumbering | כיצד מספור מתנגש מיובא |
ImportFormatOptions.IgnoreTextBoxes / IgnoreHeaderFooter | מדכא את העיצוב המקורי לתיבות טקסט / כותרות-תחתונים תחת KeepSourceFormatting |
ImportFormatOptions.MergePastedLists | מחבר רשימות מודבקות עם רשימות מסביב |
ImportFormatOptions.ForceCopyStyles | מעתיק סגנונות סותרים במקום להשתמש בגרסת היעד |
ImportFormatOptions.AppendDocumentWithNewPage | מאלץ את סוג הקטע המיובא הראשון ל-NewPage |