NuGet을 통해 설치됨
PM> Install-Package Spire.Doc
관련된 링크들
Word 문서 내의 하이퍼링크를 통해 독자는 해당 위치에서 문서 내의 다른 위치, 다른 파일이나 웹 사이트, 새 전자 메일 메시지로 이동할 수 있습니다. 하이퍼링크를 사용하면 독자가 관련 정보를 빠르고 쉽게 탐색할 수 있습니다. 이 문서에서는 다음 방법을 보여줍니다 Spire.Doc for .NET사용하여 C# 및 VB.NET의 텍스트나 이미지에 하이퍼링크를 추가합니다.
Spire.Doc for .NET 설치
먼저 Spire.Doc for.NET 패키지에 포함된 DLL 파일을 .NET 프로젝트의 참조로 추가해야 합니다. DLL 파일은 이 링크에서 다운로드하거나 NuGet을 통해 설치할 수 있습니다.
PM> Install-Package Spire.Doc
Word에 단락을 추가할 때 하이퍼링크 삽입
Spire.Doc은 단락 내부의 텍스트나 이미지에 웹 링크, 이메일 링크, 파일 링크 또는 책갈피 링크를 추가하는 Paragraph.AppendHyperlink() 메서드를 제공합니다. 자세한 단계는 다음과 같습니다.
- 문서 개체를 만듭니다.
- 섹션과 단락을 추가합니다.
- Paragraph.AppendHyerplink(문자열 링크, 문자열 텍스트, HyperlinkType 유형) 메소드를 사용하여 텍스트 기반 하이퍼링크를 삽입합니다.
- Paragraph.AppendPicture() 메서드를 사용하여 단락에 이미지를 추가합니다.
- Paragraph.AppendHyerplink(string link, Spire.Doc.Fields.DocPicture picture, HyperlinkType type) 메소드를 이용하여 이미지를 기반으로 하이퍼링크를 삽입합니다.
- Document.SaveToFile() 메서드를 사용하여 문서를 저장합니다.
- C#
- VB.NET
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;
namespace InsertHyperlinks
{
class Program
{
static void Main(string[] args)
{
//Create a Word document
Document doc = new Document();
//Add a section
Section section = doc.AddSection();
//Add a paragraph
Paragraph paragraph = section.AddParagraph();
paragraph.AppendHyperlink("https://www-iceblue.com/", "Home Page", HyperlinkType.WebLink);
//Append line breaks
paragraph.AppendBreak(BreakType.LineBreak);
paragraph.AppendBreak(BreakType.LineBreak);
//Add an email link
paragraph.AppendHyperlink("mailto:support@e-iceblue.com", "Mail Us", HyperlinkType.EMailLink);
//Append line breaks
paragraph.AppendBreak(BreakType.LineBreak);
paragraph.AppendBreak(BreakType.LineBreak);
//Add a file link
string filePath = @"C:\Users\Administrator\Desktop\report.xlsx";
paragraph.AppendHyperlink(filePath, "Click to open the report", HyperlinkType.FileLink);
//Append line breaks
paragraph.AppendBreak(BreakType.LineBreak);
paragraph.AppendBreak(BreakType.LineBreak);
//Add another section and create a bookmark
Section section2 = doc.AddSection();
Paragraph bookmarkParagrapg = section2.AddParagraph();
bookmarkParagrapg.AppendText("Here is a bookmark");
BookmarkStart start = bookmarkParagrapg.AppendBookmarkStart("myBookmark");
bookmarkParagrapg.Items.Insert(0, start);
bookmarkParagrapg.AppendBookmarkEnd("myBookmark");
//Link to the bookmark
paragraph.AppendHyperlink("myBookmark", "Jump to a location inside this document", HyperlinkType.Bookmark);
//Append line breaks
paragraph.AppendBreak(BreakType.LineBreak);
paragraph.AppendBreak(BreakType.LineBreak);
//Add an image link
Image image = Image.FromFile(@"C:\Users\Administrator\Desktop\logo.png");
Spire.Doc.Fields.DocPicture picture = paragraph.AppendPicture(image);
paragraph.AppendHyperlink("https://docs.microsoft.com/en-us/dotnet/", picture, HyperlinkType.WebLink);
//Save to file
doc.SaveToFile("InsertHyperlinks.docx", FileFormat.Docx2013);
}
}
}

Word의 기존 텍스트에 하이퍼링크 추가
문서의 기존 텍스트에 하이퍼링크를 추가하는 것은 좀 더 복잡합니다. 먼저 대상 문자열을 찾은 다음 단락에서 하이퍼링크 필드로 바꿔야 합니다. 다음 단계를 따르세요.
- 문서 개체를 만듭니다.
- Document.LoadFromFile() 메서드를 사용하여 Word 파일을 로드합니다.
- Document.FindAllString() 메서드를 사용하여 문서에서 대상 문자열의 모든 항목을 찾고 컬렉션의 인덱스를 통해 특정 항목을 가져옵니다.
- 문자열 자체의 단락과 그 위치를 가져옵니다.
- 단락에서 문자열을 제거합니다.
- 하이퍼링크 필드를 생성하고 문자열이 있는 위치에 삽입합니다.
- Document.SaveToFle() 메서드를 사용하여 문서를 다른 파일에 저장합니다.
- C#
- VB.NET
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using Spire.Doc.Interface;
namespace AddHyperlinksToExistingText
{
class Program
{
static void Main(string[] args)
{
//Create a Document object
Document document = new Document();
//Load a Word file
document.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.docx");
//Find all the occurrences of the string ".NET Framework" in the document
TextSelection[] selections = document.FindAllString(".NET Framework", true, true);
//Get the second occurrence
TextRange range = selections[1].GetAsOneRange();
//Get its owner paragraph
Paragraph parapgraph = range.OwnerParagraph;
//Get its position in the paragraph
int index = parapgraph.Items.IndexOf(range);
//Remove it from the paragraph
parapgraph.Items.Remove(range);
//Create a hyperlink field
Spire.Doc.Fields.Field field = new Spire.Doc.Fields.Field(document);
field.Type = Spire.Doc.FieldType.FieldHyperlink;
Hyperlink hyperlink = new Hyperlink(field);
hyperlink.Type = HyperlinkType.WebLink;
hyperlink.Uri = "https://en.wikipedia.org/wiki/.NET_Framework";
parapgraph.Items.Insert(index, field);
//Insert a field mark "start" to the paragraph
IParagraphBase start = document.CreateParagraphItem(ParagraphItemType.FieldMark);
(start as FieldMark).Type = FieldMarkType.FieldSeparator;
parapgraph.Items.Insert(index + 1, start);
//Insert a text range between two field marks
ITextRange textRange = new Spire.Doc.Fields.TextRange(document);
textRange.Text = ".NET Framework";
textRange.CharacterFormat.Font = range.CharacterFormat.Font;
textRange.CharacterFormat.TextColor = System.Drawing.Color.Blue;
textRange.CharacterFormat.UnderlineStyle = UnderlineStyle.Single;
parapgraph.Items.Insert(index + 2, textRange);
//Insert a field mark "end" to the paragraph
IParagraphBase end = document.CreateParagraphItem(ParagraphItemType.FieldMark);
(end as FieldMark).Type = FieldMarkType.FieldEnd;
parapgraph.Items.Insert(index + 3, end);
//Save to file
document.SaveToFile("AddHyperlink.docx", Spire.Doc.FileFormat.Docx);
}
}
}

임시 라이센스 신청
생성된 문서에서 평가 메시지를 제거하고 싶거나, 기능 제한을 없애고 싶다면 30일 평가판 라이센스 요청 자신을 위해.