PDF to bogaty w funkcje format dokumentu, który obsługuje szereg elementów, w tym adnotacje, multimedia, formularze itp. Hiperłącze to ważny element używany do nawigacji w pliku PDF, z jednego pliku PDF do drugiego, do strony internetowej itp. Podczas generowania dokumentów PDF w sposób programowy często może zaistnieć potrzeba wstawienia hiperłączy. W związku z tym w tym artykule dowiesz się, jak dodawać i aktualizować hiperłącza w plikach PDF w języku C# .NET.
- .NET API do dodawania hiperłączy w PDF
- Dodaj hiperłącze w pliku PDF
- Dodaj hiperłącze do zewnętrznego pliku PDF
- Wstaw hiperłącze do określonej strony
- Zaktualizuj hiperłącze w pliku PDF
C# .NET API do dodawania lub aktualizowania hiperłączy w formacie PDF
Do manipulowania hiperłączami w plikach PDF użyjemy Aspose.PDF for .NET. Jest to popularny interfejs API, który umożliwia tworzenie, przetwarzanie i konwertowanie plików PDF z poziomu aplikacji .NET. Możesz pobrać pliki binarne API lub zainstalować je za pomocą NuGet.
PM> Install-Package Aspose.PDF
Dodaj hiperłącze w pliku PDF w C#
Poniżej przedstawiono kroki dodawania hiperłącza do pliku PDF w języku C#.
- Utwórz nowy plik PDF lub załaduj istniejący, używając klasy Document.
- Pobierz referencję strony, na której chcesz dodać hiperłącze z kolekcji Document.Pages.
- Utwórz obiekt klasy LinkAnnotation i ustaw jego właściwości.
- Zainicjuj właściwość LinkAnnotation.Action na obiekt GoToURIAction zawierający adres URL.
- Dodaj link do kolekcji Page.Annotations.
- Zapisz plik PDF przy użyciu metody Document.Save(String).
Poniższy przykładowy kod pokazuje, jak dodać hiperłącze w pliku PDF w języku C#.
// Otwórz dokument
Document document = new Document("input.pdf");
// Pobierz referencję strony
var page = document.Pages[1];
// Utwórz obiekt adnotacji Link
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 100, 300, 300));
// Utwórz obiekt obramowania dla LinkAnnotation
Border border = new Border(link);
// Ustaw wartość szerokości obramowania na 0
border.Width = 0;
// Ustaw obramowanie LinkAnnotation
link.Border = border;
// Określ typ łącza jako zdalny identyfikator URI
link.Action = new GoToURIAction("www.aspose.com");
// Dodaj adnotację linku do zbioru adnotacji pierwszej strony pliku PDF
page.Annotations.Add(link);
// Zapisz zaktualizowany dokument
document.Save("output.pdf");
Dodaj hiperłącze do zewnętrznego pliku PDF w C#
Możesz także przejść do zewnętrznego pliku PDF z jednego pliku PDF za pomocą hiperłącza. Poniższe kroki pokazują, jak dodać hiperłącze do zewnętrznego pliku PDF w języku C#.
- Utwórz nowy plik PDF lub załaduj istniejący, używając klasy Document.
- Pobierz odniesienie do strony, na której chcesz dodać hiperłącze z kolekcji Document.Pages.
- Utwórz obiekt klasy LinkAnnotation i ustaw jego właściwości.
- Zainicjuj właściwość LinkAnnotation.Action na obiekt GoToRemoteAction zawierający ścieżkę do zewnętrznego pliku PDF.
- Dodaj link do kolekcji Page.Annotations.
- Zapisz dokument metodą Document.Save(String).
Poniższy przykładowy kod pokazuje, jak dodać hiperłącze do zewnętrznego pliku PDF w języku C#.
// Otwórz dokument
Document document = new Document("input.pdf");
// Pobierz referencję strony
var page = document.Pages[1];
// Utwórz hiperłącze
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 100, 300, 300));
link.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
// Ustaw działanie
link.Action = new GoToRemoteAction("external.pdf", 1);
// Dodaj hiperłącze do strony
page.Annotations.Add(link);
// Zapisz zaktualizowany dokument
document.Save("output.pdf");
Wstaw hiperłącze do określonej strony PDF
W niektórych przypadkach musisz przejść z jednej strony na drugą w dokumencie PDF. Klasa LocalHyperlink służy do nawigowania do określonej strony w pliku PDF. Poniżej przedstawiono kroki, aby to osiągnąć.
- Utwórz nowy plik PDF lub załaduj istniejący, używając klasy Document.
- Pobierz odniesienie do strony, na której chcesz dodać hiperłącze z kolekcji Document.Pages.
- Utwórz instancję TextFragment, aby ustawić tekst hiperłącza.
- Utwórz instancję klasy LocalHyperlink i ustaw właściwość LocalHyperlink.TargetPageNumber na żądany numer strony.
- Przypisz obiekt LocalHyperlink do właściwości TextFragment.Hyperlink.
- Dodaj tekst na stronę metodą Page.Paragraphs.Add(TextFragment).
- Zapisz plik PDF przy użyciu metody Document.Save(String).
Poniższy przykładowy kod pokazuje, jak dodać hiperlink, aby przejść do określonej strony w formacie PDF.
// Otwórz dokument
Document document = new Document("input.pdf");
// Pobierz referencję strony
var page = document.Pages[1];
// Utwórz instancję TextFragment
Aspose.Pdf.Text.TextFragment text = new Aspose.Pdf.Text.TextFragment("link page number test to page 7");
// Utwórz lokalną instancję hiperłącza
Aspose.Pdf.LocalHyperlink link = new Aspose.Pdf.LocalHyperlink();
// Ustaw stronę docelową dla wystąpienia łącza
link.TargetPageNumber = 7;
// Ustaw hiperłącze TextFragment
text.Hyperlink = link;
// Dodaj tekst do kolekcji akapitów strony
page.Paragraphs.Add(text);
// Zapisz zaktualizowany dokument
document.Save("output.pdf");
Zaktualizuj hiperłącze w pliku PDF za pomocą C#
Można również pobrać hiperłącze z pliku PDF i zaktualizować jego właściwości. Poniżej przedstawiono kroki, aby wykonać tę operację.
- Załaduj plik PDF przy użyciu klasy Document.
- Pobierz odniesienie do strony, na której znajduje się hiperłącze z kolekcji Document.Pages.
- Wyodrębnij żądany obiekt LinkAnnotation z kolekcji Page.Annotations według indeksu.
- Zaktualizuj wymagane właściwości i zapisz plik PDF przy użyciu metody Document.Save(String).
Poniższy przykładowy kod pokazuje, jak zaktualizować hiperłącze w pliku PDF przy użyciu języka C#.
// Otwórz dokument
Document document = new Document("input.pdf");];
// Uzyskaj adnotację pierwszego łącza z pierwszej strony dokumentu
LinkAnnotation linkAnnot = (LinkAnnotation)document.Pages[1].Annotations[1];
// Zmień działanie łącza i ustaw cel jako adres internetowy
linkAnnot.Action = new GoToURIAction("www.aspose.com");
// W razie potrzeby zmień inne właściwości
// Zapisz zaktualizowany dokument
document.Save("output.pdf");
Uzyskaj bezpłatną licencję
Możesz uzyskać bezpłatną tymczasową licencję, aby używać Aspose.PDF for .NET bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule nauczyłeś się, jak dodawać różne typy hiperłączy w plikach PDF przy użyciu języka C#. Ponadto widziałeś, jak pobierać hiperłącza z istniejących plików PDF i programowo aktualizować ich właściwości. Ponadto możesz dowiedzieć się więcej o interfejsie API .NET PDF, korzystając z dokumentacji. W przypadku jakichkolwiek pytań lub wątpliwości możesz skontaktować się z nami za pośrednictwem naszego forum.