Word 문서에서 북마크된 텍스트 복사
소개
한 Word 문서에서 다른 Word 문서로 특정 섹션을 복사해야 했던 적이 있습니까? 글쎄, 당신은 운이 좋다! 이 튜토리얼에서는 Aspose.Words for .NET을 사용하여 북마크된 텍스트를 한 Word 문서에서 다른 Word 문서로 복사하는 방법을 안내합니다. 동적 보고서를 작성하든 문서 생성을 자동화하든 이 가이드는 프로세스를 단순화합니다.
전제조건
자세히 알아보기 전에 다음 사항이 있는지 확인하세요.
- .NET 라이브러리용 Aspose.Words: 다음에서 다운로드할 수 있습니다.여기.
- 개발 환경: Visual Studio 또는 기타 .NET 개발 환경.
- C#에 대한 기본 지식: C# 프로그래밍 및 .NET 프레임워크에 대한 지식.
네임스페이스 가져오기
시작하려면 프로젝트에 필요한 네임스페이스를 가져왔는지 확인하세요.
using Aspose.Words;
using Aspose.Words.Import;
using Aspose.Words.Bookmark;
1단계: 원본 문서 로드
먼저 복사하려는 북마크 텍스트가 포함된 소스 문서를 로드해야 합니다.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document srcDoc = new Document(dataDir + "Bookmarks.docx");
여기,dataDir
문서 디렉토리의 경로입니다.Bookmarks.docx
원본 문서입니다.
2단계: 북마크 식별
다음으로, 원본 문서에서 복사하려는 북마크를 식별하세요.
Bookmark srcBookmark = srcDoc.Range.Bookmarks["MyBookmark1"];
바꾸다"MyBookmark1"
북마크의 실제 이름으로.
3단계: 대상 문서 만들기
이제 북마크된 텍스트를 복사할 새 문서를 만듭니다.
Document dstDoc = new Document();
CompositeNode dstNode = dstDoc.LastSection.Body;
4단계: 북마크된 콘텐츠 가져오기
스타일과 서식을 유지하려면 다음을 사용하세요.NodeImporter
북마크된 콘텐츠를 소스 문서에서 대상 문서로 가져옵니다.
NodeImporter importer = new NodeImporter(srcDoc, dstDoc, ImportFormatMode.KeepSourceFormatting);
AppendBookmarkedText(importer, srcBookmark, dstNode);
5단계: 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);
}
}
6단계: 대상 문서 저장
마지막으로 대상 문서를 저장하여 복사된 내용을 확인합니다.
dstDoc.Save(dataDir + "WorkingWithBookmarks.CopyBookmarkedText.docx");
결론
그리고 그게 다야! .NET용 Aspose.Words를 사용하여 한 Word 문서에서 다른 Word 문서로 북마크된 텍스트를 성공적으로 복사했습니다. 이 방법은 문서 조작 작업을 자동화하여 작업 흐름을 더욱 효율적이고 간소화하는 데 강력합니다.
FAQ
여러 북마크를 한 번에 복사할 수 있나요?
예, 여러 북마크를 반복하고 동일한 방법을 사용하여 각 북마크를 복사할 수 있습니다.
북마크를 찾을 수 없으면 어떻게 되나요?
그만큼Range.Bookmarks
재산이 돌아올 것이다null
이므로 예외가 발생하지 않도록 이 사례를 처리해야 합니다.
원래 북마크의 형식을 유지할 수 있나요?
전적으로! 사용ImportFormatMode.KeepSourceFormatting
원래 형식이 유지되는지 확인합니다.
북마크된 텍스트의 크기에 제한이 있나요?
특별한 제한은 없지만 매우 큰 문서의 경우 성능이 달라질 수 있습니다.
서로 다른 Word 문서 형식 간에 텍스트를 복사할 수 있나요?
예, Aspose.Words는 다양한 Word 형식을 지원하며 이 방법은 이러한 형식에서 작동합니다.