테이블을 함께 유지하세요

소개

표는 많은 Word 문서의 필수적인 부분이지만, 때로는 표가 두 페이지에 걸쳐 나뉘는 상황에 처할 수 있습니다. 이는 문서의 흐름을 방해하고 가독성에 영향을 미칠 수 있습니다. 전체 표를 한 페이지에 모아 둘 수 있는 방법이 있다면 좋지 않겠습니까? Aspose.Words for .NET을 사용하면 이 문제에 대한 간단한 해결책이 있습니다! 이 튜토리얼에서는 표가 여러 페이지에 걸쳐 나뉘는 것을 방지하여 문서가 깔끔하고 전문적으로 보이도록 하는 방법을 살펴보겠습니다.

필수 조건

튜토리얼을 시작하기에 앞서, 원활하게 따라갈 수 있도록 필요한 모든 것이 있는지 확인해 보겠습니다.

.NET 라이브러리를 위한 Aspose.Words

먼저 Aspose.Words for .NET을 설치해야 합니다. 이것은 Word 문서를 프로그래밍 방식으로 작업할 수 있게 해주는 강력한 라이브러리입니다.

개발 환경

C# 코드를 실행하려면 다음과 같은 개발 환경을 설정해야 합니다.

  • Visual Studio(최신 버전)
  • .NET Framework 2.0 이상

표가 있는 Word 문서

표가 포함된 Word 문서가 필요합니다. 이 튜토리얼에서는 샘플 문서로 작업합니다."Table spanning two pages.docx". 이 파일에는 현재 두 페이지에 걸쳐 있는 표가 포함되어 있습니다.

임시 라이센스(선택)

Aspose.Words에는 무료 평가판이 제공되지만 다음을 사용할 수도 있습니다.임시 면허 도서관의 잠재력을 최대한 활용하세요.

패키지 가져오기

코드를 작성하기 전에 Aspose.Words for .NET에서 작업하는 데 필요한 네임스페이스를 가져와야 합니다. 코드 파일 맨 위에 다음 가져오기를 추가합니다.

using Aspose.Words;
using Aspose.Words.Tables;

이러한 네임스페이스를 사용하면 다음과 같은 클래스에 액세스할 수 있습니다.Document, Table, Cell, 그리고 이 튜토리얼에서 사용할 다른 것들도 있습니다.

1단계: 문서 로드

우리가 해야 할 첫 번째 일은 테이블이 포함된 Word 문서를 로드하는 것입니다. 이를 위해 우리는 다음을 사용할 것입니다.Document Aspose.Words의 클래스입니다. 이 클래스를 사용하면 Word 파일을 프로그래밍 방식으로 열고 조작할 수 있습니다.

// 문서 디렉토리의 경로입니다.
string dataDir = "YOUR DOCUMENTS DIRECTORY";

Document doc = new Document(dataDir + "Table spanning two pages.docx");

이 코드 조각에서 우리는 문서의 위치를 지정합니다. 바꾸기"YOUR DOCUMENTS DIRECTORY" 문서가 저장된 실제 디렉토리와 동일합니다.

2단계: 테이블에 접근하기

문서가 로드되면 다음 단계는 함께 보관하려는 테이블에 액세스하는 것입니다. 이 예에서 테이블이 문서의 첫 번째 테이블이라고 가정합니다.

Table table = (Table) doc.GetChild(NodeType.Table, 0, true);

이 코드 줄은 문서의 첫 번째 테이블을 찾습니다.GetChild 이 방법은 특정 유형의 노드를 검색합니다. 이 경우에는 다음과 같습니다.NodeType.Table . 그0 우리가 첫 번째 테이블을 원한다는 것을 나타냅니다.true플래그는 모든 자식 노드를 재귀적으로 검색하도록 보장합니다.

3단계: 테이블 셀 반복

이제, 우리는 표의 각 셀을 반복해야 합니다. 표는 여러 행을 포함하고 각 행은 여러 셀을 포함하므로, 우리는 각 셀을 반복하고 페이지 간에 끊어지지 않도록 합니다.

