스타일 및 테마 작업
StyleCollection클래스는 기본 제공 관리 및 스타일에 사용자 정의 설정을 적용하는 데 사용됩니다.
스타일을 기반으로 콘텐츠를 추출하는 방법
간단한 수준에서,단어 문서에서 스타일을 기반으로 콘텐츠를 검색하는 것은 특정 스타일로 포맷 된 단락과 텍스트의 실행을 식별,목록 및 계산하는 데 유용 할 수 있습니다. 예를 들어 예제,제목,참조,키워드,그림 이름 및 사례 연구와 같이 문서에서 특정 유형의 콘텐츠를 식별해야 할 수 있습니다.
몇 단계 더 나아가기 위해,이것은 또한 사용하는 스타일에 의해 정의된 문서의 구조를 활용하여HTML과 같은 다른 출력을 위해 문서를 재목적으로 사용할 수 있습니다. 이것은 사실 아스포스 문서가 만들어지는 방식입니다.Aspose.Words을 테스트에 넣는 방식입니다. Aspose.Words을 사용하여 만들어진 도구는 소스 워드 문서를 가져와 특정 제목 수준에서 주제로 분할합니다. XML파일은Aspose.Words을 사용하여 생성됩니다.이것은 왼쪽에서 볼 수 있는 탐색 트리를 구축하는 데 사용됩니다. 그리고Aspose.Words각 주제를HTML로 변환합니다. 워드 문서에서 특정 스타일로 포맷 된 텍스트를 검색하는 솔루션은 일반적으로Aspose.Words을 사용하여 경제적이고 간단합니다.
Aspose.Words이 스타일을 기반으로 콘텐츠 검색을 얼마나 쉽게 처리하는지 설명하기 위해 예제를 살펴 보겠습니다. 이 예제에서는 샘플 워드 문서에서 특정 단락 스타일과 문자 스타일로 서식이 지정된 텍스트를 검색 할 것입니다.
높은 수준에서,이것은:
- Document클래스를 사용하여 단어 문서 열기.
- 문서의 모든 단락 및 모든 실행의 컬렉션을 가져옵니다.
- 필요한 단락 만 선택하고 실행합니다.
특히,이 샘플 워드 문서에서’Heading 1’단락 스타일과’강렬한 강조’문자 스타일로 서식이 지정된 텍스트를 검색합니다.
이 샘플 문서에서’Heading 1’단락 스타일로 서식이 지정된 텍스트는’삽입 탭',‘빠른 스타일’및’테마’이며’강렬한 강조’문자 스타일로 서식이 지정된 텍스트는’갤러리’및’전체 모양’과 같은 파란색,기울임 꼴,굵은 텍스트의 여러 인스턴스입니다.
스타일 기반 쿼리의 구현은Aspose.Words문서 개체 모델에서 매우 간단합니다. 이 솔루션에 대해 두 가지 클래스 메서드가 구현됩니다:
- ParagraphsByStyleName-이 메서드는 문서에서 특정 스타일 이름이 있는 단락의 배열을 검색합니다.
- RunsByStyleName-이 메서드는 문서에서 특정 스타일 이름이 있는 실행 배열을 검색합니다.
이 두 가지 방법은 매우 유사하며,유일한 차이점은 노드 유형과 단락 및 실행 노드 내의 스타일 정보의 표현입니다. 다음은 지정된 스타일로 서식이 지정된 모든 단락을 찾기 위해 아래의 코드 예제에 표시된ParagraphsByStyleName의 구현입니다.
이 구현은 또한 모든 직계 자식 노드의 컬렉션을 반환하는Document
클래스의Document.getChildNodes()메서드를 사용합니다.
또한 단락 모음에서 항목에 액세스할 때만 단락이 이 컬렉션에 로드되기 때문에 단락 모음에서 즉각적인 오버헤드가 발생하지 않는다는 점을 지적할 가치가 있습니다.그런 다음 각 연산자의 표준을 사용하여 컬렉션을 살펴보고 지정된 스타일을 가진 단락을paragraphsWithStyle배열에 추가하기만 하면 됩니다. Paragraph
스타일 이름은Paragraph.getParagraphFormat()개체의Style.getName()속성에서 찾을 수 있습니다.
RunsByStyleName의 구현은NodeType.Run
을 사용하여 실행 노드를 검색하는 것이 분명하지만 거의 동일합니다. Run개체의Font.getStyle()속성은Run노드의 스타일 정보에 액세스하는 데 사용됩니다.
다음 코드 예제에서는 지정된 스타일로 서식이 지정된 모든 실행을 찾습니다.
다음 코드 예제에서는 쿼리를 실행하고 결과를 표시합니다.
모든 작업이 완료되면 샘플을 실행하면 다음 출력이 표시됩니다:
당신이 볼 수 있듯이,이 샘플 워드 문서에서 수집 된 단락 및 실행의 번호와 텍스트를 보여주는 매우 간단한 예입니다.
다른 단락 스타일을 넣으려면 스타일 구분 기호 삽입
스타일 구분 기호는MS단어로 바로 가기 키를 입력하여 단락 끝에 추가할 수 있습니다. 이 기능은 하나의 논리 인쇄 단락에 사용되는 두 개의 서로 다른 단락 스타일을 할 수 있습니다. 특정 머리글의 시작 부분에서 일부 텍스트를 목차에 표시하지만 목차의 전체 머리글을 원하지 않는 경우 이 기능을 사용할 수 있습니다.
다음 코드 예제에서는 스타일 구분 기호를 삽입하여 다른 단락 스타일을 넣는 방법을 보여 줍니다.
템플릿에서 모든 스타일 복사
한 문서에서 다른 문서로 모든 스타일을 복사하려는 경우가 있습니다. Document.CopyStylesFromTemplate
메서드를 사용하여 지정된 템플릿의 스타일을 문서로 복사할 수 있습니다. 템플릿에서 문서로 스타일을 복사하면 템플릿의 스타일 설명과 일치하도록 문서의 이름이 같은 스타일이 다시 정의됩니다. 템플릿의 고유한 스타일이 문서에 복사됩니다. 문서의 고유 스타일은 그대로 유지됩니다.
다음 코드 예제에서는 한 문서에서 다른 문서로 스타일을 복사하는 방법을 보여 줍니다.
테마 속성을 조작하는 방법
문서 테마 속성에 액세스하기 위해Aspose.Words에 기본API을 추가했습니다. 현재 이API에는 다음과 같은 공용 개체가 포함됩니다:
- 테마
- ThemeFonts
- ThemeColors
테마 속성을 얻는 방법은 다음과 같습니다:
그리고 여기 당신이 테마 속성을 설정할 수있는 방법입니다: