Word 문서에서 책갈피 숨기기 표시
소개
Word 문서의 특정 부분을 동적으로 숨기거나 표시해야 했던 적이 있습니까? 글쎄, 당신은 운이 좋다! Aspose.Words for .NET을 사용하면 문서에서 북마크된 콘텐츠의 가시성을 쉽게 관리할 수 있습니다. 이 튜토리얼은 Aspose.Words for .NET을 사용하여 Word 문서에서 북마크를 표시하고 숨기는 과정을 안내합니다. 우리는 코드를 단계별로 분석할 것이므로 숙련된 개발자이든 초보자이든 이 가이드를 쉽게 따라할 수 있습니다.
전제조건
코드를 살펴보기 전에 필요한 모든 것이 갖추어져 있는지 확인하겠습니다.
- .NET용 Aspose.Words: .NET용 Aspose.Words 라이브러리가 설치되어 있는지 확인하세요. 그렇지 않은 경우 다운로드할 수 있습니다.여기.
- 개발 환경: Visual Studio와 같은 IDE.
- C#에 대한 기본 지식: C# 프로그래밍에 익숙하면 도움이 됩니다.
- Word 문서: 책갈피가 포함된 샘플 Word 문서입니다.
네임스페이스 가져오기
코드를 시작하기 전에 필요한 네임스페이스를 가져와야 합니다. C# 파일 시작 부분에 다음을 추가합니다.
using System;
using Aspose.Words;
using Aspose.Words.Fields;
using Aspose.Words.Tables;
1단계: 문서 로드
먼저 책갈피가 포함된 Word 문서를 로드해야 합니다. 방법은 다음과 같습니다.
// 문서 디렉터리의 경로입니다.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Bookmarks.docx");
설명
- dataDir: Word 문서가 있는 디렉터리 경로입니다.
- 문서 문서: 이는 새 인스턴스를 초기화합니다.
Document
지정된 파일로 클래스를 작성하십시오.
2단계: 북마크된 콘텐츠 표시 또는 숨기기
다음으로 북마크된 콘텐츠를 표시하거나 숨기는 방법을 정의하겠습니다. 완전한 방법은 다음과 같습니다.
public void ShowHideBookmarkedContent(Document doc, string bookmarkName, bool showHide)
{
Bookmark bm = doc.Range.Bookmarks[bookmarkName];
DocumentBuilder builder = new DocumentBuilder(doc);
builder.MoveToDocumentEnd();
// {IF "{MERGEFIELD 북마크}" = "true" "" ""}
Field field = builder.InsertField("IF \"", null);
builder.MoveTo(field.Start.NextSibling);
builder.InsertField("MERGEFIELD " + bookmarkName + "", null);
builder.Write("\" = \"true\" ");
builder.Write("\"");
builder.Write("\"");
builder.Write(" \"\"");
Node currentNode = field.Start;
bool flag = true;
while (currentNode != null && flag)
{
if (currentNode.NodeType == NodeType.Run)
if (currentNode.ToString(SaveFormat.Text).Trim() == "\"")
flag = false;
Node nextNode = currentNode.NextSibling;
bm.BookmarkStart.ParentNode.InsertBefore(currentNode, bm.BookmarkStart);
currentNode = nextNode;
}
Node endNode = bm.BookmarkEnd;
flag = true;
while (currentNode != null && flag)
{
if (currentNode.NodeType == NodeType.FieldEnd)
flag = false;
Node nextNode = currentNode.NextSibling;
bm.BookmarkEnd.ParentNode.InsertAfter(currentNode, endNode);
endNode = currentNode;
currentNode = nextNode;
}
doc.MailMerge.Execute(new[] { bookmarkName }, new object[] { showHide });
}
설명
- Bookmark bm: 문서에서 북마크를 가져옵니다.
- DocumentBuilder 빌더: 문서 탐색 및 수정에 도움이 됩니다.
- 필드 필드: 북마크 상태를 확인하기 위한 IF 필드를 삽입합니다.
- Node currentNode: 노드를 탐색하여 필드 시작 및 끝을 찾습니다.
3단계: 표시/숨기기 기능 실행
이제 전화를 걸어야 합니다.ShowHideBookmarkedContent
메소드, 문서, 북마크 이름 및 가시성 플래그를 전달합니다.
ShowHideBookmarkedContent(doc, "MyBookmark1", false);
설명
- doc: 문서 개체입니다.
- “MyBookmark1”: 표시하거나 숨기려는 북마크의 이름입니다.
- false: 가시성 플래그입니다(표시하는 경우 true, 숨기는 경우 false).
4단계: 문서 저장
마지막으로 수정된 문서를 저장합니다.
doc.Save(dataDir + "WorkingWithBookmarks.ShowHideBookmarks.docx");
설명
- dataDir + “WorkingWithBookmarks.ShowHideBookmarks.docx”: 변경 사항이 저장될 새 문서의 경로와 이름입니다.
결론
그리고 거기에 있습니다! Aspose.Words for .NET을 사용하여 Word 문서에서 북마크를 표시하고 숨기는 방법을 성공적으로 배웠습니다. 이 기술은 조건부 콘텐츠가 포함된 문서를 동적으로 생성하는 데 매우 유용할 수 있습니다.
FAQ
.NET용 Aspose.Words란 무엇입니까?
Aspose.Words for .NET은 개발자가 프로그래밍 방식으로 Word 문서를 생성, 수정 및 변환할 수 있는 강력한 문서 처리 라이브러리입니다.
.NET용 Aspose.Words를 어떻게 얻나요?
.NET용 Aspose.Words는 다음에서 다운로드할 수 있습니다.여기. 무료 평가판도 제공됩니다.
다른 유형의 북마크에 이 방법을 사용할 수 있나요?
예, 이 방법을 적용하여 Word 문서의 책갈피에 대한 가시성을 관리할 수 있습니다.
내 문서에 지정된 책갈피가 포함되어 있지 않으면 어떻게 되나요?
북마크가 존재하지 않으면 메서드에서 오류가 발생합니다. 북마크를 표시하거나 숨기기 전에 북마크가 있는지 확인하세요.
문제가 발생하면 어떻게 지원을 받을 수 있나요?
Aspose 커뮤니티에서 지원을 받을 수 있습니다여기.