PDF är ett funktionsrikt dokumentformat som stöder en rad olika element, inklusive kommentarer, media, formulär, etc. Hyperlänk är ett viktigt element som används för att navigera i PDF:en, från en PDF till en annan, till en webbsida, etc. När du genererar PDF-dokumenten programmatiskt kan du ofta behöva infoga hyperlänkar. Följaktligen kommer du i den här artikeln att lära dig hur du lägger till och uppdaterar hyperlänkar i PDF-filer i C# .NET.
- .NET API för att lägga till hyperlänkar i PDF
- Lägg till hyperlänk i en PDF
- Lägg till hyperlänk till en extern PDF
- Infoga hyperlänk till en viss sida
- Uppdatera en hyperlänk i PDF
C# .NET API för att lägga till eller uppdatera hyperlänkar i PDF
För att manipulera hyperlänkar i PDF-filer kommer vi att använda Aspose.PDF för .NET. Det är ett populärt API som låter dig skapa, bearbeta och konvertera PDF-filer från .NET-applikationer. Du kan ladda ner API:s binärer eller installera den med NuGet.
PM> Install-Package Aspose.PDF
Lägg till hyperlänk i en PDF i C#
Följande är stegen för att lägga till en hyperlänk till en PDF-fil i C#.
- Skapa en ny PDF eller ladda en befintlig med klassen Document.
- Få referens till sidan där du vill lägga till hyperlänk från samlingen Document.Pages.
- Skapa ett objekt av klassen LinkAnnotation och ställ in dess egenskaper.
- Initiera egenskapen LinkAnnotation.Action till objektet GoToURIAction som innehåller URL.
- Lägg till länk till samlingen Page.Annotations.
- Spara PDF med metoden Document.Save(String).
Följande kodexempel visar hur man lägger till en hyperlänk i PDF i C#.
// Öppna dokumentet
Document document = new Document("input.pdf");
// Få referens till sidan
var page = document.Pages[1];
// Skapa länkanteckningsobjekt
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 100, 300, 300));
// Skapa kantobjekt för LinkAnnotation
Border border = new Border(link);
// Ställ in gränsbreddsvärdet som 0
border.Width = 0;
// Ställ in gränsen för LinkAnnotation
link.Border = border;
// Ange länktypen som fjärr-URI
link.Action = new GoToURIAction("www.aspose.com");
// Lägg till länkkommentarer till anteckningssamlingen på första sidan i PDF-filen
page.Annotations.Add(link);
// Spara uppdaterat dokument
document.Save("output.pdf");
Lägg till hyperlänk till en extern PDF i C#
Du kan också navigera till en extern PDF-fil från en PDF med hjälp av en hyperlänk. Följande steg visar hur man lägger till en hyperlänk till en extern PDF-fil i C#.
- Skapa en ny PDF eller ladda en befintlig med klassen Dokument.
- Få referens till sidan där du vill lägga till hyperlänk från samlingen Document.Pages.
- Skapa ett objekt av klassen LinkAnnotation och ställ in dess egenskaper.
- Initiera egenskapen LinkAnnotation.Action till objektet GoToRemoteAction som innehåller sökvägen till extern PDF.
- Lägg till länk till samlingen Page.Annotations.
- Spara dokument med metoden Document.Save(String).
Följande kodexempel visar hur man lägger till hyperlänk till en extern PDF i C#.
// Öppna dokumentet
Document document = new Document("input.pdf");
// Få referens till sidan
var page = document.Pages[1];
// Skapa hyperlänk
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 100, 300, 300));
link.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
// Ställ in åtgärd
link.Action = new GoToRemoteAction("external.pdf", 1);
// Lägg till hyperlänk till sidan
page.Annotations.Add(link);
// Spara uppdaterat dokument
document.Save("output.pdf");
Infoga hyperlänk till en viss PDF-sida
I vissa fall måste du navigera från en sida till en annan i ett PDF-dokument. Klassen LocalHyperlink används för att navigera till den specifika sidan i en PDF. Följande är stegen för att uppnå detta.
- Skapa en ny PDF eller ladda en befintlig med klassen Document.
- Få referens till sidan där du vill lägga till hyperlänk från samlingen Document.Pages.
- Skapa en instans av TextFragment för att ställa in text i hyperlänken.
- Skapa en instans av klassen LocalHyperlink och ställ in egenskapen LocalHyperlink.TargetPageNumber till önskat sidnummer.
- Tilldela LocalHyperlink-objekt till egenskapen TextFragment.Hyperlink.
- Lägg till text på sidan med metoden Page.Paragraphs.Add(TextFragment).
- Spara PDF med metoden Document.Save(String).
Följande kodexempel visar hur man lägger till hyperlänk för att navigera till en viss sida i PDF.
// Öppna dokumentet
Document document = new Document("input.pdf");
// Få referens till sidan
var page = document.Pages[1];
// Skapa TextFragment-instans
Aspose.Pdf.Text.TextFragment text = new Aspose.Pdf.Text.TextFragment("link page number test to page 7");
// Skapa lokal hyperlänksinstans
Aspose.Pdf.LocalHyperlink link = new Aspose.Pdf.LocalHyperlink();
// Ställ in målsida för länkinstans
link.TargetPageNumber = 7;
// Ställ in TextFragment-hyperlänk
text.Hyperlink = link;
// Lägg till text i styckesamlingen på sidan
page.Paragraphs.Add(text);
// Spara uppdaterat dokument
document.Save("output.pdf");
Uppdatera en hyperlänk i PDF med C#
Du kan också hämta en hyperlänk i en PDF-fil och uppdatera dess egenskaper. Följande är stegen för att utföra denna operation.
- Ladda PDF-filen med klassen Document.
- Få referens till sidan där hyperlänken finns från samlingen Document.Pages.
- Extrahera det önskade LinkAnnotation-objektet från Page.Annotations-samlingen efter index.
- Uppdatera de nödvändiga egenskaperna och spara PDF med metoden Document.Save(String).
Följande kodexempel visar hur man uppdaterar en hyperlänk i PDF med C#.
// Öppna dokumentet
Document document = new Document("input.pdf");];
// Få den första länkanteckningen från första sidan i dokumentet
LinkAnnotation linkAnnot = (LinkAnnotation)document.Pages[1].Annotations[1];
// Ändra länkåtgärd och ange mål som webbadress
linkAnnot.Action = new GoToURIAction("www.aspose.com");
// Ändra andra egenskaper efter behov
// Spara uppdaterat dokument
document.Save("output.pdf");
Skaffa en gratis licens
Du kan få en gratis tillfällig licens för att använda Aspose.PDF för .NET utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har du lärt dig hur du lägger till olika typer av hyperlänkar i PDF-filer med C#. Dessutom har du sett hur man hämtar hyperlänkarna från befintliga PDF-filer och uppdaterar deras egenskaper programmatiskt. Dessutom kan du utforska mer om .NET PDF API med hjälp av dokumentationen. Om du skulle ha några frågor eller funderingar kan du kontakta oss via vårt forum.