सी # में वर्ड दस्तावेज़ कैसे बनाया जा सकता है?

मेरे पास एक प्रोजेक्ट है जहां मैं एमएस वर्ड प्रारूप में एक रिपोर्ट निर्यात उत्पन्न करना चाहता हूं। रिपोर्ट में छवियों/ग्राफ, टेबल और टेक्स्ट शामिल होंगे। इसे करने का बेहतरीन तरीका क्या है? तीसरे पक्ष के उपकरण? आपके अनुभव क्या हैं?

0
ro fr bn
इसे फिर से खोला जाना चाहिए। न केवल यह स्पष्ट और उपयोगी है, लेकिन यह अन्य प्रश्नों से जुड़ा हुआ है जिन्हें इस के डुप्लिकेट के रूप में चिह्नित किया गया है।
जोड़ा लेखक DarenW, स्रोत

16 उत्तर

मुझे मिला है Aspose Words सर्वश्रेष्ठ होने के नाते हर कोई Office Open XML/*। Docx प्रारूप फ़ाइलों को खोल सकता है और वर्ड इंटरऑप और वर्ड ऑटोमेशन बग्गी हो सकता है। मान लीजिए शब्द वर्ड 97 से ऊपर के अधिकांश दस्तावेज़ फ़ाइल प्रकारों का समर्थन करते हैं।

यह एक पे-फॉर घटक है लेकिन इसका बहुत अच्छा समर्थन है। जैसा कि पहले से सुझाया गया दूसरा विकल्प आरटीएफ है।

0
जोड़ा
ओपनएक्सएमएल दस्तावेज़ों के साथ काम करते समय मुझे लगता है कि शब्दों को कम कमी है। विशेष रूप से, सामग्री नियंत्रणों का संचालन बेकार के बगल में है, और यह AltChunk नोड्स को बिल्कुल संभाल नहीं सकता है।
जोड़ा लेखक Collin K, स्रोत

श्मिट, यदि आप वेब सर्वर पर वर्ड दस्तावेज़ जेनरेट करना चाहते हैं तो आपको प्रत्येक क्लाइंट (केवल वेब सर्वर नहीं) के लिए लाइसेंस की आवश्यकता होगी। इस अनुभाग को पहले लिंक में पोस्ट करें रोब पोस्ट किया गया:

"तकनीकी समस्याओं के अलावा, आपको लाइसेंसिंग मुद्दों पर भी विचार करना होगा। वर्तमान लाइसेंसिंग दिशानिर्देश सर्वर अनुप्रयोगों को सेवा क्लाइंट अनुरोधों के लिए सर्वर पर इस्तेमाल होने से रोकते हैं, जब तक कि उन ग्राहकों के पास स्वयं की लाइसेंस प्राप्त प्रतियां नहीं होतीं। Office-side Automation का उपयोग Office कार्यक्षमता प्रदान करने के लिए लाइसेंस रहित वर्कस्टेशन अंतिम उपयोगकर्ता लाइसेंस अनुबंध (ईयूएलए) द्वारा कवर नहीं किया गया है। "

यदि आप लाइसेंसिंग आवश्यकताओं को पूरा करते हैं, तो मुझे लगता है कि आपको COM इंटरऑप का उपयोग करने की आवश्यकता होगी - विशिष्ट होने के लिए, Office XP प्राथमिक इंटरऑप असेंबली

0
जोड़ा

अगर सर्वर पर एप्लिकेशन चल रहा है या क्लाइंट मशीन पर चल रहा है तो इसका जवाब थोड़ा निर्भर करेगा। यदि आप किसी सर्वर पर चल रहे हैं तो आप एक्सएमएल आधारित कार्यालय पीढ़ी के प्रारूपों में से एक का उपयोग करना चाहते हैं क्योंकि सर्वर पर Office Automation का उपयोग

हालांकि, यदि आप क्लाइंट मशीन पर काम कर रहे हैं तो आपके पास या तो Office का उपयोग करने का विकल्प है स्वचालन या Office Open xml प्रारूप का उपयोग करना (नीचे दिए गए लिंक देखें), जो Microsoft Office 2000 द्वारा समर्थित है और या तो मूल रूप से या सर्विस पैक के माध्यम से। एक इस पर वापस आकर्षित करता है कि आप कुछ प्रकार के ग्राफ या छवियों को एम्बेड करने में सक्षम नहीं हो सकते हैं जिन्हें आप दिखाना चाहते हैं।

चीजों के बारे में जाने का सबसे अच्छा तरीका सभी इस बात पर निर्भर करेगा कि विकास में आपको कितना समय निवेश करना है। यदि आप ऑफिस ऑटोमेशन के मार्ग पर जाते हैं तो वहां कुछ अच्छे ट्यूटोरियल हैं जो Google के माध्यम से मिल सकते हैं और सीखने के लिए काफी सरल हैं। हालांकि, ओपन ऑफिस एक्सएमएल प्रारूप काफी नया है, इसलिए आपको सीखने की वक्र थोड़ी अधिक हो सकती है।

कार्यालय ओपन एक्सएमएल Iinformation

0
जोड़ा
9/2011 के रूप में अपडेट करें ... मैं इंटरऑप और ओपनएक्सएमएल दोनों करता हूं, और किसी भी मामले में इस कार्य का सामना करना पड़ता हूं, मैं बिल्कुल ओपनएक्सएमएल का उपयोग करता हूं। यह एकमात्र समाधान है जो पूरी तरह से गारंटी देता है कि आपके पास आउटपुट पर पूर्ण नियंत्रण होगा।
जोड़ा लेखक Chris B. Behrens, स्रोत

अतीत में मैंने इसे सबसे तेज़ तरीका एक्सएमएल का उपयोग करना है। यहां एक अच्छा लेख है जो आपको शुरू करना चाहिए:

http://msdn.microsoft.com/en-us/magazine/cc164064.aspx

0
जोड़ा
वाह, यह एक अच्छा लेख है।
जोड़ा लेखक Frank Krueger, स्रोत
वह एमएसडीएन लिंक मर गया। क्या कोई लेखक, शीर्षक, या प्रकाशन दिनांक है, मैं खोज सकता हूं?
जोड़ा लेखक DarenW, स्रोत
कार्यालय 2010 का उपयोग करके इसे सहेजना संभव नहीं है। support.microsoft.com/kb/2445060 एमएसएफटी ने कस्टम एक्सएमएल को सहेजने के लिए कुछ मामला खो दिया है। zdnet.com/blog/microsoft/…
जोड़ा लेखक Ankush, स्रोत

@ डैनी स्मर्फ: असल में यह आलेख वर्णन करता है कि रॉब ने किस कार्यालय ओपन एक्सएमएल प्रारूप को बनाया होगा। अप्रचलित नहीं होने के लिए मैं अब पोस्ट किए गए लिंक पर अधिक ध्यान देना चाहूंगा। मैंने वास्तव में वर्डएमएल पर एक खोज की, जिसे उस समय कहा जाता था।

मेरा मानना ​​है कि ऑफिस ओपन एक्सएमएल प्रारूप जाने का सबसे अच्छा तरीका है।

0
जोड़ा

DocX free library for creating DocX documents, actively developed and very easy and intuitive to use. Since CodePlex is dying, project has moved to github.

0
जोड़ा

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

0
जोड़ा
@SteveHiner - हमारे पास मूल्य सीमाएं हैं (कीमत पर खोज करें) लेकिन हमने मूल्य सूची कम कर दी क्योंकि लोगों ने जो कुछ भी जरूरी था उसे गलत समझा और फिर गुमराह महसूस किया। तो हम किसी की जरूरत को समझने के लिए बेहतर समझते हैं और फिर उन्हें सही मूल्य देते हैं।
जोड़ा लेखक David Thielen, स्रोत
एफवाईआई, जब मैं एक वाणिज्यिक उत्पाद के लिए एक साइट पर जाता हूं और ऐसा लगता है कि वे एक मुफ्त निशान के बारे में बताते हुए कीमत छुपाते हैं, मैं स्वचालित रूप से मानता हूं कि उत्पाद वास्तव में महंगा है और नि: शुल्क परीक्षण सिर्फ चारा है। यदि डॉक्जेन पागल महंगा है तो आप शायद कीमत छुपाने का अधिकार रखते हैं लेकिन अन्यथा मुझे लगता है कि यह एक गलती है।
जोड़ा लेखक Steve Hiner, स्रोत

LibreOffice also supports headless interaction via API. Unfortunately there's currently not much information about this feature yet.. :(

0
जोड़ा

मुझे सिंकफ्यूजन बैकऑफिस डॉकियो का उपयोग करके अच्छी सफलता मिली है जो डॉक्टर और डॉक्क्स प्रारूपों का समर्थन करता है।

पूर्व रिलीज में यह शब्द में सबकुछ का समर्थन नहीं करता था, लेकिन आपकी सूची में शामिल होने के बाद हमने इसे मेल मर्ज दृष्टिकोण के रूप में टेबल और टेक्स्ट के साथ परीक्षण किया और यह ठीक काम किया।

हालांकि छवियों के आयात के बारे में निश्चित नहीं है। उनके अस्पष्ट पृष्ठ पर http://www.syncfusion.com/products/ यह कहता है कि डॉकियो/बैकऑफिस/फीचर्स/default.aspx

Blockquote   आवश्यक डॉकियो को दस्तावेज़ में स्केलर और वेक्टर छवियों को लगभग सभी प्रारूपों में डालने के लिए समर्थन है। बिटमैप, जीआईएफ, पीएनजी और टिफ कुछ सामान्य छवि प्रकार समर्थित हैं।

तो विचार करने लायक है।

As others have mentioned you can build up a RTF document, there are some good RTF libraries around for .net like http://www.codeproject.com/KB/string/nrtftree.aspx

0
जोड़ा

@ डेल रागन: यह Office 2003 एक्सएमएल प्रारूप के लिए काम करेगा, लेकिन यह पोर्टेबल नहीं है (जैसा कि, कहें, .doc या .docx फ़ाइलें होंगी)।

उनको पढ़ने/लिखने के लिए, आपको वर्ड ऑब्जेक्ट लाइब्रेरी ActiveX नियंत्रण का उपयोग करने की आवश्यकता होगी:

http://www.codeproject.com/KB/aspnet/wordapplication.aspx

0
जोड़ा

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

0
जोड़ा

मैंने एक ओपन पर ब्लॉग पोस्ट श्रृंखला लिखी है एक्सएमएल वर्डप्रोसेसिंगएमएम दस्तावेज़ पीढ़ी । मेरा दृष्टिकोण यह है कि आप एक टेम्पलेट दस्तावेज़ बनाते हैं जिसमें सामग्री नियंत्रण होता है, और प्रत्येक सामग्री नियंत्रण में आप एक XPath अभिव्यक्ति लिखते हैं जो परिभाषित करता है कि xml दस्तावेज़ से सामग्री को कैसे पुनर्प्राप्त किया जाए जिसमें दस्तावेज़ जनरेशन प्रक्रिया को चलाने वाले डेटा शामिल हैं। कोड नि: शुल्क है, और इसे माइक्रोसॉफ्ट रेसीप्रोकल लाइसेंस (एमएस-आरएल) के तहत लाइसेंस प्राप्त है। उसी ब्लॉग पोस्ट श्रृंखला में, मैं एक ऐसे दृष्टिकोण का भी पता लगाता हूं जहां आप सामग्री नियंत्रण में सी # कोड लिखते हैं। दस्तावेज़ जनरेशन प्रक्रिया तब टेम्पलेट दस्तावेज़ को संसाधित करती है और एक सी # प्रोग्राम उत्पन्न करती है जो वांछित दस्तावेज़ उत्पन्न करती है। इस दृष्टिकोण का एक लाभ यह है कि आप दस्तावेज़ निर्माण प्रक्रिया के लिए डेटा के स्रोत के रूप में किसी भी डेटा स्रोत का उपयोग कर सकते हैं। वह कोड माइक्रोसॉफ्ट पारस्परिक लाइसेंस के तहत भी लाइसेंस प्राप्त है।

0
जोड़ा

मैं वर्तमान में यह सही चीज करता हूं।

यदि दस्तावेज़ बहुत बड़ा नहीं है, इसमें छवियां और ऐसी कोई छवि नहीं है, तो मैं इसे # मर्जफिल्ड्स # के साथ एक आरटीएफ के रूप में संग्रहीत करता हूं और बस उन्हें सामग्री के साथ प्रतिस्थापित करता हूं, परिणाम को उपयोगकर्ता को आरटीएफ के रूप में भेजता हूं।

छवियों और गतिशील रूप से सम्मिलित छवियों सहित बड़े दस्तावेज़ों के लिए, मैं प्रारंभिक वर्ड दस्तावेज़ को एकल वेबपृष्ठ * .mht फ़ाइल के रूप में सहेजता हूं जिसमें # MergeFields # शामिल है। मैं फिर ऊपर जैसा ही करता हूं। इसका उपयोग करके, मैं कुछ बुनियादी एचटीएमएल टेबल टैग के साथ आसानी से डेटाटेबल प्रस्तुत कर सकता हूं और एक संपूर्ण तालिका के साथ # मर्जफिल्ड्स # में से एक को प्रतिस्थापित कर सकता हूं।

छवियों को आपके सर्वर पर संग्रहीत किया जा सकता है और दस्तावेज़ में एम्बेड यूआरएल भी।

दिलचस्प बात यह है कि, नया कार्यालय 2007 फ़ाइल स्वरूप वास्तव में ज़िप फ़ाइलें हैं - यदि आप एक्सटेंशन को .zip का नाम बदलते हैं तो आप उन्हें खोल सकते हैं और उनकी सामग्री देख सकते हैं। इसका मतलब है कि आप एक सरल सी # ज़िप पुस्तकालय का उपयोग कर छवियों को अंदर और बाहर सामग्री को स्विच करने में सक्षम होना चाहिए।

0
जोड़ा

क्या आपने वैकल्पिक रूप से आरटीएफ का उपयोग करने पर विचार किया है?

यह छवियों और तालिकाओं के साथ-साथ पाठ को एम्बेड करने का समर्थन करता है, माइक्रोसॉफ्ट वर्ड का उपयोग करके डिफ़ॉल्ट रूप से खुलता है और जब भी यह फीचर अधिक सीमित होता है (किसी भी उन्नत स्वरूपण को गिनती है) जो किसी वर्ड डॉक्यूमेंट की तरह दिखता है और महसूस करता है और खुलता है, यह बहुत दूर नहीं है।

आपके अंतिम उपयोगकर्ता शायद ध्यान नहीं देंगे।

0
जोड़ा
कृपया आरटीएफ का उपयोग न करें - कल्पना एक गड़बड़ है, यहां तक ​​कि माइक्रोसॉफ्ट पूरी तरह से इसका पालन नहीं करता है, और इसमें बहुत सी अस्पष्टता है।
जोड़ा लेखक David Thielen, स्रोत

.NET के भीतर Office Automation के साथ Word दस्तावेज़ जेनरेट करने के लिए, विशेष रूप से C# या VB.NET में:

  1. अपनी परियोजना के Microsoft.Office.Interop.Word असेंबली संदर्भ जोड़ें। पथ \ Office \ PIA \ Office11 \ Microsoft.Office.Interop.Word.dll के लिए दृश्य स्टूडियो उपकरण है

  2. माइक्रोसॉफ्ट कोड उदाहरण का पालन करें आप यहां पा सकते हैं: http://support.microsoft.com/kb/316384/en- हमें

0
जोड़ा

आप वर्ड दस्तावेज़ जनरेटर का भी उपयोग कर सकते हैं। इसका उपयोग क्लाइंट-साइड या सर्वर-साइड परिनियोजन के लिए किया जा सकता है। परियोजना विवरण से:

WordDocumentGenerator से Word दस्तावेज़ उत्पन्न करने के लिए एक उपयोगिता है   विजुअल स्टूडियो 2010 और ओपन एक्सएमएल 2.0 एसडीके का उपयोग कर टेम्पलेट्स।   WordDocumentGenerator दोनों शब्द दस्तावेज़ उत्पन्न करने में मदद करता है   पूर्वनिर्धारित टेम्पलेट्स के आधार पर रीफ्रेश-सक्षम के साथ-साथ रीफ्रेश-सक्षम   न्यूनतम कोड परिवर्तन का उपयोग कर। सामग्री नियंत्रण प्लेसहोल्डर्स के रूप में उपयोग किया जाता है   दस्तावेज़ निर्माण के लिए। यह वर्ड 2007 और वर्ड 2010 का समर्थन करता है।

Grab it: http://worddocgenerator.codeplex.com/

Download SDK: http://www.microsoft.com/en-us/download/details.aspx?id=5124

0
जोड़ा