서식 적용

표의 각 요소는 서로 다른 서식을 적용할 수 있습니다. 예를 들어, 표 서식은 표 전체에 적용되고, 행 서식은 특정 행에만 적용되며, 셀 서식은 특정 셀에만 적용됩니다.

Aspose.Words는 테이블 형식을 검색하고 적용할 수 있는 풍부한 API를 제공합니다. Table, RowFormatCellFormat 노드를 사용하여 형식을 설정할 수 있습니다.

이 기사에서는 다양한 테이블 노드에 서식을 적용하는 방법과 Aspose.Words가 지원하는 테이블 서식 설정에 대해 설명합니다.

다른 노드에 서식 적용

이 섹션에서는 다양한 테이블 노드에 서식을 적용하는 방법을 살펴보겠습니다.

테이블 수준 서식

테이블에 서식을 적용하려면 Table, PreferredWidthTableCollection 클래스를 사용하여 해당 Table 노드에서 사용 가능한 속성을 사용할 수 있습니다.

아래 그림은 Microsoft Word의 Table 형식 지정 기능과 Aspose.Words의 해당 속성을 보여줍니다.

formattin-features-table-level-aspose-words-python

formatting-table-options-aspose-words-python

다음 코드 예제에서는 테이블에 윤곽선 테두리를 적용하는 방법을 보여줍니다

다음 코드 예제에서는 모든 테두리가 활성화된(그리드) 테이블을 작성하는 방법을 보여줍니다

행 수준 서식

행 수준 형식은 Row, RowFormatRowCollection 클래스를 사용하여 제어할 수 있습니다.

아래 그림은 Microsoft Word의 Row 형식 지정 기능과 Aspose.Words의 해당 속성을 보여줍니다.

formatting-row-level-aspose-words-python

다음 코드 예제에서는 테이블 행 형식을 수정하는 방법을 보여줍니다

셀 수준 형식 지정

셀 수준 형식은 Cell, CellFormatCellCollection 클래스에 의해 제어됩니다.

아래 그림은 Microsoft Word의 Cell 형식 지정 기능과 Aspose.Words의 해당 속성을 보여줍니다.

formatting-cell-level-aspose-words-python

auto-formatting-cell-level-aspose-words-python

다음 코드 예제에서는 테이블 셀의 서식을 수정하는 방법을 보여줍니다

다음 코드 예제에서는 셀 내용의 왼쪽/위/오른쪽/아래에 추가할 공간(포인트)을 설정하는 방법을 보여줍니다

행 높이 지정

행 높이를 설정하는 가장 간단한 방법은 DocumentBuilder를 사용하는 것입니다. 적절한 RowFormat 속성을 사용하면 기본 높이 설정을 설정하거나 테이블의 각 행에 다른 높이를 적용할 수 있습니다.

Aspose.Words에서 테이블 행 높이는 다음을 통해 제어됩니다

  • 행 높이 속성 – Height
  • 주어진 행에 대한 높이 규칙 속성 – HeightRule

동시에 각 행마다 다른 높이를 설정할 수 있으므로 테이블 설정을 광범위하게 제어할 수 있습니다.

다음 코드 예제에서는 단일 셀이 포함된 테이블을 만들고 행 서식을 적용하는 방법을 보여줍니다

테이블 및 셀 너비 지정

Microsoft Word 문서의 테이블은 테이블과 개별 셀의 크기를 조정하는 여러 가지 방법을 제공합니다. 이러한 속성을 사용하면 테이블의 모양과 동작을 상당히 제어할 수 있으므로 Aspose.Words는 Microsoft Word에서와 같이 테이블 동작을 지원합니다.

테이블 요소는 전체 테이블과 개별 셀의 너비가 계산되는 방식에 영향을 줄 수 있는 여러 가지 속성을 제공한다는 점을 아는 것이 중요합니다

  • 테이블에서 선호하는 너비
  • 개별 셀의 기본 너비
  • 테이블에 자동 맞춤 허용

이 문서에서는 다양한 테이블 너비 계산 속성이 작동하는 방식과 테이블 너비 계산을 완전히 제어하는 방법을 자세히 설명합니다. 이것은 테이블 레이아웃이 예상대로 나타나지 않는 경우에 알아두면 특히 유용합니다.

기본 너비를 사용하는 방법

테이블이나 개별 셀의 원하는 너비는 요소가 맞추려고 노력하는 크기인 기본 너비 속성을 통해 정의됩니다. 즉, 전체 테이블 또는 개별 셀에 대해 기본 너비를 지정할 수 있습니다. 경우에 따라 이 너비를 정확하게 맞추는 것이 불가능할 수도 있지만 대부분의 경우 실제 너비는 이 값에 가깝습니다.

