रन

2012-02-11 12 views
17

मैं एक इनपुट के रूप में एक शब्द भी दस्तावेज़ मैं इस स्ट्रिंग "खुला पैकेजिंग सम्मेलनों" और प्रत्येक शब्द है एक अलग शैली होगा उत्पन्न करना चाहते हैं के बीच की जगह को संरक्षित नहीं कर सकते हैं परिणाम खुला पैकेजिंग सम्मेलनों होना चाहिएरन

WordprocessingDocument document = WordprocessingDocument.Create(
      @"C:\test PFE.docx", 
      WordprocessingDocumentType.Document 
     ); 



     MainDocumentPart mainDocumentPart = document.AddMainDocumentPart(); 


     mainDocumentPart.Document = new Document(); 
     mainDocumentPart.Document.AddNamespaceDeclaration("ve", "http://schemas.openxmlformats.org/markup-compatibility/2006"); 
     mainDocumentPart.Document.AddNamespaceDeclaration("o", "urn:schemas-microsoft-com:office:office"); 
     mainDocumentPart.Document.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"); 
     mainDocumentPart.Document.AddNamespaceDeclaration("m", "http://schemas.openxmlformats.org/officeDocument/2006/math"); 
     mainDocumentPart.Document.AddNamespaceDeclaration("v", "urn:schemas-microsoft-com:vml"); 
     mainDocumentPart.Document.AddNamespaceDeclaration("wp", "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"); 
     mainDocumentPart.Document.AddNamespaceDeclaration("w10", "urn:schemas-microsoft-com:office:word"); 
     mainDocumentPart.Document.AddNamespaceDeclaration("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main"); 
     mainDocumentPart.Document.AddNamespaceDeclaration("wne", "http://schemas.microsoft.com/office/word/2006/wordml"); 



     Body documentBody = new Body(); 
     mainDocumentPart.Document.Append(documentBody); 


     StyleDefinitionsPart styleDefinitionsPart = 
     mainDocumentPart.AddNewPart<StyleDefinitionsPart>(); 


     FileStream stylesTemplate = 
      new FileStream("styles.xml", FileMode.Open, FileAccess.Read); 
     styleDefinitionsPart.FeedData(stylesTemplate); 
     styleDefinitionsPart.Styles.Save(); 



     #region Titre du document 


     Paragraph titleParagraphe = new Paragraph() { RsidParagraphAddition = "00AF4948", RsidParagraphProperties = "00625634", RsidRunAdditionDefault = "00625634" }; ; 

     Run run = new Run(); 
     RunProperties rpr = new RunProperties(); 
     RunStyle rstylr = new RunStyle { Val = "style1" }; 
     run.Append(rpr); 
     Text t = new Text("open"); 
     run.Append(t); 
     titleParagraphe.Append(run); 

     run = new Run(); 
     rpr = new RunProperties(); 
     rstylr = new RunStyle { Val = "style2" }; 
     run.Append(rpr); 
     t = new Text("packaging") 
     { 
      Space = new DocumentFormat.OpenXml.EnumValue<DocumentFormat.OpenXml.SpaceProcessingModeValues> { InnerText = "preserve" } 
     }; 
     run.Append(t); 
     titleParagraphe.Append(run); 

     run = new Run(); 
     rpr = new RunProperties(); 
     rstylr = new RunStyle { Val = "style1" }; 
     run.Append(rpr); 
     t = new Text("conventions") 
     { 
      Space = new DocumentFormat.OpenXml.EnumValue<DocumentFormat.OpenXml.SpaceProcessingModeValues> { InnerText = "preserve" } 
     }; 
     run.Append(t); 
     titleParagraphe.Append(run); 


     documentBody.Append(titleParagraphe); 


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

और परिणाम खुला * पैकेजिंग * सम्मेलनों शब्द के बीच की जगह बिना कुछ एक मेरी मदद कर सकते कृपया है ?!

+0

क्या कोई मेरी मदद कर सकता है? –

उत्तर

37

आप Space संपत्ति से निपटने के द्वारा अच्छा काम अभी शेष है, लेकिन आप इस तरह यह सब करने की ज़रूरत:

t = new Text() 
{ 
    Text = "your text with spaces ", 
    Space = SpaceProcessingModeValues.Preserve 
}; 
+0

धन्यवाद क्रस्टर, यह मेरे लिए काम करता है। –

+2

मेरे लिए भी। इसे एक स्वीकृत उत्तर के रूप में चिह्नित किया जाना चाहिए। – evilfish

7

यहाँ विशेषता अंतरिक्ष कि निर्दिष्ट करने के लिए इस्तेमाल किया जा सकता स्थापित करने के लिए एक और तरीका है स्पेसप्रोसेसिंगोड

t = new Text("This is some text"); 
t.Space = SpaceProcessingModeValues.Preserve; 

विशेषता के डिफ़ॉल्ट SpaceProcessingModeValues.Default है।

API Documentation से

:

<w:r> 
<w:t> significant whitespace </w:t> 
</w:r> 

हालांकि समय में पाठ्य सामग्री के प्रत्येक पक्ष पर तीन रिक्त स्थान देखते हैं, कि श्वेतस्थान नहीं विशेष रूप से के रूप में महत्वपूर्ण के रूप में चिह्नित किया गया है, इसलिए यह अंतरिक्ष संरक्षण के अधीन है वर्तमान में उस रन के दायरे में निर्दिष्ट नियम। अंत उदाहरण] इस विशेषता के लिए संभावित मान XML 1.0 विनिर्देश के §2.10 द्वारा परिभाषित किए गए हैं।