# C#를 사용하여 Word에서 빈 페이지 제거하는 방법
# C#를 사용하여 Word에서 빈 페이지 제거하는 방법
이 빠른 튜토리얼은 C#를 사용하여 Word 문서 (DOCX, DOC, 등)에서 빈 페이지를 제거하는 방법을 설명합니다.이 과정은 Word 파일을 업로드하고 개별 페이지를 분석하고 빈 페이지를 식별하고 마침내 빈 페이지없이 새로운 문서를 만드는 것을 포함합니다.
Word 문서에서 흰색 페이지를 제거하는 혜택
청소 문서:- 읽기 능력과 전문성을 향상시킵니다.
파일 크기 감소:- 불필요한 페이지를 제거함으로써 효율적인 저장.
자동화 능력:- 큰 문서를 자동으로 청소하는 데 이상적입니다.
원제 : Environment Preparation
- Visual Studio 또는 다른 .NET IDE.
- Aspose.Words는 NuGet Package Manager를 통해 추가되었습니다.
단계별 가이드는 C#를 사용하여 Word에서 흰색 페이지를 제거합니다.
단계 1 : 환경 설정
NuGet 패키지 관리자를 통해 Aspose.Words 라이브러리를 설치합니다.
Install-Package Aspose.Words
단계 2 : 단어 문서를 업로드
원본 Word 파일을 문서 클래스 개체를 사용하여 업로드합니다.
Document originalDoc = new Document("WordFileWithBlankPages.docx");
단계 3: 각 페이지를 별도로 추출
각 페이지를 통과하고 각 페이지를 분석을 위해 별도의 문서로 추출합니다.
int totalPages = originalDoc.PageCount;
for (int i = 0; i < totalPages; i++)
{
Document singlePageDoc = originalDoc.ExtractPages(i, 1);
// Analyze singlePageDoc in next steps
}
단계 4 : 단일 페이지 문서 분석
단일 페이지 문서에 텍스트 또는 형식이 있는지 확인합니다.
int shapesCounter = 0;
string pageText = "";
foreach (Section docSection in singlePageDoc.Sections)
{
pageText += docSection.Body.ToString(SaveFormat.Text);
shapesCounter += docSection.Body.GetChildNodes(NodeType.Shape, true).Count;
}
5단계: 빈 페이지 목록 유지
콘텐츠를 포함하는 페이지 번호를 추적하십시오.
ArrayList blankPages = new ArrayList();
blankPages.Add(-1);
if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0)
blankPages.Add(i); // i is page index in loop
단계 6 : 새 문서에 비 빈 페이지를 추가
새 문서를 만들고 추적 목록을 사용하여 빈 페이지만 추가합니다.
Document finalDoc = (Document)originalDoc.Clone(false);
finalDoc.RemoveAllChildren();
blankPages.Add(totalPages);
for (int i = 1; i < blankPages.Count; i++)
{
int index = (int)blankPages[i - 1] + 1;
int count = (int)blankPages[i] - index;
if (count > 0)
finalDoc.AppendDocument(originalDoc.ExtractPages(index, count), ImportFormatMode.KeepSourceFormatting);
}
단계 7 : 수정 된 문서를 저장
흰색 페이지를 제거한 새 문서를 저장합니다.
finalDoc.Save(@"cleaned.docx");
C#를 사용하여 Word에서 흰색 페이지를 삭제하는 완전한 코드 예제
아래는 위의 단계를 보여주는 완전한 실행 가능한 코드 예입니다 :
Document originalDoc = new Document("WordFileWithBlankPages.docx");
ArrayList blankPages = new ArrayList();
blankPages.Add(-1);
int totalPages = originalDoc.PageCount;
for (int i = 0; i < totalPages; i++)
{
Document singlePageDoc = originalDoc.ExtractPages(i, 1);
int shapesCounter = 0;
string pageText = "";
foreach (Section docSection in singlePageDoc.Sections)
{
pageText += docSection.Body.ToString(SaveFormat.Text);
shapesCounter += docSection.Body.GetChildNodes(NodeType.Shape, true).Count;
}
if (string.IsNullOrEmpty(pageText.Trim()) && shapesCounter == 0)
blankPages.Add(i);
}
blankPages.Add(totalPages);
Document finalDoc = (Document)originalDoc.Clone(false);
finalDoc.RemoveAllChildren();
for (int i = 1; i < blankPages.Count; i++)
{
int index = (int)blankPages[i - 1] + 1;
int count = (int)blankPages[i] - index;
if (count > 0)
finalDoc.AppendDocument(originalDoc.ExtractPages(index, count), ImportFormatMode.KeepSourceFormatting);
}
finalDoc.Save(@"NonEmptyPages.docx");
System.Console.WriteLine("Blank pages removed successfully.");
결론
이 기사는 C#를 사용하여 Word 파일에서 빈 페이지를 제거하는 방법을 설명합니다.이 단계를 따르면 빈 페이지를 프로그래밍적으로 발견하고 제거하여 더 깨끗한 문서로 이어질 수 있습니다.