foreach (Cell cell in table.GetChildNodes(NodeType.Cell, true))
{
    cell.EnsureMinimum();

여기,GetChildNodes 테이블의 모든 셀을 검색하고 각 셀을 반복합니다.EnsureMinimum() 이 방법은 각 셀에 최소한 하나의 문단이 포함되도록 합니다. 빈 셀은 나중에 문제를 일으킬 수 있기 때문입니다.

4단계: KeepWithNext 속성 설정

표가 여러 페이지로 나누어지는 것을 방지하려면 다음을 설정해야 합니다.KeepWithNext 표 내의 각 문단에 대한 속성입니다. 이 속성은 문단이 다음 문단과 함께 유지되도록 하여 효과적으로 문단 사이의 페이지 나누기를 방지합니다.

    foreach (Paragraph para in cell.Paragraphs)
        if (!(cell.ParentRow.IsLastRow && para.IsEndOfCell))
            para.ParagraphFormat.KeepWithNext = true;

이 루프는 각 셀 내부의 모든 문단을 확인합니다. 이 조건은 우리가 다음 조건을 적용하지 않도록 보장합니다.KeepWithNext마지막 행의 마지막 문단에 속성을 추가합니다. 그렇지 않으면 다음 문단이 없으므로 속성이 효과가 없습니다.

5단계: 문서 저장

마지막으로 적용 후KeepWithNext 속성, 수정된 문서를 저장해야 합니다.

doc.Save(dataDir + "WorkingWithTables.KeepTableTogether.docx");

이 줄은 업데이트된 문서를 새 이름으로 저장하고 원래 파일을 보존합니다. 이제 결과 파일을 열면 표가 더 이상 두 페이지로 나뉘지 않은 것을 볼 수 있습니다!

결론

이제 알겠습니다! 이 간단한 단계를 따르면 Aspose.Words for .NET을 사용하여 Word 문서에서 표가 페이지를 넘나드는 것을 쉽게 방지할 수 있습니다. 보고서, 계약서 또는 기타 문서를 작업하든 표를 그대로 유지하면 더 세련되고 전문적인 모습을 유지할 수 있습니다.

Aspose.Words의 장점은 유연성과 사용 편의성으로, 컴퓨터에 Microsoft Word를 설치하지 않고도 Word 문서를 프로그래밍 방식으로 조작할 수 있다는 것입니다. 이제 표를 함께 유지하는 요령을 터득했다면, 라이브러리의 다른 기능을 탐색하여 문서 처리 기술을 한 단계 업그레이드하세요!

자주 묻는 질문

이 코드를 사용한 후에도 왜 표가 여러 페이지로 나눠지는 걸까요?

테이블이 여전히 깨지는 경우 다음을 적용했는지 확인하십시오.KeepWithNext 속성을 올바르게 설정합니다. 각 셀의 마지막 단락을 제외한 모든 단락에 이 속성이 설정되어 있는지 다시 한 번 확인합니다.

특정 행만 함께 유지할 수 있나요?

네, 선택적으로 적용할 수 있습니다.KeepWithNext 표 내의 특정 행이나 문단에 속성을 설정하여 어떤 부분을 함께 두어야 할지 제어할 수 있습니다.

이 방법이 큰 테이블에서도 효과가 있나요?

매우 큰 표의 경우, Word는 전체 표를 한 페이지에 맞출 공간이 충분하지 않으면 여전히 여러 페이지에 표를 분할할 수 있습니다. 더 큰 표를 수용하도록 표의 서식이나 여백을 조정하는 것을 고려하세요.

이 방법을 다른 문서 형식에도 사용할 수 있나요?

네! Aspose.Words for .NET은 DOC, DOCX, PDF 등 다양한 형식을 지원합니다. 동일한 방법이 표를 지원하는 모든 형식에서 작동합니다.

Aspose.Words for .NET은 무료 라이브러리입니까?

Aspose.Words for .NET은 무료 평가판을 제공하지만 모든 기능에 대한 전체 액세스를 위해서는 라이선스를 구매해야 합니다. 라이선스 옵션은 다음에서 탐색할 수 있습니다.Aspose 구매 페이지.