PDF là một định dạng tài liệu giàu tính năng hỗ trợ một loạt các phần tử bao gồm chú thích, phương tiện, biểu mẫu, v.v. Siêu liên kết là một phần tử quan trọng được sử dụng để điều hướng trong PDF, từ PDF này sang PDF khác, sang một trang web, v.v. Trong khi tạo tài liệu PDF theo chương trình, bạn có thể thường xuyên phải chèn các siêu liên kết. Theo đó, trong bài viết này, bạn sẽ học cách thêm và cập nhật siêu liên kết trong tệp PDF trong C# .NET.
- .NET API để thêm siêu liên kết trong PDF
- Thêm siêu liên kết trong một tệp PDF
- Thêm siêu liên kết vào tệp PDF bên ngoài
- Chèn siêu liên kết vào một trang cụ thể
- Cập nhật siêu liên kết trong PDF
C# .NET API để thêm hoặc cập nhật siêu liên kết trong PDF
Để thao tác các siêu liên kết trong tệp PDF, chúng tôi sẽ sử dụng Aspose.PDF for .NET. Đây là một API phổ biến cho phép bạn tạo, xử lý và chuyển đổi các tệp PDF từ bên trong các ứng dụng .NET. Bạn có thể tải xuống mã nhị phân của API hoặc cài đặt nó bằng NuGet.
PM> Install-Package Aspose.PDF
Thêm siêu liên kết trong một tệp PDF trong C#
Sau đây là các bước để thêm siêu liên kết vào tệp PDF trong C#.
- Tạo tệp PDF mới hoặc tải tệp hiện có bằng lớp Tài liệu.
- Tham khảo trang mà bạn muốn thêm siêu liên kết từ bộ sưu tập Document.Pages.
- Tạo một đối tượng của lớp LinkAnnotation và thiết lập các thuộc tính của nó.
- Khởi tạo thuộc tính LinkAnnotation.Action thành đối tượng GoToURIAction có chứa URL.
- Thêm liên kết vào bộ sưu tập Page.Annotations.
- Lưu PDF bằng phương pháp Document.Save (String).
Mẫu mã sau đây cho thấy cách thêm siêu liên kết trong PDF trong C#.
// Mở tài liệu
Document document = new Document("input.pdf");
// Tham khảo trang
var page = document.Pages[1];
// Tạo đối tượng chú thích liên kết
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 100, 300, 300));
// Tạo đối tượng đường viền cho LinkAnnotation
Border border = new Border(link);
// Đặt giá trị chiều rộng đường viền là 0
border.Width = 0;
// Đặt đường viền cho LinkAnnotation
link.Border = border;
// Chỉ định loại liên kết là URI từ xa
link.Action = new GoToURIAction("www.aspose.com");
// Thêm chú thích liên kết vào bộ sưu tập chú thích của trang đầu tiên của tệp PDF
page.Annotations.Add(link);
// Lưu tài liệu cập nhật
document.Save("output.pdf");
Thêm siêu liên kết vào tệp PDF bên ngoài trong C#
Bạn cũng có thể điều hướng đến tệp PDF bên ngoài từ một tệp PDF bằng siêu liên kết. Các bước sau đây trình bày cách thêm siêu liên kết vào tệp PDF bên ngoài trong C#.
- Tạo tệp PDF mới hoặc tải tệp hiện có bằng lớp Tài liệu.
- Tham khảo trang mà bạn muốn thêm siêu liên kết từ bộ sưu tập Document.Pages.
- Tạo một đối tượng của lớp LinkAnnotation và thiết lập các thuộc tính của nó.
- Khởi tạo thuộc tính LinkAnnotation.Action thành đối tượng GoToRemoteAction chứa đường dẫn đến tệp PDF bên ngoài.
- Thêm liên kết vào bộ sưu tập Page.Annotations.
- Lưu tài liệu bằng phương thức Document.Save (String).
Mẫu mã sau đây cho thấy cách thêm siêu liên kết vào tệp PDF bên ngoài trong C#.
// Mở tài liệu
Document document = new Document("input.pdf");
// Tham khảo trang
var page = document.Pages[1];
// Tạo siêu liên kết
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 100, 300, 300));
link.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
// Đặt hành động
link.Action = new GoToRemoteAction("external.pdf", 1);
// Thêm siêu liên kết vào trang
page.Annotations.Add(link);
// Lưu tài liệu cập nhật
document.Save("output.pdf");
Chèn siêu liên kết vào một trang PDF cụ thể
Trong một số trường hợp nhất định, bạn phải điều hướng từ trang này sang trang khác trong tài liệu PDF. Lớp LocalHyperlink được sử dụng để điều hướng đến trang cụ thể trong PDF. Sau đây là các bước để đạt được điều này.
- Tạo tệp PDF mới hoặc tải tệp hiện có bằng lớp Tài liệu.
- Tham khảo trang mà bạn muốn thêm siêu liên kết từ bộ sưu tập Document.Pages.
- Tạo một phiên bản của TextFragment để đặt văn bản của siêu kết nối.
- Tạo một phiên bản của lớp LocalHyperlink và đặt thuộc tính LocalHyperlink.TargetPageNumber thành số trang mong muốn.
- Gán đối tượng LocalHyperlink cho thuộc tính TextFragment.Hyperlink.
- Thêm văn bản vào trang bằng phương pháp Page.Paragraphs.Add (TextFragment).
- Lưu PDF bằng phương pháp Document.Save (String).
Mẫu mã sau đây cho thấy cách thêm siêu liên kết để điều hướng đến một trang cụ thể trong PDF.
// Mở tài liệu
Document document = new Document("input.pdf");
// Tham khảo trang
var page = document.Pages[1];
// Tạo phiên bản TextFragment
Aspose.Pdf.Text.TextFragment text = new Aspose.Pdf.Text.TextFragment("link page number test to page 7");
// Tạo phiên bản siêu liên kết cục bộ
Aspose.Pdf.LocalHyperlink link = new Aspose.Pdf.LocalHyperlink();
// Đặt trang mục tiêu cho trường hợp liên kết
link.TargetPageNumber = 7;
// Đặt siêu liên kết TextFragment
text.Hyperlink = link;
// Thêm văn bản vào bộ sưu tập đoạn văn của Trang
page.Paragraphs.Add(text);
// Lưu tài liệu cập nhật
document.Save("output.pdf");
Cập nhật Siêu liên kết trong PDF bằng C#
Bạn cũng có thể truy xuất một siêu liên kết trong tệp PDF và cập nhật các thuộc tính của nó. Sau đây là các bước để thực hiện thao tác này.
- Tải tệp PDF bằng lớp Tài liệu.
- Tham khảo trang nơi đặt siêu kết nối từ bộ sưu tập Document.Pages.
- Trích xuất đối tượng LinkAnnotation mong muốn từ bộ sưu tập Page.Annotations theo chỉ mục.
- Cập nhật các thuộc tính cần thiết và lưu PDF bằng phương pháp Document.Save (String).
Mẫu mã sau đây cho thấy cách cập nhật siêu kết nối trong PDF bằng C#.
// Mở tài liệu
Document document = new Document("input.pdf");];
// Nhận chú thích liên kết đầu tiên từ trang đầu tiên của tài liệu
LinkAnnotation linkAnnot = (LinkAnnotation)document.Pages[1].Annotations[1];
// Thay đổi hành động liên kết và đặt mục tiêu làm địa chỉ web
linkAnnot.Action = new GoToURIAction("www.aspose.com");
// Thay đổi các thuộc tính khác theo yêu cầu
// Lưu tài liệu cập nhật
document.Save("output.pdf");
Nhận giấy phép miễn phí
Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng Aspose.PDF for .NET mà không có giới hạn đánh giá.
Sự kết luận
Trong bài viết này, bạn đã học cách thêm các loại siêu liên kết khác nhau trong tệp PDF bằng C#. Hơn nữa, bạn đã thấy cách truy xuất các siêu liên kết từ các tệp PDF hiện có và cập nhật các thuộc tính của chúng theo lập trình. Ngoài ra, bạn có thể khám phá thêm về .NET PDF API bằng cách sử dụng tài liệu. Trong trường hợp bạn có bất kỳ câu hỏi hoặc thắc mắc nào, bạn có thể liên hệ với chúng tôi qua diễn đàn của chúng tôi.