2009-04-15 16 views
5

दिखाए बिना दस्तावेज़ मुद्रित करने के लिए प्रारंभ करें I C# एप से शब्द दस्तावेज़ मुद्रित करने के लिए निम्न कोड का उपयोग कर रहा हूं।प्रक्रिया का उपयोग करना। Word

  ProcessStartInfo info = new ProcessStartInfo(myDocumentsPath); 
      info.Verb = "Print"; 
      info.CreateNoWindow = true; 
      info.WindowStyle = ProcessWindowStyle.Hidden; 
      Process.Start(info); 

यह ठीक काम करता है Word दस्तावेज़ खोलता है और प्रिंट करता है, और फिर स्वयं को बंद कर देता है। मुद्दा यह है कि WordNoWindow = true के बावजूद Word स्पष्ट रूप से खुलता है, और WindowsStyle = छुपा हुआ है। मुझे उम्मीद है कि इन दो सेटिंग्स का मतलब है कि शब्द चुपचाप खोला गया।

संपादित करें: कृपया Word ऑब्जेक्ट मॉडल स्वचालन का सुझाव न दें - मेरे पास कई अलग-अलग दस्तावेज़ प्रकार हैं जिन्हें मुद्रित करने की आवश्यकता है (पीडीएफ आदि) - यह केवल शब्द दस्तावेज़ है जो इस समय समस्या उत्पन्न कर रहे हैं।

कोई विचार?

TIA

मैट

+0

शब्द ऑब्जेक्ट मॉडल स्वचालन से आपका क्या मतलब है? क्या आपका मतलब माइक्रोसॉफ्ट.इंटरोप.ऑर्ड? –

+1

@ जोन: वर्ड ऑटोमेशन को माइक्रोसॉफ्ट के उपयोग की आवश्यकता नहीं है .Interop.Word। यह वीबीए या COM का उपयोग करने के अलावा सिर्फ एक ही रास्ता है। दरअसल, माइक्रोसॉफ्ट.इंटरोप। कॉम COM इंटरफेस के लिए एक रैपर नहीं है, और वास्तव में .NET भाषाओं से स्वचालन के लिए आवश्यक नहीं है। –

+0

+1 divo। मुझे याद है, पुराने दिनों में, जब हम COM इंटरऑप का सपना देखते थे। डीडीई उतना अच्छा था जितना मिला :-) – Matt

उत्तर

6

पद की अनदेखी करने के लिए स्वतंत्र है (और जाहिरा तौर पर उपेक्षा करता है) आपके अनुरोध है कि यह छिपा रहते हैं।

यह भी देखें Why is my hidden process still visible?

+0

हां, यह सच है। और यही कारण है कि यदि आप चाहते हैं कि आपका ऐप दिखाई नहीं दे रहा है तो COM स्वचालन के आसपास कोई रास्ता नहीं है। –

+0

यह दर्द है - इंटरॉप से ​​बचने की उम्मीद कर रहा था। ओह अच्छा...:-) – Matt

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