목록 작업
Microsoft Word 문서의 목록은 단락 서식 속성 집합입니다. 목록은 문서에서 텍스트를 구성하고 정렬하고 강조 표시하는 데 사용할 수 있습니다. 목록은 독자가 핵심 사항을 쉽게 흡수하고 이해할 수 있도록 문서의 데이터를 구성하는 좋은 방법입니다.
각 목록에는 최대 9개의 수준이 있을 수 있으며, 숫자 스타일, 시작 값, 들여쓰기, 탭 위치 등과 같은 서식 속성은 각 수준마다 별도로 정의됩니다.
Aspose.Words에서 목록 작업은 Lists 네임스페이스로 표시됩니다. 그러나 List 개체는 항상 ListCollection에 속합니다.
이 문서에서는 Aspose.Words를 사용하여 목록을 프로그래밍 방식으로 작업하는 방법을 설명합니다.
목록 서식을 적용하여 목록 생성
Aspose.Words를 사용하면 목록 서식을 적용하여 쉽게 목록을 만들 수 있습니다. DocumentBuilder는 ListFormat 객체를 반환하는 ListFormat 속성을 제공합니다. 이 객체에는 목록을 시작 및 종료하고 들여쓰기를 늘리거나 줄이는 여러 가지 메서드가 있습니다. Microsoft Word에는 글머리 기호 목록과 번호 매기기라는 두 가지 일반적인 목록 유형이 있습니다
- 글머리 기호 목록을 시작하려면 ApplyBulletDefault를 호출하세요
- 번호 매기기 목록을 시작하려면 ApplyNumberDefault를 호출하세요
글머리 기호 또는 번호 및 서식은 현재 단락과 글머리 기호 목록 서식 지정을 중지하기 위해 RemoveNumbers가 호출될 때까지 DocumentBuilder를 사용하여 생성된 모든 추가 단락에 추가됩니다.
Word 문서에서 목록은 최대 9개 수준으로 구성될 수 있습니다. 각 수준의 목록 서식은 사용되는 글머리 기호 또는 번호, 왼쪽 들여쓰기, 글머리 기호와 텍스트 사이의 공백 등을 지정합니다. 다음 방법은 목록 수준을 변경하고 새 수준의 서식 속성을 적용합니다
- 현재 단락의 목록 수준을 한 수준 높이려면 ListIndent를 호출합니다
- 현재 단락의 목록 수준을 한 수준 낮추려면 ListOutdent를 호출합니다
ListLevelNumber 속성을 사용하여 단락의 목록 수준을 가져오거나 설정할 수도 있습니다.
다음 코드 예제에서는 다단계 목록을 작성하는 방법을 보여줍니다
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.ListFormat.ApplyNumberDefault(); | |
builder.Writeln("Item 1"); | |
builder.Writeln("Item 2"); | |
builder.ListFormat.ListIndent(); | |
builder.Writeln("Item 2.1"); | |
builder.Writeln("Item 2.2"); | |
builder.ListFormat.ListIndent(); | |
builder.Writeln("Item 2.2.1"); | |
builder.Writeln("Item 2.2.2"); | |
builder.ListFormat.ListOutdent(); | |
builder.Writeln("Item 2.3"); | |
builder.ListFormat.ListOutdent(); | |
builder.Writeln("Item 3"); | |
builder.ListFormat.RemoveNumbers(); | |
dataDir = dataDir + "DocumentBuilderSetMultilevelListFormatting_out.doc"; | |
doc.Save(dataDir); |
목록 수준에 대한 형식 지정
목록 수준 개체는 목록이 생성될 때 자동으로 생성됩니다. ListLevel 클래스의 속성과 메서드를 사용하여 목록의 개별 수준 형식을 제어합니다.
각 섹션의 다시 시작 목록
IsRestartAtEachSection 속성을 사용하여 각 섹션에 대한 목록을 다시 시작할 수 있습니다. 이 옵션은 RTF, DOC 및 DOCX 문서 형식에서만 지원됩니다. 이 옵션은 OoxmlCompliance가 Ecma376보다 높은 경우에만 DOCX에 기록됩니다.
다음 코드 예제에서는 목록을 만들고 각 섹션에 대해 다시 시작하는 방법을 보여줍니다
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET | |
Document doc = new Document(); | |
doc.Lists.Add(ListTemplate.NumberDefault); | |
List list = doc.Lists[0]; | |
// Set true to specify that the list has to be restarted at each section. | |
list.IsRestartAtEachSection = true; | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.ListFormat.List = list; | |
for (int i = 1; i < 45; i++) | |
{ | |
builder.Writeln(String.Format("List Item {0}", i)); | |
// Insert section break. | |
if (i == 15) | |
builder.InsertBreak(BreakType.SectionBreakNewPage); | |
} | |
// IsRestartAtEachSection will be written only if compliance is higher then OoxmlComplianceCore.Ecma376 | |
OoxmlSaveOptions options = new OoxmlSaveOptions(); | |
options.Compliance = OoxmlCompliance.Iso29500_2008_Transitional; | |
dataDir = dataDir + "RestartAtEachSection_out.docx"; | |
// Save the document to disk. | |
doc.Save(dataDir, options); |