2014-07-17 2 views
2

머리글에 대한 스타일을 만들었으므로이 텍스트를 가운데에 배치하고 싶습니다.가운데 단락 텍스트

StyleDefinitionsPart stylePart = mainPart.AddNewPart<StyleDefinitionsPart>(); 

Style UserHeading = new Style(); 
RunProperties UserHeadingRunPro = new RunProperties(); 
Color UserColour = new Color() { Val = "2E74B5" }; 

RunFonts UserHeadingFont = new RunFonts(); 
UserHeadingFont.Ascii = "Calibri Light (Headings)"; 

Justification CenterHeading = new Justification() { Val = JustificationValues.Center } ; 

UserHeadingRunPro.Append(CenterHeading); 
UserHeadingRunPro.Append(UserColour); 
UserHeadingRunPro.Append(UserHeadingFont); 
UserHeadingRunPro.Append(new Bold()); 
UserHeadingRunPro.Append(new FontSize() { Val = "26" }); 

UserHeading.StyleId = "userheading"; 
UserHeading.Append(new Name() { Val = "User Heading" }); 
UserHeading.Append(new BasedOn() { Val = "Heading1" }); 
UserHeading.Append(new NextParagraphStyle() { Val = "Normal" }); 
UserHeading.Append(UserHeadingRunPro); 

stylePart.Styles = new Styles(); 
stylePart.Styles.Append(UserHeading, SideHeading); 
stylePart.Styles.Save(); 

내가 가지고있는 문제는 코드가 호출하고 텍스트 중심 있도록 단락을 정당화를 제외하고 무엇을해야하는지에 스타일을 적용되고 있다는 점이다.

스타일이 여기에서 호출됩니다.

Paragraph NamePar = new Paragraph(); 
Run heading_run = new Run(); 
Text heading_text = new Text(UserName); 
ParagraphProperties User_heading_pPr = new ParagraphProperties(); 

User_heading_pPr.ParagraphStyleId = new ParagraphStyleId() { Val = "userheading" }; 
NamePar.Append(User_heading_pPr); 
heading_run.Append(heading_text); 
NamePar.Append(heading_run); 

난 그냥 당신이을 userheading 스타일링 내에서 텍스트를 가운데 얼마나 궁금는 그래서 텍스트에 적용됩니다. ECMA-376

답변

3

:

17.3.1.13 JC (단락 맞춤)이 요소는이 단락의 텍스트에 적용된다 단락 정렬을 지정.

:이 요소는 특정 단락에서 생략되면 , 그 값은 [...] 이전 스타일 계층의 임의의 레벨에 설정된 설정에 의해 결정 이다

그것은 만약 alignement을 제어 할 수있는 수단

  • 에서 단락 수준 :

    ParagraphProperties User_heading_pPr = new ParagraphProperties(); 
    Justification CenterHeading = new Justification() { Val = JustificationValues.Center } ; 
    User_heading_pPr.Append(CenterHeading); 
    User_heading_pPr.ParagraphStyleId = new ParagraphStyleId() { Val = "userheading" }; 
    NamePar.Append(User_heading_pPr); 
    

    나는 이것이 당신이 찾고있는 것이 아니라는 것을 알고 있습니다.

  • 또는 스타일 수준에서

    , 당신은 무엇을하려고.

    귀하의 실수는 그것이 paragraphProperties에 추가해야 할 때 당신이 runPropertiesJustification 개체를 추가한다는 것입니다.

    ParagraphProperties UserHeadingParagPro = new DocumentFormat.OpenXml.Wordprocessing.ParagraphProperties(); 
    Justification CenterHeading = new Justification { Val = JustificationValues.Center }; 
    ///UserHeadingRunPro.Append(CenterHeading)  => Your mistake 
    
    [...] 
    
    UserHeadingParagPro.Append(CenterHeading); 
    UserHeading.Append(UserHeadingParagPro);