Thêm hoặc cập nhật siêu liên kết trong PDF bằng C# .NET

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.

Để 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

Sau đây là các bước để thêm siêu liên kết vào tệp PDF trong C#.

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");

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#.

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");

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.

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");

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.

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.

Xem thêm