목록 작업

Microsoft Word 문서의 목록은 단락 서식 속성 집합입니다. 목록은 문서에서 텍스트를 구성하고 정렬하고 강조 표시하는 데 사용할 수 있습니다. 목록은 독자가 핵심 사항을 쉽게 흡수하고 이해할 수 있도록 문서의 데이터를 구성하는 좋은 방법입니다.

각 목록에는 최대 9개의 수준이 있을 수 있으며, 숫자 스타일, 시작 값, 들여쓰기, 탭 위치 등과 같은 서식 속성은 각 수준마다 별도로 정의됩니다.

Aspose.Words에서 목록 작업은 Lists 네임스페이스로 표시됩니다. 그러나 List 개체는 항상 ListCollection에 속합니다.

이 문서에서는 Aspose.Words를 사용하여 목록을 프로그래밍 방식으로 작업하는 방법을 설명합니다.

목록 서식을 적용하여 목록 생성

Aspose.Words를 사용하면 목록 서식을 적용하여 쉽게 목록을 만들 수 있습니다. DocumentBuilderListFormat 객체를 반환하는 ListFormat 속성을 제공합니다. 이 객체에는 목록을 시작 및 종료하고 들여쓰기를 늘리거나 줄이는 여러 가지 메서드가 있습니다. Microsoft Word에는 글머리 기호 목록과 번호 매기기라는 두 가지 일반적인 목록 유형이 있습니다

글머리 기호 또는 번호 및 서식은 현재 단락과 글머리 기호 목록 서식 지정을 중지하기 위해 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);