Điều hướng và Hành động
Điều hướng và Hành động
Aspose.PDF FOSS for .NET hỗ trợ các cấu trúc điều hướng PDF — dấu trang (đề cương), điểm đến trang và các hành động tài liệu. Những tính năng này cho phép bạn tạo tài liệu tương tác với điều hướng mục lục, liên kết chéo trang và các trình kích hoạt JavaScript.
Đề cương tài liệu (dấu trang)
OutlineCollection chứa cây dấu trang của tài liệu. MỗiOutlineItemCollection là một mục dấu trang có tiêu đề và đích đến.
using var doc = Document.Open(pdfBytes);
foreach (var item in doc.Outlines)
{
Console.WriteLine($"Bookmark: {item.Title}");
}Tạo dấu trang
using var doc = Document.Open(pdfBytes);
var bookmark = new OutlineItemCollection(doc.Outlines);
bookmark.Title = "Chapter 1";
bookmark.Action = new GoToAction(doc.Pages[1]);
doc.Outlines.Add(bookmark);
doc.Save("with-bookmarks.pdf");Hành động GoTo
GoToAction điều hướng đến một trang cụ thể và kiểu vừa khít trong cùng tài liệu.
var goTo = new GoToAction(doc.Pages[3]);Các hành động có tên
NamedAction kích hoạt các lệnh xem PDF được định trước như NextPage, PrevPage, FirstPage và LastPage.
var nextPage = PdfAction.CreateNamed("NextPage");Hành động GoToRemote
GoToRemoteAction mở một tệp PDF bên ngoài và điều hướng đến một trang cụ thể.
var remote = new GoToRemoteAction("other.pdf", 1);Khởi chạy hành động
LaunchAction mở một tệp bên ngoài (bất kỳ định dạng nào) từ liên kết PDF.
var launch = new LaunchAction("readme.txt");Các bộ sưu tập đích
DestinationCollection ánh xạ các điểm đến có tên tới các trang, hỗ trợ điều hướng tham chiếu chéo trong các tài liệu lớn.
var dest = doc.Destinations;
int pageNum = dest.GetPageNumber("section2");Mẹo và Thực hành Tốt nhất
- Xây dựng một cây dấu trang phản ánh cấu trúc phần của tài liệu của bạn để điều hướng trực quan.
- Sử dụng
GoToActioncùng vớiFitTypeđể kiểm soát cách hiển thị trang mục tiêu (vừa chiều rộng, vừa trang, v.v.). - Các hành động có tên phụ thuộc vào trình xem — hãy tuân theo các tên chuẩn (NextPage, PrevPage, FirstPage, LastPage).
- Đối với liên kết giữa các tài liệu, sử dụng
GoToRemoteActionthay vì các hành động URI trỏ tới tệp PDF. - Các bộ sưu tập hành động trên một trang cho phép bạn thêm nhiều hành động sẽ được kích hoạt khi mở trang.
Các vấn đề thường gặp
| Vấn đề | Nguyên nhân | Khắc phục |
|---|---|---|
| Dấu trang không chuyển hướng | Hành động chưa được đặt trên mục đề cương | Gán GoToAction cho OutlineItemCollection.Action |
| Hành động GoTo nhắm mục tiêu trang sai | Chỉ mục trang nội bộ bắt đầu từ 0 nhưng các trang bắt đầu từ 1 | Sử dụng doc.Pages[n] trực tiếp trong hàm khởi tạo GoToAction |
| Hành động có tên không có hiệu lực | Trình xem không hỗ trợ hành động có tên | Chỉ sử dụng các tên chuẩn |
Câu hỏi thường gặp
Làm thế nào để tạo mục lục?
Tạo các mục OutlineItemCollection cho mỗi phần, mỗi có mộtGoToAction nhắm mục tiêu vào trang đầu tiên của phần.
Tôi có thể lồng dấu trang không?
Có. Thêm các mục con OutlineItemCollection vào một dấu trang cha để tạo dàn bài phân cấp.
Các loại fit nào có sẵn cho các hành động GoTo?
Fit, FitH (vừa chiều rộng), FitV (vừa chiều cao), FitR (vừa hình chữ nhật), và FitB (vừa hộp bao).
Tóm tắt Tham chiếu API
| Class / Method | Description |
|---|---|
OutlineCollection | Bộ sưu tập dấu trang cấp cao nhất trên tài liệu |
OutlineItemCollection | Mục dấu trang đơn lẻ với tiêu đề và hành động |
GoToAction | Điều hướng tới một trang trong cùng tài liệu |
GoToRemoteAction | Điều hướng tới một trang trong PDF bên ngoài |
LaunchAction | Mở tệp bên ngoài |
NamedAction | Kích hoạt lệnh xem trước đã định nghĩa sẵn |
PdfAction.CreateGoTo | Nhà máy cho các hành động GoTo |
PdfAction.CreateNamed | Nhà máy cho các hành động có tên |
ActionCollection | Bộ sưu tập các hành động trên một trang hoặc chú thích |
DestinationCollection | Đăng ký đích đến có tên |
ActionType | Liệt kê: GoTo, URI, JavaScript, Named, Launch |