c# - कन्वर्ट वर्ड ऑफ इंटरॉप ऑब्जेक्ट को शारीरिक रूप से बिना बचत[] बाइट



interop ms-word (1)

क्या आपको सचमुच Microsoft.Office.Interop और Microsoft.Office.Word का उपयोग करना है?

यदि यह वास्तव में आवश्यक नहीं है, तो आप WordDocument की सामग्री को छेड़छाड़ करने के लिए ओपनएक्सएमएल एसडीके पुस्तकालयों का इस्तेमाल कर सकते हैं।

ओपनएक्सएमएल एसडीके में क्लास वर्डप्रोसेसिंग डॉक्यूमेंट है जो वर्ड डॉक्यूमेंट कंटेंट युक्त मेमोरी स्ट्रीम को हेरफेर कर सकता है। और ToArray() का उपयोग करके एक byte[] परिवर्तित किया जा सकता है

एक कोड नमूना के रूप में:

byte[] templateContent = File.ReadAllBytes(templateFile);

MemoryStream stream = new MemoryStream();
stream.Write(templateContent, 0, templateContent.Length);

WordprocessingDocument wordDoc = WordprocessingDocument.Open(stream, true);

// When done
byte[] contentOfWordFile = stream.toArray();

मेरे पास Microsoft.Office.Interop और Microsoft.Office.Word का उपयोग करके स्मृति में एक ऑब्जेक्ट बनाया गया है और सभी निर्मित पैराग्राफ, टेबल और पसंद के साथ। मुझे तालिका में एक ही प्रकार के एक फ़ील्ड को खिलाने के लिए सामग्री बाइट [] उत्पन्न करने के लिए इस ऑब्जेक्ट की आवश्यकता है। समस्या यह है कि मैं इसे किसी भी तरह से शारीरिक रूप से एक oDoc.Save ("पथ") के साथ एक FileStream का उपयोग करने के लिए और मेरी समस्या को हल करने के लिए नहीं बचा सकता।

कई समाधानों की कोशिश की है और क्लिपबोर्ड का उपयोग कैसे करें, और काम नहीं किया। कोई भी समाधान?





byte