빌딩 블록

빌딩 블록

이 가이드는 .NET용 Aspose.Words FOSS와 함께 문서의 용어집 문서에 저장된 재사용 가능한 콘텐츠 빌딩 블록을 읽고 수정하는 방법을 보여줍니다. 라이브러리는 Document.GlossaryDocument 및 BuildingBlock/BuildingBlockCollection 객체 모델을 통해 AutoText 항목, 표지, 머리글, 바닥글 및 유사한 미리 정의된 콘텐츠를 노출합니다.


용어집 문서

모든 Document은 Document.GlossaryDocument를 통해 접근 가능한 GlossaryDocument을 가지고 있으며, 이는 빌딩 블록을 보유한 DocumentBase 하위 클래스 자체입니다. 그 BuildingBlocks 속성은 BuildingBlockCollection를 반환하고, FirstBuildingBlock/LastBuildingBlock은 리스트의 양 끝에 빠르게 접근할 수 있게 합니다. GetBuildingBlock(gallery, category, name)을 사용하여 특정 빌딩 블록을 조회하면, 해당 BuildingBlockGallery, 카테고리 문자열 및 이름이 함께 일치합니다.


빌딩 블록 구조

BuildingBlock은 CompositeNode이며, 따라서 자체 콘텐츠 트리 — Sections (a SectionCollection), FirstSection, 및 LastSection — 를 보유합니다. 이는 Document이 섹션을 보유하는 방식과 동일합니다. 메타데이터 속성은 이를 식별하고 분류합니다: Name, Guid, Description, Category, Gallery (a BuildingBlockGallery — AutoText, CoverPage, Headers, Footers, Tables, Watermarks, 및 수십 개 이상의 미리 정의된 갤러리), Type (a BuildingBlockType), 그리고 Behavior (a BuildingBlockBehavior of Content, Paragraph, 또는 Page)은 삽입될 때 해당 내용이 문서에 어떻게 병합되는지를 제어합니다.


빌딩 블록 컬렉션 관리

BuildingBlockCollection은 전체 컬렉션 편집을 지원합니다: Add(node), Insert(index, node), Remove(node), RemoveAt(index), Clear(), Contains(node), 및 IndexOf(node), 그리고 읽기를 위해 ToArray()과 GetEnumerator()도 함께 사용할 수 있습니다. NodeCollection이기 때문에, 빌딩 블록은 문서 트리의 다른 부분과 동일한 노드 API를 사용하여 구성, 복제 및 이동될 수 있습니다.


플레이스홀더 텍스트 빌딩 블록

구조화된 문서 태그는 빌딩 블록을 플레이스홀더 콘텐츠로 참조할 수 있습니다: StructuredDocumentTag.Placeholder과 StructuredDocumentTagRangeStart.Placeholder은 모두 태그가 비어 있을 때 표시되는 BuildingBlock를 반환하며, 이는 공유된 IStructuredDocumentTag.Placeholder 속성을 통해 이루어집니다.


팁 및 모범 사례

  • GetBuildingBlock(gallery, category, name)의 세 인수를 신중히 일치시켜야 합니다 — 동일한 이름이 다른 갤러리나 카테고리에도 존재할 수 있습니다.
  • 이름만으로 모든 빌딩 블록을 검색하는 대신, BuildingBlockGallery을 사용하여 찾고 있는 재사용 가능한 콘텐츠 종류(AutoText, CoverPage, Tables, Watermarks 등)를 필터링하세요.
  • BuildingBlockBehavior은 삽입된 콘텐츠가 주변 문서와 어떻게 병합되는지(Content, Paragraph, 또는 Page)를 결정합니다 — 빌딩 블록이 기대한 방식으로 삽입될 것이라고 가정하기 전에 이를 확인하세요.
  • BuildingBlock이 CompositeNode이므로, 내용을 구축하거나 편집할 때 다른 노드 서브트리와 같이 취급하십시오 — AppendChild, InsertAfter 및 유사한 노드 메서드가 모두 적용됩니다.

일반적인 문제

문제원인수정
GetBuildingBlock() 반환값이 없습니다갤러리, 카테고리 또는 이름이 기존 빌딩 블록과 정확히 일치하지 않음정확한 Gallery/Category/Name 조합을 찾기 위해 GlossaryDocument.BuildingBlocks을 열거하십시오
삽입된 빌딩 블록 내용이 예기치 않게 병합됩니다Behavior (Content/Paragraph/Page)가 고려되지 않음삽입하기 전에 BuildingBlock.Behavior을 확인하여 병합 방식이 어떻게 되는지 이해하십시오
구조화된 문서 태그 자리표시자가 예상된 내용을 표시하지 않습니다Placeholder이(가) 예상과 다른 BuildingBlock을 가리킵니다어떤 빌딩 블록이 실제로 참조되는지 확인하려면 StructuredDocumentTag.Placeholder을 읽으십시오

FAQ

문서에서 빌딩 블록은 어디에 저장되어 있나요?

문서의 GlossaryDocument에 있으며, Document.GlossaryDocument를 통해 접근할 수 있고, 그 BuildingBlocks 속성은 BuildingBlockCollection입니다.

특정 빌딩 블록, 예를 들어 AutoText 항목을 어떻게 찾나요?

일치하는 BuildingBlockGallery, 카테고리 및 이름을 사용하여 GlossaryDocument.GetBuildingBlock(gallery, category, name)를 호출합니다.

프로그래밍 방식으로 새로운 빌딩 블록을 추가할 수 있나요?

네 — BuildingBlockCollection는 NodeCollection이기 때문에 Add(node)와 Insert(index, node)를 지원합니다.

BuildingBlockBehavior은(는) 무엇을 제어합니까?

빌딩 블록이 삽입될 때 내용이 문서에 병합되는 방식 — Content로, 전체 Paragraph로, 또는 전체 Page로.

빌딩 블록은 구조화된 문서 태그의 자리표시자 텍스트와 어떻게 관련되어 있습니까?

StructuredDocumentTag.Placeholder (및 StructuredDocumentTagRangeStart.Placeholder)는 비어 있을 때 SDT의 자리표시자 콘텐츠를 제공하는 BuildingBlock를 반환합니다.


API Reference 요약

클래스 / 메서드설명
Document.GlossaryDocument문서의 GlossaryDocument, 모든 빌딩 블록을 보유합니다
GlossaryDocument.BuildingBlocks모든 빌딩 블록의 BuildingBlockCollection
GlossaryDocument.GetBuildingBlock()갤러리, 카테고리 및 이름으로 빌딩 블록을 조회합니다
BuildingBlock다음이 포함된 CompositeNode: Name, Gallery, Category, Behavior, Type, Sections
BuildingBlockCollectionAdd(), Insert(), Remove(), Clear(), Contains(), IndexOf()
BuildingBlockGallery / BuildingBlockType / BuildingBlockBehavior빌딩 블록을 분류하는 열거형
StructuredDocumentTag.PlaceholderSDT의 자리 표시자 내용으로 사용되는 BuildingBlock

참조

 한국어