스타일 작업

스타일 작업

스타일 작업하기

이 가이드는 문단, 문자, 표 및 목록 스타일을 사용하여 작업하는 방법을 보여줍니다 Aspose.Words FOSS for .NET — 기본 및 사용자 정의 스타일을 찾아 적용하고, 표 스타일에 대한 영역별 조건부 서식을 구성합니다.

A Style 객체는 단일 기본 제공 또는 사용자 정의 스타일을 나타냅니다 — 단락, 글꼴 및 목록 서식의 명명된 컬렉션으로, Word가 해당 스타일이 할당된 단락이나 실행에 적용합니다. 모든 문서는 Document.Styles 속성을 통해 스타일을 노출하며, 이 속성은 StyleCollection를 반환합니다. 표 스타일은 TableStyle으로 표현되며, 이는 Style의 하위 클래스로 표 전용 서식 및 ConditionalStyleCollection를 통한 영역별 조건부 서식을 추가합니다.


스타일 유형 및 식별

각 Style에는 StyleType 유형의 Type 속성이 있으며, 이는 Paragraph, Character, Table, List 중 하나입니다 — Word가 지원하는 네 가지 스타일 유형에 대응합니다. 기본 제공 스타일은 로케일에 독립적인 StyleIdentifier 열거형 값을 또한 가지고 있습니다(예: 제목, 강조, 하이퍼링크 스타일에 해당하는 값) 따라서 코드는 특정 언어의 표시 이름에 의존하지 않고 기본 제공 스타일을 조회할 수 있습니다. 스타일의 사람이 읽을 수 있는 이름은 Style.Name을 통해 얻을 수 있으며, Style.Aliases는 동일한 스타일에 대해 Word가 인식하는 대체 이름을 반환합니다. Style.BuiltIn은 스타일이 Word 자체에 포함되어 제공되는지, 문서에 정의된 것인지를 보고하고, Style.IsHeading은 해당 스타일이 기본 제공 제목 스타일 중 하나인지 여부를 보고합니다.

스타일 컬렉션에 접근하고 관리하기

StyleCollection은 문서에 연결된 모든 Style 객체(기본 제공 및 사용자 정의)의 컬렉션이며, Document.Styles를 통해 접근합니다. StyleCollection 인덱서를 사용하여 표시 이름으로 스타일을 검색할 수 있습니다 — styles[name] — 또는 동일한 인덱서를 사용하여 로케일에 독립적인 StyleIdentifier로 기본 제공 스타일을 검색할 수 있습니다 — styles[sti] — 이는 서로 다른 언어로 작성된 문서에서 이름 조회보다 더 신뢰할 수 있습니다. 새 스타일은 StyleCollection.Add(type, name)으로 생성하며, StyleType와 이름을 지정합니다. 기존 스타일은 StyleCollection.AddCopy(style)를 사용해 컬렉션에 복제할 수 있습니다. StyleCollection.Count은 문서가 보유한 스타일 수를 보고하고, 컬렉션은 또한 DefaultFont 및 DefaultParagraphFormat를 노출하여 명시적인 스타일이 적용되기 전에 새 콘텐츠가 상속받는 문서 전체 기본 서식을 설명합니다. StyleCollection.ClearQuickStyleGallery()은 스타일 자체를 삭제하지 않고 Word UI의 빠른 스타일 갤러리에서 모든 스타일을 제거합니다.

단락 및 실행에 스타일 적용

스타일을 가질 수 있는 서식 개체는 Style 속성( Style 객체 자체)과 StyleName 속성(이름으로 스타일을 해석하거나 생성하는 바로 가기) 두 가지를 노출합니다. ParagraphFormat.Style 및 ParagraphFormat.StyleName는 단락 스타일을 적용하고, Font.Style 및 Font.StyleName은 실행의 서식에 문자 스타일을 적용합니다. 스타일 자체의 LinkedStyleName, BaseStyleName, NextParagraphStyleName 속성은 다른 스타일과의 관계를 설명합니다: BaseStyleName은 서식이 설정되지 않은 상태를 상속받는 스타일의 이름을 지정하고, LinkedStyleName은 쌍을 이루는 단락/문자 스타일의 이름을 지정합니다(Word가 Heading 1과 그 연결된 문자 스타일과 같은 내장 스타일에 대해 수행하는 방식). NextParagraphStyleName는 이 스타일을 사용한 후 새 단락을 입력할 때 Word가 할당하는 스타일의 이름을 지정합니다.

표 스타일 및 조건부 서식

TableStyle은 Style을(를) Alignment, CellSpacing, LeftIndent, Shading, VerticalAlignment와 같은 테이블 레이아웃 속성 및 패딩(LeftPadding, RightPadding, TopPadding, BottomPadding)으로 확장합니다. 또한 RowStripe과 ColumnStripe는 밴딩 패턴이 반복되는 행 또는 열의 수를 제어합니다. 균일한 테이블 서식을 넘어서, TableStyle.ConditionalStyles은 각 테이블 영역당 하나의 ConditionalStyle를 보유하는 ConditionalStyleCollection를 반환합니다 — FirstRow, LastRow, FirstColumn, LastColumn, OddRowBanding, EvenRowBanding, OddColumnBanding, EvenColumnBanding 및 네 모서리 셀(TopLeftCell, TopRightCell, BottomLeftCell, BottomRightCell). 각 ConditionalStyle는 자체 Font, ParagraphFormat, Shading, Borders 및 셀 패딩을 가지고 있으며, Type 속성은 해당 ConditionalStyleType 영역을 나타냅니다. ConditionalStyle.ClearFormatting()와 ConditionalStyleCollection.ClearFormatting()은 하나의 영역 또는 전체 조건부 영역 집합에 대한 서식을 재설정합니다.

스타일 메타데이터 및 동작 플래그

Style의 여러 불리언 및 숫자 속성은 스타일이 렌더링되는 방식이 아니라 Word UI에서 스타일을 처리하는 방식을 제어합니다: Locked은 서식 보호가 활성화된 경우 스타일이 변경되는 것을 방지하고, IsQuickStyle는 빠른 스타일 갤러리에서 표시 여부를 제어하며, AutomaticallyUpdate은 수동으로 적용된 직접 서식에서 스타일이 자체를 재정의하도록 합니다, SemiHidden와 UnhideWhenUsed는 첫 사용 전후에 스타일 목록에서의 가시성을 제어하고, Priority은 갤러리에서의 정렬 순서에 영향을 줍니다. 스타일은 목록 번호 매기기를 정의할 때 List와 ListFormat 속성을 노출하며, Style.Remove()는 스타일을 its StyleCollection에서 삭제합니다.


팁 및 모범 사례

  • 내장 스타일을 찾을 때 이름으로 조회하는 대신 StyleCollection 인덱서를 StyleIdentifier 값과 함께 사용하는 것이 좋습니다 — 이름은 현지화되지만 StyleIdentifier 값은 현지화되지 않습니다.
  • BaseStyleName를 설정하여 스타일 계층 구조를 구축합니다(예: 모든 헤딩 스타일이 하나의 기본 스타일에서 글꼴 선택을 상속받는 경우) 매 스타일마다 서식을 반복하는 대신.
  • 문서 간에 스타일을 복사할 때는 모든 서식 속성을 수동으로 읽고 다시 적용하는 대신 StyleCollection.AddCopy(style)를 사용하십시오.
  • 코드에서 교대로 행을 수동으로 서식 지정하는 대신 밴드 테이블에 대해 TableStyle.ConditionalStyles 영역을 구성하십시오 — 각 ConditionalStyle 영역의 서식은 ConditionalStyleType를 기반으로 적용되며, 개별 행에 직접 서식을 설정하는 것이 아닙니다.
  • 스타일을 프로그래밍 방식으로 제거하거나 이름을 바꾸기 전에 Style.BuiltIn를 확인하십시오; 기본 제공 스타일은 일반적으로 문서의 다른 곳에서 이름으로 참조됩니다.

일반적인 문제

