2012-05-31 8 views
15

मैं .docx फ़ाइल खोलने और इंटरऑप.ऑर्ड.प्लिकेशंस का उपयोग करके पीडीएफ में कनवर्ट करने की कोशिश कर रहा हूं। यह कंसोल एप्लिकेशन के रूप में काम करता है लेकिन अगर मैं अपने वेब एप्लिकेशन में इसका उपयोग करता हूं तो यह काम नहीं करता है। मैंने फ़ोल्डर पर अनुमतियों को देखने की कोशिश की। मैंने पूर्ण नियंत्रण के साथ 'नेटवर्क सेवा' दी, लेकिन फिर भी मुझे ऑब्जेक्ट संदर्भ शब्द पर सेट नहीं किया गया है। दस्तावेज़। खोलें। क्या आप कृपया मुझे बता सकते हैं कि समस्या क्या हो सकती है? मैं इस त्रुटि से फंस गया हूँ। कृपया मुझे बताओ। मैं किसी भी सुझाव की सराहना करता हूं। धन्यवाद।इंटरऑप.ऑर्ड दस्तावेज़। ओपन शून्य

Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application(); 

    object oMissing = System.Reflection.Missing.Value; 

    word.Visible = false; 
    word.ScreenUpdating = false; 
    string fileName = @"c:\OUTPUT\test.docx"); 
    Document doc = word.Documents.Open(filename, ref oMissing, 
      ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, 
      ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, 
      ref oMissing, ref oMissing, ref oMissing, ref oMissing); 
     doc.Activate(); 
+0

क्षमा करना, मैं तुम्हें वास्तव में मदद नहीं कर सकता, लेकिन मैं भारी एक वेब ऐप्स में Office Interop का उपयोग कर के खिलाफ सलाह देंगे, एमएस इसके खिलाफ सलाह और जहाँ तक मैं वाकिफ हूँ कार्यालय को वेब सर्वर पर इस्तेमाल करने के लिए लाइसेंस प्राप्त नहीं है। क्षमा करें अगर यह आपके लिए अप्रासंगिक है, तो बहुत सारे तृतीय पक्ष घटक हैं जो आपके लिए यह प्रदर्शन करेंगे लेकिन मैंने कभी भी ओपन सोर्स का उपयोग नहीं किया है। –

+0

इवेंट लॉग में कुछ भी है? –

+2

उस कोड में एक बग है। स्ट्रिंग फ़ाइल नाम = @ "सी: \ OUTPUT \ test.docx"); <--- एक पिछला है ') '। कृपया अपने आवेदन में मौजूद वास्तविक कोड पोस्ट करें। –

उत्तर

0

पॉली के रूप में ओपी पर अपने टिप्पणी में कहा गया है, मुझे लगता है कि इस मुद्दे को काफी हद तक वेबसर्वर पर पुस्तकालयों के कारण है। आप वेब ऐप पर काम करने के लिए हैक करने में सक्षम हो सकते हैं, लेकिन मैं इसके खिलाफ सलाह दूंगा।

संपादित करें: अरग, मैंने पोस्ट को गलत तरीके से पढ़ा और केवल एक्सेल ग्रहण किया। Office.Interop का उपयोग करते समय अधिकांश लोग देखते हैं;)

एक खुली लाइब्रेरी है जो डॉकएक्स प्रारूप (enter link description here) के साथ काम करती है। दुर्भाग्य वह पेज कि प्रारूपों के रूपांतरण पर मानते हैं पीडीएफ की तरह काफी Office.Interop पुस्तकालयों (http://cathalscorner.blogspot.com/2009/10/converting-docx-into-doc-pdf-html.html)

Here एक 'होनहार' वैकल्पिक है, लेकिन YMMV के बिना असंभव है।

+0

ईपीप्लस एक एक्सेल लाइब्रेरी है। वह उसे शब्द दस्तावेज़ को पीडीएफ में बदलने में कैसे मदद करेगा। –

+0

अब कुछ वास्तव में उपयोगी जानकारी के साथ संपादित किया गया है। * Sadface @ DV * – Killnine

0

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

50

यदि आप अभी भी उत्तर की तलाश में हैं तो मुझे इसे मेरे प्रोजेक्ट के लिए बस एक पल पहले मिला है।

ओपन DCOM कॉन्फ़िग सेटिंग्स:

  1. प्रारंभ ->dcomcnfg.exe
  2. कंप्यूटर
  3. स्थानीय कंप्यूटर
  4. कॉन्फ़िग DCOM
  5. Microsoft Word 97-2003 Documents के लिए खोज -> गुण

टैब Identity, Launching User से Interactive User

+2

यह काम करता है !!! धन्यवाद!!! – saille

+7

कृपया विंडोज 64 बिट ओएस पर ध्यान दें, आपको 32 बिट मोड एमएमसी -32 में एमएमसी शुरू करना होगा और फिर घटक सेवाओं में जोड़ना होगा। अन्यथा आप केवल 64 बिट घटकों को देखते हैं। Schprit http://schprit.blogspot.com/2010/11/using-microsoft-office-2007-with-dcom.html –

+6

के साथ आईटी देखें यह समाधान काम करता है, हाँ, लेकिन केवल अगर उपयोगकर्ता सर्वर पर लॉग ऑन होता है तो सभी पहर। Http://support2.microsoft.com/kb/176799 से, यह पढ़ता है: "इंटरएक्टिव उपयोगकर्ता: एप्लिकेशन वर्तमान में कंप्यूटर पर लॉग इन किए गए उपयोगकर्ता के सुरक्षा संदर्भ का उपयोग कर चलाएगा। यदि यह विकल्प चुना गया है और उपयोगकर्ता लॉग नहीं है पर, आवेदन शुरू नहीं होगा। " – GR7

16

से बदलें यह आपकी मदद कर सकता है।

  • के अंदर एक नया "डेस्कटॉप" निर्देशिका बनाएँ "C: \ Windows \ SysWOW64 \ config \ systemprofile \" यह समाधान के लिए खोज एक लंबे लंबे लंबे दिन के बाद मेरे लिए काम करता

यह एक प्रोफ़ाइल समस्या होने के लिए seams।

+0

नहीं ढूंढ पा रहा हूं, यह आपकी मदद करता है, धन्यवाद! –

+0

इस पथ पर "डेस्कटॉप" नामक एक फ़ोल्डर मौजूद है लेकिन फिर भी यह काम नहीं कर रहा है। – ShaileshDev

+0

मेरे लिए काम किया। धन्यवाद। – Alpesh

1

यह मेरे लिए काम किया। https://social.msdn.microsoft.com/Forums/en-US/0f5448a7-72ed-4f16-8b87-922b71892e07/word-2007-documentsopen-returns-null-in-aspnet

यदि यह helpe आप, तो कृपया उसे जवाब देने

+0

जबकि यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, [यह बेहतर होगा] (// meta.stackoverflow.com/q/8259) यहां उत्तर के आवश्यक हिस्सों को शामिल करने के लिए, और संदर्भ के लिए लिंक प्रदान करें। – OhBeWise

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