C#/VB.NET: Hyperlinks in Word-Dokumente einfügen

2023-09-27 06:18:36 zaki zou

Ein Hyperlink in einem Word-Dokument ermöglicht es Lesern, von seiner Position zu einer anderen Stelle im Dokument, zu einer anderen Datei oder Website oder zu einer neuen E-Mail-Nachricht zu springen. Mithilfe von Hyperlinks können Leser schnell und einfach zu verwandten Informationen navigieren. Dieser Artikel zeigt, wie es geht Fügen Sie Hyperlinks zu Text oder Bildern in C# und VB.NET hinzu , indem Sie Spire.Doc for .NETverwenden.

Installieren Sie Spire.Doc for .NET

Zunächst müssen Sie die im Spire.Doc for.NET-Paket enthaltenen DLL-Dateien als Referenzen in Ihrem .NET-Projekt hinzufügen. Die DLL-Dateien können entweder über diesen Link heruntergeladen oder über NuGet installiert werden.

PM> Install-Package Spire.Doc

Fügen Sie Hyperlinks ein, wenn Sie Absätze zu Word hinzufügen

Spire.Doc bietet die Methode Paragraph.AppendHyperlink() an, um einen Weblink, einen E-Mail-Link, einen Dateilink oder einen Lesezeichen-Link zu einem Textabschnitt oder einem Bild innerhalb eines Absatzes hinzuzufügen. Im Folgenden finden Sie die detaillierten Schritte.

  • Erstellen Sie ein Document-Objekt.
  • Fügen Sie einen Abschnitt und einen Absatz hinzu.
  • Fügen Sie einen Hyperlink basierend auf Text mit der Methode Paragraph.AppendHyerplink(string link, string text, HyperlinkType type) ein.
  • Fügen Sie dem Absatz mit der Methode Paragraph.AppendPicture() ein Bild hinzu.
  • Fügen Sie mithilfe der Methode Paragraph.AppendHyerplink(string link, Spire.Doc.Fields.DocPicture picture, HyperlinkType type) einen Hyperlink basierend auf dem Bild ein.
  • Speichern Sie das Dokument mit der Methode 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);
            }
        }
    }

C#/VB.NET: Insert Hyperlinks to Word Documents

Fügen Sie Hyperlinks zu vorhandenem Text in Word hinzu

Das Hinzufügen von Hyperlinks zu vorhandenem Text in einem Dokument ist etwas komplizierter. Sie müssen zuerst die Zielzeichenfolge finden und sie dann im Absatz durch ein Hyperlink-Feld ersetzen. Im Folgenden sind die Schritte aufgeführt.

  • Erstellen Sie ein Document-Objekt.
  • Laden Sie eine Word-Datei mit der Methode Document.LoadFromFile().
  • Suchen Sie mit der Methode Document.FindAllString() nach allen Vorkommen der Zielzeichenfolge im Dokument und rufen Sie die spezifische Zeichenfolge anhand ihres Index aus der Sammlung ab.
  • Rufen Sie den eigenen Absatz der Zeichenfolge und seine Position darin ab.
  • Entfernen Sie die Zeichenfolge aus dem Absatz.
  • Erstellen Sie ein Hyperlink-Feld und fügen Sie es an der Stelle ein, an der sich die Zeichenfolge befindet.
  • Speichern Sie das Dokument mit der Methode Document.SaveToFle() in einer anderen Datei.
  • 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);
            }
        }
    }

C#/VB.NET: Insert Hyperlinks to Word Documents

Beantragen Sie eine temporäre Lizenz

Wenn Sie die Bewertungsmeldung aus den generierten Dokumenten entfernen oder die Funktionseinschränkungen beseitigen möchten, wenden Sie sich bitte an uns Fordern Sie eine 30-Tage-Testlizenz an für sich selbst.

Siehe auch

Coupon Code Copied!

Christmas Sale

Celebrate the season with exclusive savings

Save 10% Sitewide

Use Code:

View Campaign Details