테이블 배치
플로팅 테이블과 인라인 테이블이 있습니다
- 인라인 테이블는 텍스트와 동일한 레이어에 배치되며, 위와 아래의 표만 둘러싸는 텍스트 흐름으로 배치됩니다. 인라인 표는 배치한 단락 사이에 항상 표시됩니다.
- 플로팅 테이블는 텍스트 위에 겹쳐져 있으며 단락을 기준으로 한 표의 위치는 표 앵커에 의해 결정됩니다. 이로 인해 문서에서 부동 표의 위치는 세로 및 가로 위치 지정 설정의 영향을 받습니다.
문서에서 특정 방식으로 표를 배치해야 하는 경우가 있습니다. 이렇게 하려면 정렬 도구를 사용하여 표와 주변 텍스트 사이에 들여쓰기를 설정해야 합니다.
이 기사에서는 Aspose.Words가 포지셔닝을 위해 제공하는 옵션에 대해 설명합니다.
인라인 테이블 위치 지정
Aspose.Words API 및 Alignment 속성을 사용하여 인라인 테이블의 위치를 설정할 수 있습니다. 따라서 문서 페이지를 기준으로 테이블 정렬을 조정할 수 있습니다.
다음 코드 예제에서는 인라인 테이블의 위치를 설정하는 방법을 보여줍니다
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(MyDir + "Tables.docx"); | |
Table table = (Table) doc.GetChild(NodeType.Table, 0, true); | |
// Align the table to the center of the page. | |
table.Alignment = TableAlignment.Center; |
부동 테이블 정렬 가져오기
테이블 텍스트 줄바꿈이 Around로 설정된 경우 RelativeHorizontalAlignment 및 RelativeVerticalAlignment 속성을 사용하여 테이블의 가로 및 세로 정렬을 가져올 수 있습니다.
다른 유형의 텍스트 배치를 사용하면 Alignment 속성을 사용하여 인라인 테이블 정렬을 얻을 수 있습니다.
다음 코드 예제에서는 테이블 정렬을 가져오는 방법을 보여줍니다
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(MyDir + "Tables.docx"); | |
Table table = (Table) doc.GetChild(NodeType.Table, 0, true); | |
if (table.TextWrapping == TextWrapping.Around) | |
{ | |
Console.WriteLine(table.RelativeHorizontalAlignment); | |
Console.WriteLine(table.RelativeVerticalAlignment); | |
} | |
else | |
{ | |
Console.WriteLine(table.Alignment); | |
} |
부동 테이블 위치 가져오기
부동 테이블의 위치는 다음 속성을 사용하여 결정됩니다
- HorizontalAnchor – 플로팅 테이블의 수평 위치 계산을 위한 객체
- VerticalAnchor – 플로팅 테이블의 수직 위치 계산을 위한 객체
- AbsoluteHorizontalDistance – 절대 수평 부동 테이블 위치
- AbsoluteVerticalDistance – 절대 수직 부동 테이블 위치
- AllowOverlap – 다른 플로팅 개체와의 오버랩을 활성화/비활성화하는 옵션
- RelativeHorizontalAlignment – 부동 테이블 상대 수평 정렬.
- RelativeVerticalAlignment – 부동 테이블 상대 수직 정렬.
다음 코드 예제에서는 부동 테이블의 위치를 가져오는 방법을 보여줍니다
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(MyDir + "Table wrapped by text.docx"); | |
foreach (Table table in doc.FirstSection.Body.Tables) | |
{ | |
// If the table is floating type, then print its positioning properties. | |
if (table.TextWrapping == TextWrapping.Around) | |
{ | |
Console.WriteLine(table.HorizontalAnchor); | |
Console.WriteLine(table.VerticalAnchor); | |
Console.WriteLine(table.AbsoluteHorizontalDistance); | |
Console.WriteLine(table.AbsoluteVerticalDistance); | |
Console.WriteLine(table.AllowOverlap); | |
Console.WriteLine(table.AbsoluteHorizontalDistance); | |
Console.WriteLine(table.RelativeVerticalAlignment); | |
Console.WriteLine(".............................."); | |
} | |
} |
부동 테이블 위치 설정
가져오기와 마찬가지로 동일한 Aspose.Words API를 사용하여 플로팅 테이블의 위치를 설정할 수 있습니다.
정렬과 수평 및 수직 거리는 결합된 속성이며 다른 속성을 재설정할 수 있다는 점을 아는 것이 중요합니다. 예를 들어 RelativeHorizontalAlignment를 설정하면 AbsoluteHorizontalDistance가 기본값으로 재설정되고 그 반대의 경우도 마찬가지입니다. 세로 배열의 true도 마찬가지입니다.
다음 코드 예제에서는 부동 테이블의 위치를 설정하는 방법을 보여줍니다
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(MyDir + "Table wrapped by text.docx"); | |
Table table = doc.FirstSection.Body.Tables[0]; | |
table.AbsoluteHorizontalDistance = 10; | |
table.RelativeVerticalAlignment = VerticalAlignment.Center; | |
doc.Save(ArtifactsDir + "WorkingWithTables.FloatingTablePosition.docx"); |
표와 주변 텍스트 사이의 거리 얻기
Aspose.Words는 또한 테이블과 주변 텍스트 사이의 거리를 알아낼 수 있는 기회를 제공합니다
- DistanceTop – 위에서의 거리 값
- DistanceBottom – 인식 거리의 가치
- DistanceRight – 오른쪽의 거리 값
- DistanceLeft – 왼쪽의 거리 값
다음 코드 예제에서는 테이블과 주변 텍스트 사이의 거리를 확인하는 방법을 보여줍니다
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(MyDir + "Tables.docx"); | |
Console.WriteLine("\nGet distance between table left, right, bottom, top and the surrounding text."); | |
Table table = (Table) doc.GetChild(NodeType.Table, 0, true); | |
Console.WriteLine(table.DistanceTop); | |
Console.WriteLine(table.DistanceBottom); | |
Console.WriteLine(table.DistanceRight); | |
Console.WriteLine(table.DistanceLeft); |