2009-12-04 18 views
5

का उपयोग कर वर्ड 2007 दस्तावेज़ में सामग्री नियंत्रण कैसे जोड़ें I वस्तु मॉडल का उपयोग किए बिना एक शब्द 2007 दस्तावेज़ बनाना चाहते हैं। इसलिए मैं इसे ओपन एक्सएमएल प्रारूप का उपयोग करना चाहता हूं। अब तक मैं दस्तावेज़ बनाने में सक्षम हूं। अब मैं इसमें एक सामग्री नियंत्रण जोड़ना चाहता हूं और इसे एक्सएमएल में मैप करना चाहता हूं। क्या कोई मुझे इसके बारे में मार्गदर्शन कर सकता है ???ओपनएक्सएमएल

उत्तर

7

अनूप,

आपने कहा कि आप OpenXmlSdk का उपयोग कर दस्तावेज़ creat करने के लिए सक्षम हैं। उस धारणा के साथ, आप वर्डप्रोसेसिंग में जोड़ने के लिए सामग्री नियंत्रण बनाने के लिए निम्न कोड का उपयोग कर सकते हैं। आपके दस्तावेज़ का बॉडी तत्व।

//praragraph to be added to the rich text content control 
Run run = new Run(new Text("Insert any text Here") { Space = StaticTextConstants.Preserve }); 
Paragraph paragraph = new Paragraph(run); 

SdtProperties sdtPr = new SdtProperties(
     new Alias { Val = "MyContentCotrol" }, 
     new Tag { Val = "_myContentControl" }); 
SdtContentBlock sdtCBlock = new SdtContentBlock(paragraph); 
SdtBlock sdtBlock = new SdtBlock(sdtPr, sdtCBlock); 

//add this content control to the body of the word document 
WordprocessingDocument wDoc = WordprocessingDocument.Open(path, true); //path is where your word 2007 file is 
Body mBody = wDoc.MainDocumentPart.Document.Body; 
mBody.AppendChild(sdtBlock); 

wDoc.MainDocumentPart.Document.Save(); 
wDoc.Dispose(); 

मुझे आशा है कि यह आपके प्रश्न का एक हिस्सा उत्तर देगा। मुझे समझ में नहीं आया कि आप "इसे एक्सएमएल में मैप करें" द्वारा क्या सलाह देते हैं। क्या आप कहने का मतलब था कि आप CustomXmlBlock बनाना चाहते हैं और इसमें ContentControl जोड़ें?

+0

उत्तर के लिए Thanx !! हालांकि एमएसडीएन में मुझे पहले से ही एक अच्छा लेख मिला है, जो एक्सएमएल मैपिंग भी बताता है ... http://msdn.microsoft.com/en-us/library/dd469465.aspx – Anoop

+1

ओपनएक्सएमएल एसडीके 2 में, एलियास अब एसडीटीएलीस है। –

3

www.codeplex.com पर वर्ड कंटेंट कंट्रोल टूलकिट की तलाश करें।

यहां आप जो भी प्रयास कर रहे हैं, उस पर एक बहुत ही संक्षिप्त व्याख्या है।

  1. आपको शब्द रिबन पर डेवलपर टैब तक पहुंच की आवश्यकता है। इस काम को पाने के लिए ऊपरी बाएं कोने में Office (Round thingy) पर क्लिक करें और मेनू के नीचे Word विकल्प का चयन करें। पहले विकल्प पृष्ठ पर डेवलपर टूलबार दिखाने के लिए एक चेकबॉक्स है।

  2. पेज पर इच्छित सामग्री नियंत्रण जोड़ने के लिए डेवलपर टूलबार का उपयोग करें। डेवलपर बार के सामग्री नियंत्रण अनुभाग में गुण बटन पर क्लिक करें और नाम और टैग गुण सेट करें (मैं नाम और टैग फ़ील्ड को उसी नाम से नामित करने के लिए चिपक जाता हूं)।

  3. शब्द दस्तावेज़ को सहेजें और बंद करें।

  4. सामग्री नियंत्रण टूलकिट खोलें और फिर टूलकिट के साथ अपना दस्तावेज़ खोलें। अपने नियंत्रण से लिंक करने के लिए कुछ कस्टम एक्सएमएल बनाने के लिए बाएं हाथ दर्द का प्रयोग करें।

  5. अब अपने कस्टम एक्सएमएल और टूलकिट के दाहिने पैनल में प्रदर्शित कस्टम नियंत्रण के बीच मैपिंग ड्रैग और ड्रॉप करने के लिए बाध्य दृश्य का उपयोग करें।

  6. आप कोड में अपना शब्द दस्तावेज़ खोलने के लिए ओपनएक्सएमएल एसडीके 1.0 या 2.0 (अभी भी सीटीपी में) का उपयोग कर सकते हैं और शब्द दस्तावेज़ के हिस्से के रूप में निहित कस्टम एक्सएमएल फ़ाइल तक पहुंच सकते हैं।

यदि आप देखना चाहते हैं कि आपका शब्द दस्तावेज़ xml जैसा दिखता है। अपने शब्द दस्तावेज़ की एक प्रति बनाएं और फिर इसे "a.zip" कहने के लिए नाम दें। ज़िप फ़ाइल पर डबल क्लिक करें और फिर फ़ोल्डर संरचना नेविगेट करें। शब्द दस्तावेज़ की मुख्य सामग्री "document.xml" नामक फ़ाइल में फ़ोल्डर फ़ोल्डर के अंतर्गत आयोजित की जाती है। दस्तावेज़ का कस्टम xml भाग customXml फ़ोल्डर के अंतर्गत होता है और आमतौर पर "item1.xml" नाम की फ़ाइल में पाया जाता है।

मुझे आशा है कि यह संक्षिप्त स्पष्टीकरण आपको उठाएगा और चल रहा है।

+0

मैं खुले एक्सएमएल एसडीके का उपयोग कर प्रोग्राम नियंत्रण को प्रोग्रामेटिक रूप से जोड़ना चाहता हूं .... – Anoop

संबंधित मुद्दे