목록 작업

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

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

Aspose.Words에서 목록 작업은 Lists 모듈로 표시됩니다. 그러나 List 개체는 항상 ListCollection 컬렉션에 속합니다.

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

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

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

글머리 기호 또는 번호 및 서식은 현재 단락과 글머리 기호 목록 서식 지정을 중지하기 위해 ListFormat.remove_numbers가 호출될 때까지 DocumentBuilder를 사용하여 생성된 모든 추가 단락에 추가됩니다.

Word 문서에서 목록은 최대 9개 수준으로 구성될 수 있습니다. 각 수준의 목록 서식은 사용되는 글머리 기호 또는 번호, 왼쪽 들여쓰기, 글머리 기호와 텍스트 사이의 공백 등을 지정합니다. 다음 방법은 목록 수준을 변경하고 새 수준의 서식 속성을 적용합니다

이 메서드는 목록 수준을 변경하고 새 수준의 서식 속성을 적용합니다.

아래 예에서는 다단계 목록을 작성하는 방법을 보여줍니다.

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.list_format.apply_number_default()
builder.writeln("Item 1")
builder.writeln("Item 2")
builder.list_format.list_indent()
builder.writeln("Item 2.1")
builder.writeln("Item 2.2")
builder.list_format.list_indent()
builder.writeln("Item 2.2.1")
builder.writeln("Item 2.2.2")
builder.list_format.list_outdent()
builder.writeln("Item 2.3")
builder.list_format.list_outdent()
builder.writeln("Item 3")
builder.list_format.remove_numbers()
doc.save(docs_base.artifacts_dir + "DocumentFormatting.multilevel_list_formatting.docx")

목록 수준에 대한 형식 지정

목록 수준 개체는 목록이 생성될 때 자동으로 생성됩니다. ListLevel 클래스의 속성과 메서드를 사용하여 목록의 개별 수준 형식을 제어합니다.

각 섹션의 다시 시작 목록

is_restart_at_each_section 속성 속성을 사용하여 각 섹션에 대한 목록을 다시 시작할 수 있습니다. 이 옵션은 RTF, DOC 및 DOCX 문서 형식에서만 지원됩니다. 이 옵션은 OoxmlCompliance가 Ecma376보다 높은 경우에만 DOCX에 기록됩니다.

다음 코드 예제에서는 목록을 만들고 각 섹션에 대해 다시 시작하는 방법을 보여줍니다

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document()
doc.lists.add(aw.lists.ListTemplate.NUMBER_DEFAULT)
list = doc.lists[0]
list.is_restart_at_each_section = True
builder = aw.DocumentBuilder(doc)
builder.list_format.list = list
for i in range(1, 45) :
builder.writeln(f"List Item {i}")
if i == 15 :
builder.insert_break(aw.BreakType.SECTION_BREAK_NEW_PAGE)
# IsRestartAtEachSection will be written only if compliance is higher then OoxmlComplianceCore.ecma_376.
options = aw.saving.OoxmlSaveOptions()
options.compliance = aw.saving.OoxmlCompliance.ISO29500_2008_TRANSITIONAL
doc.save(docs_base.artifacts_dir + "WorkingWithList.restart_list_at_each_section.docx", options)