적절한 기본 너비 유형 및 값은 PreferredWidth 클래스의 메서드를 사용하여 설정됩니다

  • 자동 또는 “선호 너비 없음"을 지정하는 Auto 방법
  • 백분율 너비를 지정하는 FromPercent 방법
  • 너비를 포인트 단위로 지정하는 FromPoints 방법

아래 그림은 Microsoft Word의 기본 너비 설정 기능과 Aspose.Words의 해당 속성을 보여줍니다.

formatting-table-properties-aspose-words-python

이러한 옵션이 문서의 실제 테이블에 어떻게 적용되는지에 대한 예는 아래 그림에서 볼 수 있습니다.

tables-applying-options-python

선호하는 테이블 또는 셀 너비 지정

Aspose.Words에서 테이블과 셀 너비는 PreferredWidthType 열거형에서 사용할 수 있는 옵션과 함께 Table.PreferredWidth 속성과 CellFormat.PreferredWidth 속성을 사용하여 설정됩니다

  • Auto는 기본 너비가 설정되지 않은 것과 동일합니다
  • 창이나 컨테이너 크기의 사용 가능한 공간을 기준으로 요소를 맞추고 사용 가능한 너비가 변경되면 값을 다시 계산하는 Percent
  • 포인트 단위로 지정된 너비의 요소에 해당하는 Points

Table.PreferredWidth 속성을 사용하면 컨테이너(페이지, 텍스트 열 또는 중첩 테이블인 경우 외부 테이블 셀)를 기준으로 기본 너비가 조정됩니다.

다음 코드 예제에서는 페이지 너비의 50%에 자동 맞춤되도록 테이블을 설정하는 방법을 보여줍니다

특정 셀에서 CellFormat.PreferredWidth 속성을 사용하면 기본 너비가 조정됩니다.

다음 코드 예제에서는 다양한 기본 너비 설정을 지정하는 방법을 보여줍니다

선호하는 너비 유형 및 값 찾기

TypeValue 속성을 사용하여 원하는 테이블이나 셀의 기본 너비 세부 정보를 찾을 수 있습니다.

다음 코드 예제에서는 테이블 셀의 기본 너비 유형을 검색하는 방법을 보여줍니다

자동 맞춤 설정 방법

AllowAutoFit 속성을 사용하면 선택한 기준에 따라 테이블의 셀을 늘리거나 줄일 수 있습니다. 예를 들어, 창에 자동 맞춤 옵션을 사용하여 테이블을 페이지 너비에 맞추고, 콘텐츠에 자동 맞춤 옵션을 사용하여 각 셀이 내용에 따라 늘어나거나 줄어들도록 할 수 있습니다.

기본적으로 Aspose.Words는 창에 자동 맞춤를 사용하여 새 테이블을 삽입합니다. 테이블 크기는 사용 가능한 페이지 너비에 따라 조정됩니다. 테이블 크기를 조정하려면 AutoFit 메서드를 호출하면 됩니다. 이 메서드는 테이블에 적용되는 자동 맞춤 유형을 지정하는 AutoFitBehavior 열거형을 허용합니다.

자동 맞춤 방법은 실제로 테이블에 서로 다른 속성을 동시에 적용하는 지름길이라는 점을 아는 것이 중요합니다. 이는 관찰된 동작을 테이블에 실제로 제공하는 속성입니다. 각 자동 맞춤 옵션에 대한 이러한 속성에 대해 논의하겠습니다.

다음 코드 예제에서는 내용에 따라 각 셀을 축소하거나 늘리도록 테이블을 설정하는 방법을 보여줍니다

테이블을 창에 자동 맞춤

창에 대한 자동 맞춤이 테이블에 적용되면 실제로 다음 작업이 백그라운드에서 수행됩니다

  1. Table.AllowAutoFit 속성은 Table.PreferredWidth 값 100%를 사용하여 사용 가능한 콘텐츠에 맞게 열 크기를 자동으로 조정할 수 있습니다
  2. CellFormat.PreferredWidth가 모든 테이블 셀에서 제거됩니다
  3. 현재 테이블 내용에 대해 열 너비가 다시 계산됩니다. 최종 결과는 사용 가능한 전체 너비를 차지하는 테이블입니다
  4. 사용자가 텍스트를 편집하면 테이블의 열 너비가 자동으로 변경됩니다

다음 코드 예제에서는 테이블을 페이지 너비에 자동으로 맞추는 방법을 보여줍니다

