단락 작업
단락은 논리 블록으로 결합되고 특수 문자(단락 구분)로 끝나는 문자 집합입니다. Aspose.Words에서 단락은 Paragraph 클래스로 표현됩니다.
단락 삽입
문서에 새 단락을 삽입하려면 실제로 단락 구분 문자를 삽입해야 합니다. DocumentBuilder.writeln는 문서에 텍스트 문자열을 삽입할 뿐만 아니라 단락 나누기를 추가합니다.
현재 글꼴 형식도 font 속성으로 지정되며 현재 단락 형식은 paragraph_format 속성으로 결정됩니다.
다음 코드 예제에서는 문서에 단락을 삽입하는 방법을 보여줍니다
# 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) | |
font = builder.font | |
font.size = 16 | |
font.bold = True | |
font.color = drawing.Color.blue | |
font.name = "Arial" | |
font.underline = aw.Underline.DASH | |
paragraphFormat = builder.paragraph_format | |
paragraphFormat.first_line_indent = 8 | |
paragraphFormat.alignment = aw.ParagraphAlignment.JUSTIFY | |
paragraphFormat.keep_together = True | |
builder.writeln("A whole paragraph.") | |
doc.save(docs_base.artifacts_dir + "AddContentUsingDocumentBuilder.insert_paragraph.docx") |
단락 서식 지정
현재 단락 형식은 paragraph_format 속성에서 반환되는 ParagraphFormat 개체로 표시됩니다. 이 개체는 Microsoft Word에서 사용할 수 있는 다양한 단락 서식 속성을 캡슐화합니다. clear_formatting를 호출하면 단락 서식을 기본 스타일, 왼쪽 정렬, 들여쓰기 없음, 간격 없음, 테두리 없음, 음영 없음으로 쉽게 재설정할 수 있습니다.
다음 코드 예제에서는 단락 서식을 설정하는 방법을 보여줍니다
# 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) | |
paragraphFormat = builder.paragraph_format | |
paragraphFormat.alignment = aw.ParagraphAlignment.CENTER | |
paragraphFormat.left_indent = 50 | |
paragraphFormat.right_indent = 50 | |
paragraphFormat.space_after = 25 | |
builder.writeln( | |
"I'm a very nice formatted paragraph. I'm intended to demonstrate how the left and right indents affect word wrapping.") | |
builder.writeln( | |
"I'm another nice formatted paragraph. I'm intended to demonstrate how the space after paragraph looks like.") | |
doc.save(docs_base.artifacts_dir + "DocumentFormatting.paragraph_formatting.docx") |
단락 스타일 적용
Font 또는 ParagraphFormat와 같은 일부 서식 개체는 스타일을 지원합니다. 단일 기본 제공 스타일 또는 사용자 정의 스타일은 스타일의 이름, 기본 스타일, 글꼴 및 단락 서식 등과 같은 해당 스타일 속성을 포함하는 Style 개체로 표시됩니다.
또한 Style 객체는 StyleIdentifier 열거 값으로 표시되는 로케일 독립적 스타일 식별자를 반환하는 Style.style_identifier 속성을 제공합니다. 요점은 Microsoft Word에 내장된 스타일의 이름이 다양한 언어에 맞게 현지화되어 있다는 것입니다. 스타일 식별자를 사용하면 문서 언어에 관계없이 올바른 스타일을 찾을 수 있습니다. 열거형 값은 Normal, Heading 1, Heading 2 등과 같은 Microsoft Word 내장 스타일에 해당합니다. 모든 사용자 정의 스타일에는 StyleIdentifier.USER 값이 할당됩니다
다음 코드 예제에서는 단락 스타일을 적용하는 방법을 보여줍니다
# 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.paragraph_format.style_identifier = aw.StyleIdentifier.TITLE | |
builder.write("Hello") | |
doc.save(docs_base.artifacts_dir + "DocumentFormatting.apply_paragraph_style.docx") |
다른 단락 스타일을 지정하려면 스타일 구분 기호를 삽입하세요
MS Word에서 Ctrl + Alt + Enter 키보드 단축키를 사용하여 단락 끝에 스타일 구분 기호를 추가할 수 있습니다. 이 기능을 사용하면 논리적으로 인쇄된 하나의 단락에 두 가지 다른 단락 스타일을 사용할 수 있습니다. 특정 제목의 시작 부분부터 일부 텍스트를 목차에 표시하고 싶지만 목차의 전체 제목을 원하지 않는 경우 이 기능을 사용할 수 있습니다
다음 코드 예제에서는 다양한 단락 스타일을 수용하기 위해 스타일 구분 기호를 삽입하는 방법을 보여줍니다
# 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) | |
paraStyle = builder.document.styles.add(aw.StyleType.PARAGRAPH, "MyParaStyle") | |
paraStyle.font.bold = False | |
paraStyle.font.size = 8 | |
paraStyle.font.name = "Arial" | |
# Append text with "Heading 1" style. | |
builder.paragraph_format.style_identifier = aw.StyleIdentifier.HEADING1 | |
builder.write("Heading 1") | |
builder.insert_style_separator() | |
# Append text with another style. | |
builder.paragraph_format.style_name = paraStyle.name | |
builder.write("This is text with some other formatting ") | |
doc.save(docs_base.artifacts_dir + "WorkingWithStylesAndThemes.insert_style_separator.docx") |
단락 스타일 구분 기호 식별
Aspose.Words는 Paragraph 클래스에 공용 속성 break_is_style_separator를 제공하여 아래 예제와 같이 스타일 구분 기호 단락을 식별할 수 있도록 합니다
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document(docs_base.my_dir + "Document.docx") | |
for paragraph in doc.get_child_nodes(aw.NodeType.PARAGRAPH, True) : | |
paragraph = paragraph.as_paragraph() | |
if (paragraph.break_is_style_separator) : | |
print("Separator Found!") | |
단락에 테두리 및 음영 적용
테두리는 BorderCollection로 표시됩니다. 이는 인덱스 또는 테두리 유형으로 액세스되는 Border 개체의 모음입니다. 테두리 유형은 BorderType 열거형으로 표시됩니다. 열거형의 일부 값은 여러 문서 요소 또는 단 하나의 문서 요소에만 적용 가능합니다. 예를 들어 BorderType.BOTTOM는 단락이나 표 셀에 적용할 수 있지만 BorderType.DIAGONALDOWN은 표 셀에서만 대각선 테두리를 지정합니다.
테두리 컬렉션과 각각의 개별 테두리는 모두 색상, 선 스타일, 선 너비, 텍스트로부터의 거리 및 선택적 그림자와 같은 유사한 속성을 갖습니다. 이들은 동일한 이름의 속성으로 표시됩니다. 속성 값을 결합하여 다양한 테두리 유형을 얻을 수 있습니다. 또한 BorderCollection 및 Border 객체 모두 Border.clear_formatting 메서드를 호출하여 이러한 값을 기본값으로 재설정할 수 있습니다.
Aspose.Words에는 문서 요소에 대한 음영 속성이 포함된 Shading 클래스도 있습니다. 원하는 음영 질감과 요소의 전경과 배경에 적용되는 색상을 설정할 수 있습니다.
음영 텍스처는 Shading 개체에 다양한 패턴을 적용할 수 있는 TextureIndex 열거 값으로 설정됩니다. 예를 들어 문서 요소의 배경색을 설정하려면 TextureIndex.TEXTURE_SOLID 값을 사용하고 전경 음영 색상을 적절하게 설정합니다. 아래 예에서는 단락에 테두리와 음영을 적용하는 방법을 보여줍니다.
다음 코드 예제에서는 단락에 테두리와 음영을 적용하는 방법을 보여줍니다
# 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) | |
borders = builder.paragraph_format.borders | |
borders.distance_from_text = 20 | |
borders.get_by_border_type(aw.BorderType.LEFT).line_style = aw.LineStyle.DOUBLE | |
borders.get_by_border_type(aw.BorderType.RIGHT).line_style = aw.LineStyle.DOUBLE | |
borders.get_by_border_type(aw.BorderType.TOP).line_style = aw.LineStyle.DOUBLE | |
borders.get_by_border_type(aw.BorderType.BOTTOM).line_style = aw.LineStyle.DOUBLE | |
shading = builder.paragraph_format.shading | |
shading.texture = aw.TextureIndex.TEXTURE_DIAGONAL_CROSS | |
shading.background_pattern_color = drawing.Color.light_coral | |
shading.foreground_pattern_color = drawing.Color.light_salmon | |
builder.write("I'm a formatted paragraph with double border and nice shading.") | |
doc.save(docs_base.artifacts_dir + "DocumentFormatting.apply_borders_and_shading_to_paragraph.doc") |