테이블 위치 지정
부동 테이블과 인라인 테이블이 있습니다:
- Inline tables 텍스트와 같은 레이어에 배치되며 위와 아래의 표만 둘러싸고 있는 텍스트 흐름에 배치됩니다. 인라인 테이블은 항상 당신이 그들을 배치 단락 사이에 나타납니다.
- Floating tables 텍스트 위에 층을 이루고,단락에 대한 테이블의 위치는 테이블 앵커에 의해 결정됩니다. 이 때문에 문서에서 부동 테이블의 위치는 수직 및 수평 위치 설정의 영향을받습니다.
때때로 당신은 특정 방법으로 문서에 테이블을 배치해야합니다. 이렇게 하려면 정렬 도구를 사용하여 테이블과 주변 텍스트 사이의 들여쓰기를 설정해야 합니다.
이 기사에서는 어떤 옵션에 대해 논의 할 것입니다 Aspose.Words 포지셔닝을 제공합니다.
인라인 테이블 위치 지정
다음을 사용하여 인라인 테이블의 위치를 설정할 수 있습니다 Aspose.Words API 그리고 Alignment 재산. 따라서 문서 페이지를 기준으로 테이블의 정렬을 조정할 수 있습니다.
다음 코드 예제에서는 인라인 테이블의 위치를 설정하는 방법을 보여 줍니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto doc = MakeObject<Document>(MyDir + u"Tables.docx"); | |
auto table = System::ExplicitCast<Table>(doc->GetChild(NodeType::Table, 0, true)); | |
// Align the table to the center of the page. | |
table->set_Alignment(TableAlignment::Center); |
플로팅 테이블 정렬 가져오기
테이블 텍스트 줄 바꿈이 로 설정된 경우 Around,당신은 사용하여 테이블의 수평 및 수직 정렬을 얻을 수 있습니다 RelativeHorizontalAlignment 그리고 RelativeVerticalAlignment 속성.
함께 other types of text wrapping,다음을 사용하여 인라인 테이블 정렬을 얻을 수 있습니다 Alignment 재산.
다음 코드 예제에서는 테이블의 정렬을 가져오는 방법을 보여 줍니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto doc = MakeObject<Document>(MyDir + u"Tables.docx"); | |
auto table = System::ExplicitCast<Table>(doc->GetChild(NodeType::Table, 0, true)); | |
if (table->get_TextWrapping() == TextWrapping::Around) | |
{ | |
std::cout << System::EnumGetName(table->get_RelativeHorizontalAlignment()) << std::endl; | |
std::cout << System::EnumGetName(table->get_RelativeVerticalAlignment()) << std::endl; | |
} | |
else | |
{ | |
std::cout << System::EnumGetName(table->get_Alignment()) << std::endl; | |
} |
플로팅 테이블 위치 얻기
부동 테이블의 위치는 다음 속성을 사용하여 결정됩니다:
- HorizontalAnchor -부동 테이블의 수평 위치를 계산하는 객체
- VerticalAnchor -부동 테이블의 수직 위치를 계산하는 객체
- AbsoluteHorizontalDistance -절대 수평 부동 테이블 위치
- AbsoluteVerticalDistance -절대 수직 플로팅 테이블 위치
- AllowOverlap -다른 부동 개체와 중복을 활성화/비활성화하는 옵션
- RelativeHorizontalAlignment -부동 테이블 상대 수평 정렬.
- RelativeVerticalAlignment -부동 테이블 상대 수직 정렬.
다음 코드 예제에서는 부동 테이블의 위치를 가져오는 방법을 보여 줍니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto doc = MakeObject<Document>(MyDir + u"Table wrapped by text.docx"); | |
for (const auto& table : System::IterateOver<Table>(doc->get_FirstSection()->get_Body()->get_Tables())) | |
{ | |
// If the table is floating type, then print its positioning properties. | |
if (table->get_TextWrapping() == TextWrapping::Around) | |
{ | |
std::cout << System::EnumGetName(table->get_HorizontalAnchor()) << std::endl; | |
std::cout << System::EnumGetName(table->get_VerticalAnchor()) << std::endl; | |
std::cout << table->get_AbsoluteHorizontalDistance() << std::endl; | |
std::cout << table->get_AbsoluteVerticalDistance() << std::endl; | |
std::cout << System::Convert::ToString(table->get_AllowOverlap()) << std::endl; | |
std::cout << table->get_AbsoluteHorizontalDistance() << std::endl; | |
std::cout << System::EnumGetName(table->get_RelativeVerticalAlignment()) << std::endl; | |
std::cout << ".............................." << std::endl; | |
} | |
} |
플로팅 테이블 위치 설정
그냥 점점 같은,당신은 동일을 사용하여 부동 테이블의 위치를 설정할 수 있습니다 Aspose.Words API.
정렬 및 수평 및 수직 거리가 결합 된 속성이며 하나는 다른 하나를 재설정 할 수 있음을 아는 것이 중요합니다. 예를 들어,설정 RelativeHorizontalAlignment 다시 놓을 것입니다 AbsoluteHorizontalDistance 기본값으로 그리고 그 반대의 경우도 마찬가지입니다. 수직 배열도 마찬가지입니다.
다음 코드 예제에서는 부동 테이블의 위치를 설정하는 방법을 보여 줍니다:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git. | |
auto doc = MakeObject<Document>(MyDir + u"Table wrapped by text.docx"); | |
SharedPtr<Table> table = doc->get_FirstSection()->get_Body()->get_Tables()->idx_get(0); | |
table->set_AbsoluteHorizontalDistance(10); | |
table->set_RelativeVerticalAlignment(VerticalAlignment::Center); | |
doc->Save(ArtifactsDir + u"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-C.git. | |
auto doc = MakeObject<Document>(MyDir + u"Tables.docx"); | |
std::cout << "\nGet distance between table left, right, bottom, top and the surrounding text." << std::endl; | |
auto table = System::ExplicitCast<Table>(doc->GetChild(NodeType::Table, 0, true)); | |
std::cout << table->get_DistanceTop() << std::endl; | |
std::cout << table->get_DistanceBottom() << std::endl; | |
std::cout << table->get_DistanceRight() << std::endl; | |
std::cout << table->get_DistanceLeft() << std::endl; |