Word 문서에서 북마크된 텍스트 복사
이 기사에서는 위의 C# 소스 코드를 탐색하여 .NET용 Aspose.Words 라이브러리에서 북마크된 텍스트 복사 기능을 사용하는 방법을 이해합니다. 이 기능을 사용하면 원본 문서의 특정 책갈피 내용을 다른 문서로 복사할 수 있습니다.
전제조건
- C# 언어에 대한 기본 지식.
- Aspose.Words 라이브러리가 설치된 .NET 개발 환경.
1단계: 원본 문서 로드
북마크 텍스트를 복사하기 전에 소스 문서를Document
파일 경로를 사용하는 객체:
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document srcDoc = new Document(dataDir + "Bookmarks.docx");
2단계: 소스 북마크 가져오기
우리는Bookmarks
복사하려는 특정 책갈피를 가져오려면 소스 문서 범위의 속성을 사용하세요.
Bookmark srcBookmark = srcDoc.Range.Bookmarks["MyBookmark1"];
3단계: 대상 문서 만들기
북마크 내용을 복사하기 위한 대상 문서 역할을 할 새 문서를 만듭니다.
Document dstDoc = new Document();
4단계: 복사 위치 지정
복사한 텍스트를 추가할 위치를 지정합니다. 이 예에서는 대상 문서의 마지막 섹션 본문 끝에 텍스트를 추가합니다.
CompositeNode dstNode = dstDoc.LastSection.Body;
5단계: 북마크 텍스트 가져오기 및 복사
우리는NodeImporter
북마크 텍스트를 원본 문서에서 대상 문서로 가져오고 복사하는 개체:
NodeImporter importer = new NodeImporter(srcDoc, dstDoc, ImportFormatMode.KeepSourceFormatting);
AppendBookmarkedText(import, srcBookmark, dstNode);
dstDoc.Save(dataDir + "WorkingWithBookmarks.CopyBookmarkedText.docx");
.NET용 Aspose.Words를 사용하여 북마크된 텍스트 복사에 대한 예제 소스 코드
다음은 .NET용 Aspose.Words를 사용하여 북마크에서 텍스트를 복사하는 방법을 보여주는 전체 예제 소스 코드입니다.
// 문서 디렉터리의 경로입니다.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document srcDoc = new Document(dataDir + "Bookmarks.docx");
// 내용을 복사하려는 북마크입니다.
Bookmark srcBookmark = srcDoc.Range.Bookmarks["MyBookmark1"];
// 이 문서에 추가할 예정입니다.
Document dstDoc = new Document();
// 마지막 섹션의 본문 끝에 추가한다고 가정해 보겠습니다.
CompositeNode dstNode = dstDoc.LastSection.Body;
// 단일 컨텍스트 없이 여러 번 가져오면 많은 스타일이 생성됩니다.
NodeImporter importer = new NodeImporter(srcDoc, dstDoc, ImportFormatMode.KeepSourceFormatting);
AppendBookmarkedText(importer, srcBookmark, dstNode);
dstDoc.Save(dataDir + "WorkingWithBookmarks.CopyBookmarkedText.docx");
AppendBookmarkedText 소스 코드
private void AppendBookmarkedText(NodeImporter importer, Bookmark srcBookmark, CompositeNode dstNode)
{
// 북마크의 시작 부분을 포함하는 단락입니다.
Paragraph startPara = (Paragraph) srcBookmark.BookmarkStart.ParentNode;
// 북마크의 끝 부분을 포함하는 단락입니다.
Paragraph endPara = (Paragraph) srcBookmark.BookmarkEnd.ParentNode;
if (startPara == null || endPara == null)
throw new InvalidOperationException(
"Parent of the bookmark start or end is not a paragraph, cannot handle this scenario yet.");
// 합리적으로 간단한 시나리오로 제한하십시오.
if (startPara.ParentNode != endPara.ParentNode)
throw new InvalidOperationException(
"Start and end paragraphs have different parents, cannot handle this scenario yet.");
// 시작 단락부터 끝 단락까지(및 포함) 모든 단락을 복사하고 싶습니다.
// 따라서 우리가 멈추는 노드는 끝 단락 다음의 노드입니다.
Node endNode = endPara.NextSibling;
for (Node curNode = startPara; curNode != endNode; curNode = curNode.NextSibling)
{
//그러면 현재 노드의 복사본이 생성되고 컨텍스트에서 이를 가져옵니다(유효하게 만듭니다).
// 대상 문서의 가져오기란 스타일과 목록 식별자를 올바르게 조정하는 것을 의미합니다.
Node newNode = importer.ImportNode(curNode, true);
dstNode.AppendChild(newNode);
}
}
결론
이 기사에서는 .NET용 Aspose.Words에서 북마크된 텍스트 복사 기능을 사용하는 방법을 이해하기 위해 C# 소스 코드를 살펴보았습니다. 우리는 단계별 가이드에 따라 소스 문서의 북마크 내용을 다른 문서로 복사했습니다.
Word 문서에서 북마크된 텍스트 복사에 대한 FAQ
Q: Aspose.Words for .NET에서 “북마크와 함께 텍스트 복사” 기능을 사용하기 위한 요구 사항은 무엇입니까?
A: Aspose.Words for .NET의 “책갈피와 함께 텍스트 복사” 기능을 사용하려면 C# 언어에 대한 기본 지식이 필요합니다. 또한 Aspose.Words 라이브러리가 설치된 .NET 개발 환경이 필요합니다.
Q: .NET용 Aspose.Words에 소스 문서를 어떻게 로드합니까?
A: .NET용 Aspose.Words에서 소스 문서를 로드하려면 다음을 사용할 수 있습니다.Document
문서의 파일 경로를 지정하여 클래스를 지정합니다. 다음은 샘플 코드입니다.
Document srcDoc = new Document("path/to/your/document.docx");
Q: Aspose.Words for .NET을 사용하여 소스 문서에서 특정 북마크의 내용을 가져오는 방법은 무엇입니까?
A: Aspose.Words for .NET을 사용하여 소스 문서의 특정 북마크 내용을 얻으려면Bookmarks
소스 문서 범위의 속성을 사용하고 북마크 이름을 사용하여 특정 북마크를 검색합니다. 다음은 샘플 코드입니다.
Bookmark srcBookmark = srcDoc.Range.Bookmarks["BookmarkName"];
Q: Aspose.Words for .NET을 사용하여 대상 문서에서 북마크 텍스트 복사본의 위치를 지정하는 방법은 무엇입니까?
A: Aspose.Words for .NET을 사용하여 대상 문서에서 복사된 책갈피 텍스트를 추가할 위치를 지정하려면 대상 문서의 마지막 섹션 본문으로 이동할 수 있습니다. 당신은 사용할 수 있습니다LastSection
마지막 섹션에 액세스하는 속성과Body
해당 섹션의 본문에 액세스하는 속성입니다. 다음은 샘플 코드입니다.
CompositeNode dstNode = dstDoc.LastSection.Body;
Q: Aspose.Words for .NET을 사용하여 원본 문서에서 대상 문서로 책갈피 텍스트를 가져오고 복사하는 방법은 무엇입니까?
A: Aspose.Words for .NET을 사용하여 원본 문서에서 대상 문서로 책갈피 텍스트를 가져오고 복사하려면 다음을 사용할 수 있습니다.NodeImporter
원본 문서, 대상 문서 및 유지할 서식 모드를 지정하는 클래스입니다. 그런 다음AppendBookmarkedText
대상 문서에 북마크 텍스트를 추가하는 방법입니다. 다음은 샘플 코드입니다.
NodeImporter importer = new NodeImporter(srcDoc, dstDoc, ImportFormatMode.KeepSourceFormatting);
AppendBookmarkedText(import, srcBookmark, dstNode);
Q: Aspose.Words for .NET을 사용하여 북마크 텍스트를 복사한 후 대상 문서를 저장하는 방법은 무엇입니까?
A: Aspose.Words for .NET을 사용하여 북마크에서 텍스트를 복사한 후 대상 문서를 저장하려면 다음을 사용할 수 있습니다.Save
의 방법Document
대상 파일 경로를 지정하는 객체입니다. 다음은 샘플 코드입니다.
dstDoc.Save("path/to/your/destination-document.docx");