2013-02-18 5 views
0

"CSS"와 같은 문서에 스타일을 적용 할 수 있지만 OpenXML을 사용하여 프로그래밍 방식으로 스타일을 적용하려면 어떻게해야합니까? 개별 요소에 스타일을 적용하고 싶지 않지만 기본값을 설정하고 문서 부분을 따르도록하고 싶습니다.문서에 스타일 적용

HTMLToOpenXML을 (를) 찾았지만 스스로 직접하는 것이 좋습니다. 어떤 도움을 주시면 감사하겠습니다.

답변

1

해결되었으므로 OpenXML Productivity Tool을 사용하여 찾고있는 부품의 이름을 찾으십시오. 또는 문서를 열고 머리글 또는 부분 A 또는 표준과 같이 변경하려는 내용을 식별하십시오.

public static void GetAndSetStyleFromDoc(string file) 
{ 
      bool styleExists = true; 

      using (var document = WordprocessingDocument.Open(file,true)) 
      { 

       // Get the Styles part for this document 
       StyleDefinitionsPart part = document.MainDocumentPart.StyleDefinitionsPart; 

       foreach (Style style in part.RootElement.Elements<Style>()) 
       { 
        // PartA can be changed for "Normal", "Header1" etc 
        if (style.StyleId.Value.Equals("PartA", StringComparison.InvariantCultureIgnoreCase)) 
        { 
         style.StyleParagraphProperties.SpacingBetweenLines.Line = "276"; 
         style.StyleRunProperties.FontSize.Val = "14"; 
         style.StyleRunProperties.Color.Val = "4F81BD"; // font color 

         ParagraphBorders paragraphBorders1 = new ParagraphBorders(); 
         TopBorder topBorder1 = new TopBorder(){ Val = BorderValues.Single, Color = "856363", Size = (UInt32Value)24U, Space = (UInt32Value)0U }; 
         LeftBorder leftBorder1 = new LeftBorder(){ Val = BorderValues.Single, Color = "856363", Size = (UInt32Value)24U, Space = (UInt32Value)0U }; 
         BottomBorder bottomBorder1 = new BottomBorder(){ Val = BorderValues.Single, Color = "856363", Size = (UInt32Value)24U, Space = (UInt32Value)0U }; 
         RightBorder rightBorder1 = new RightBorder(){ Val = BorderValues.Single, Color = "856363", Size = (UInt32Value)24U, Space = (UInt32Value)0U }; 

         paragraphBorders1.Append(topBorder1); 
         paragraphBorders1.Append(leftBorder1); 
         paragraphBorders1.Append(bottomBorder1); 
         paragraphBorders1.Append(rightBorder1); 

         style.StyleParagraphProperties.ParagraphBorders = paragraphBorders1; 
        } 
       } 

      } 
} 
: 여기

샘플 변경 코드입니다