문제원인해결책
StyleCollection 인덱서가 이름 조회에 대해 null을 반환합니다스타일 이름이 이 문서에 존재하지 않거나, 기본 제공 스타일이 아직 사용되지 않아 Word가 이를 구현하지 않았습니다대체 이름은 Style.Aliases에서 확인하거나, 내장 스타일을 위해 StyleIdentifier와 함께 StyleCollection 인덱서를 사용하세요.
StyleName을(를) 설정하면 예기치 않게 새 스타일이 생성됩니다.StyleName은(는) 컬렉션에 아직 존재하지 않을 경우 지정된 스타일을 생성합니다.먼저 StyleCollection 인덱서를 사용하여 스타일이 존재하는지 확인하고, 아니면 Style 속성을 통해 Style 객체를 직접 할당하십시오.
TableStyle을(를) 적용한 후 표 밴딩이 표시되지 않습니다.조건부 서식 영역(OddRowBanding, EvenRowBanding 등)이 TableStyle.ConditionalStyles에 전혀 설정되지 않았습니다.ConditionalStyleCollection의 관련 ConditionalStyle 항목에 서식을 지정하십시오.
스타일 변경은 이미 해당 스타일을 사용 중인 콘텐츠에는 영향을 주지 않습니다.직접(수동) 서식이 스타일 위에 적용되었으며 우선 순위를 가집니다영향을 받은 런/단락의 직접 서식을 지우거나 Style.AutomaticallyUpdate을 설정하십시오

FAQ

문서의 모든 스타일 컬렉션을 어떻게 가져올 수 있나요?

Document.Styles를 읽으면 StyleCollection을 반환하는데, 이 StyleCollection은 해당 문서에 있는 모든 기본 제공 및 사용자 정의 Style를 포함합니다.

Style와 StyleIdentifier의 차이점은 무엇인가요?

Style 은(는) 실제 서식이 포함된 스타일 객체입니다; StyleIdentifier 은(는) 특정 항목을 찾아내는 데 사용되는 로케일에 독립적인 열거형 값입니다 내장 문서 언어와 관계없이 스타일을, 다음을 통해 StyleCollection 인덱서입니다.

표 스타일은 단락 스타일 또는 문자 스타일과 어떻게 다릅니까?

TableStyle은 Style의 하위 클래스이며, 표 레이아웃 속성(Alignment, CellSpacing, padding)과 영역별 서식을 위한 ConditionalStyles 컬렉션(예: 밴드 행, 헤더 행, 코너 셀)을 추가합니다 — 이는 단락 스타일이나 문자 스타일에 적용되지 않는 서식 개념입니다.

기존 스타일을 수정하는 대신 완전히 새로운 스타일을 만들 수 있나요?

예 — 원하는 StyleType과 새 이름을 지정하여 StyleCollection.Add(type, name)을 호출하면 빈 스타일을 만들 수 있으며, 이후 해당 서식 속성(Font, ParagraphFormat 등)을 설정하여 단락/문자 스타일에 적용합니다.

다른 문서에서 포함하여 스타일을 복제하려면 어떻게 해야 하나요?

StyleCollection.AddCopy(style)을 사용하고, Style 객체(다른 Document의 StyleCollection에서 가져올 수 있음)를 전달하여 대상 컬렉션에 복사본을 추가합니다.


API Reference 요약

클래스/메서드설명
Style단일 내장 또는 사용자 정의 단락, 문자, 표 또는 목록 스타일
StyleCollection문서 내 모든 스타일의 컬렉션으로, Document.Styles를 통해 접근합니다
이름으로 StyleCollection 인덱서표시 이름으로 스타일을 찾습니다(예: styles["Heading 1"])
식별자별 StyleCollection 인덱서지역에 독립적인 식별자로 내장 스타일을 찾습니다(예: styles[StyleIdentifier.Heading1])
StyleCollection.Add(type, name)주어진 StyleType의 새 빈 스타일을 생성합니다
StyleCollection.AddCopy(style)기존 스타일을 이 컬렉션에 복사합니다
StyleTypeParagraph, Character, Table, List 스타일을 구분하는 열거형
StyleIdentifier내장 스타일에 대한 로케일 독립 식별자
TableStyle테이블 서식을 위한 Style 서브클래스로, 조건부 영역별 스타일링을 포함합니다.
ConditionalStyleCollectionTableStyle에 있는 영역별 ConditionalStyle 항목 집합
ConditionalStyle단일 테이블 영역에 대한 서식(글꼴, 단락 형식, 음영, 테두리, 패딩)
ConditionalStyleTypeConditionalStyle가 적용되는 테이블 영역을 식별하는 열거형

참조

 한국어