테이블을 콘텐츠에 자동 맞춤

테이블이 콘텐츠에 자동 맞춤되면 실제로 다음 단계가 백그라운드에서 수행됩니다

  1. Table.AllowAutoFit 속성은 내용에 따라 각 셀의 크기를 자동으로 조정하도록 활성화됩니다

  2. 기본 테이블 너비가 Table.PreferredWidth에서 제거되고, 각 테이블 셀에 대해 CellFormat.PreferredWidth가 제거됩니다

  3. 현재 테이블 내용에 대해 열 너비가 다시 계산됩니다. 최종 결과는 사용자가 텍스트를 편집할 때 열 너비와 전체 테이블의 너비가 내용에 가장 잘 맞도록 자동으로 크기가 조정되는 테이블입니다

다음 코드 예제에서는 내용에 맞게 테이블을 자동 맞춤하는 방법을 보여줍니다

테이블에서 자동 맞춤을 비활성화하고 고정 열 너비를 사용합니다

테이블에 자동 맞춤이 비활성화되어 있고 대신 고정 열 너비가 사용되는 경우 다음 단계가 수행됩니다

  1. Table.AllowAutoFit 속성이 비활성화되어 열이 내용에 맞게 늘어나거나 줄어들지 않습니다
  2. 전체 테이블의 기본 너비가 Table.PreferredWidth에서 제거되고 CellFormat.PreferredWidth가 모든 테이블 셀에서 제거됩니다
  3. 최종 결과는 CellFormat.Width 속성에 의해 열 너비가 결정되고 사용자가 텍스트를 입력하거나 페이지 크기를 조정할 때 열 크기가 자동으로 조정되지 않는 테이블입니다

다음 코드 예제에서는 지정된 테이블에 대해 자동 맞춤을 비활성화하고 고정 너비를 활성화하는 방법을 보여줍니다

셀 너비를 계산할 때 우선 순위

Aspose.Words를 사용하면 사용자는 CellFormat를 포함한 여러 개체를 통해 테이블이나 셀의 너비를 정의할 수 있습니다. Width 속성은 대부분 이전 버전에서 그대로 유지되지만 셀 너비 설정을 단순화하는 데 여전히 유용합니다.

CellFormat.Width 속성은 테이블에 이미 존재하는 다른 너비 속성에 따라 다르게 작동한다는 것을 아는 것이 중요합니다.

Aspose.Words는 셀 너비를 계산하기 위해 다음 순서를 사용합니다

주문하다 재산 설명
1 AllowAutoFit가 결정됨 AutoFit가 활성화된 경우:
- 테이블은 내용을 수용하기 위해 기본 너비 이상으로 커질 수 있습니다. 일반적으로 기본 너비 이하로 줄어들지 않습니다.
- CellFormat.Width 값에 대한 모든 변경 사항은 무시되고 대신 셀이 해당 내용에 맞춰집니다
2 Points 또는 Percent 값을 갖는 PreferredWidthType CellFormat.Width는 무시됩니다
3 Auto 값을 갖는 PreferredWidthType CellFormat.Width의 값이 복사되어 셀의 기본 너비(포인트)가 됩니다

셀 사이의 간격 허용

Microsoft Word의 “셀 간격” 옵션과 유사하게 테이블 셀 사이에 추가 공간을 얻거나 설정할 수 있습니다. 이는 AllowCellSpacing 속성을 사용하여 수행할 수 있습니다.

이러한 옵션이 문서의 실제 테이블에 어떻게 적용되는지에 대한 예는 아래 그림에서 볼 수 있습니다.

서식-간격-셀-aspose-단어-파이썬

다음 코드 예제에서는 셀 사이의 간격을 설정하는 방법을 보여줍니다

테두리 및 음영 적용

테두리와 음영은 Table.SetBorder, Table.SetBordersTable.SetShading을 사용하여 전체 테이블에 적용하거나 CellFormat.BordersCellFormat.Shading을 사용하여 특정 셀에만 적용할 수 있습니다. 또한 RowFormat.Borders를 사용하여 행 테두리를 설정할 수 있지만 이 방식으로 음영 처리를 적용할 수는 없습니다.

아래 그림은 Microsoft Word의 테두리 및 그림자 설정과 Aspose.Words의 해당 속성을 보여줍니다.

formatting-border-line-aspose-words-python

formatting-cell-color-aspose-words-python

다음 코드 예제에서는 다양한 테두리와 음영을 사용하여 테이블과 셀의 서식을 지정하는 방법을 보여줍니다