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कॉल्स के लूप में पुन: उपयोग करें — प्रत्येक नोड के लिए नया इम्पोर्टर बनाना अनावश्यक रूप से सेटअप कार्य को दोहराता है। - जब साधारण
ImportFormatModeविकल्प पर्याप्त सटीक नहीं हो, तोImportFormatOptionsइंस्टेंस कोNodeImporterकंस्ट्रक्टर ओवरलोड में पास करें — उदाहरण के लिए, कुल मिलाकरKeepSourceFormattingका उपयोग करते हुएKeepSourceNumberingके साथ स्रोत सूची क्रमांकन बनाए रखने के लिए। - जब
KeepSourceFormattingउन सामग्री प्रकारों के लिए आप जितना चाहते हैं उससे अधिक स्रोत शैली ले आता है, तोIgnoreTextBoxesयाIgnoreHeaderFooterसेट करें। NodeImporter.ImportNode(srcNode, isImportChildren)दस्तावेज़-स्तरीय इम्पोर्ट कॉल के हस्ताक्षर और व्यवहार को प्रतिबिंबित करता है; अंतर पुन: उपयोग दक्षता में है, न कि इम्पोर्ट सेमैंटिक्स में।
सामान्य समस्याएँ
| समस्या | कारण | समाधान |
|---|---|---|
| कई नोड्स के दोहराए गए आयात धीमे हैं | प्रत्येक नोड के लिए एक सहूलियत आयात कॉल का उपयोग किया जाता है, बजाय एक पुन: उपयोग किए गए NodeImporter के | एकल NodeImporter बनाएं और प्रत्येक नोड के लिए उस पर ImportNode को कॉल करें। |
| आयात के बाद सूची क्रमांक अनपेक्षित रूप से रीसेट हो जाता है। | ImportFormatOptions.KeepSourceNumbering सेट नहीं था। | ज़रूरत के अनुसार KeepSourceNumbering सेट करने वाले ImportFormatOptions इंस्टेंस के साथ NodeImporter बनाएं। |
| टेक्स्टबॉक्स या हेडर/फूटर सामग्री अवांछित स्रोत स्वरूपण को अपनाती है। | KeepSourceFormatting मोड डिफ़ॉल्ट रूप से स्रोत शैली को व्यापक रूप से लागू करता है। | NodeImporter को पास किए गए ImportFormatOptions पर IgnoreTextBoxes या IgnoreHeaderFooter सेट करें। |
FAQ
मुझे एकल इम्पोर्ट कॉल के बजाय NodeImporter कब उपयोग करना चाहिए?
जब लूप में कई नोड्स आयात कर रहे हों — पहले एक NodeImporter बनाएं और ImportNode को बार-बार कॉल करें, प्रत्येक कॉल पर सेटअप लागत चुकाने के बजाय।
ImportFormatOptions ImportFormatMode से आगे क्या जोड़ता है?
बारीक स्विच जैसे SmartStyleBehavior, KeepSourceNumbering, IgnoreTextBoxes, IgnoreHeaderFooter, MergePastedLists, ForceCopyStyles, AdjustSentenceAndWordSpacing, और AppendDocumentWithNewPage, मूल ImportFormatMode विकल्प के ऊपर परतित होते हैं।
क्या NodeImporter.ImportNode दस्तावेज़ स्तर पर आयात करने से अलग व्यवहार करता है?
नहीं — दोनों एक स्रोत नोड और एक isImportChildren फ़्लैग लेते हैं और इसे गंतव्य दस्तावेज़ में आयात करते हैं; NodeImporter मौजूद है ताकि सेटअप एक बार किया जाए और कई कॉल्स में पुन: उपयोग किया जा सके।
आयात करते समय स्रोत दस्तावेज़ की सूची क्रमांकन को कैसे बरकरार रखें?
KeepSourceNumbering true होने पर NodeImporter को एक ImportFormatOptions के साथ बनाएं।
API Reference सारांश
| क्लास/मेथड | विवरण |
|---|---|
NodeImporter | एक दस्तावेज़ से दूसरे दस्तावेज़ में नोड्स का बार-बार आयात करता है, कॉल्स के बीच सेटअप को पुनः उपयोग करता है |
NodeImporter(srcDoc, dstDoc, importFormatMode) | बेसिक import-format-mode-only इम्पोर्ट के लिए कन्स्ट्रक्टर |
NodeImporter(srcDoc, dstDoc, importFormatMode, importFormatOptions) | फ़ाइन-ग्रेन ImportFormatOptions को स्वीकार करने वाला कंस्ट्रक्टर |
NodeImporter.ImportNode(srcNode, isImportChildren) | स्रोत दस्तावेज़ से एक नोड को गंतव्य दस्तावेज़ में आयात करता है |
ImportFormatOptions | फ़ाइन-ग्रेन इम्पोर्ट सेटिंग्स ImportFormatMode के ऊपर परतित |
ImportFormatOptions.SmartStyleBehavior | समान-नाम वाले शैलियों को कैसे आयात किया जाता है |
ImportFormatOptions.KeepSourceNumbering | टकराव वाली क्रमांकन को कैसे आयात किया जाता है |
ImportFormatOptions.IgnoreTextBoxes / IgnoreHeaderFooter | KeepSourceFormatting के तहत टेक्स्टबॉक्स / हेडर्स-फ़ूटर के स्रोत फ़ॉर्मैटिंग को दबाता है |
ImportFormatOptions.MergePastedLists | पेस्ट की गई सूचियों को आसपास की सूचियों के साथ मिलाता है |
ImportFormatOptions.ForceCopyStyles | गंतव्य के संस्करण को पुन: उपयोग करने के बजाय संघर्षित शैलियों को कॉपी करता है |
ImportFormatOptions.AppendDocumentWithNewPage | पहले आयातित सेक्शन के प्रकार को NewPage पर मजबूर करता है |