Navigasi dan Tindakan
Navigasi dan Tindakan
Aspose.PDF FOSS for .NET mendukung struktur navigasi PDF — bookmark (outline), tujuan halaman, dan aksi dokumen. Ini memungkinkan Anda membuat dokumen interaktif dengan navigasi daftar isi, tautan lintas halaman, dan pemicu JavaScript.
Garis besar dokumen (penanda)
OutlineCollection menyimpan pohon bookmark dokumen. Setiap OutlineItemCollection adalah entri bookmark dengan judul dan tujuan.
using var doc = Document.Open(pdfBytes);
foreach (var item in doc.Outlines)
{
Console.WriteLine($"Bookmark: {item.Title}");
}Membuat bookmark
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");Aksi GoTo
GoToAction menavigasi ke halaman tertentu dan tipe penyesuaian dalam dokumen yang sama.
var goTo = new GoToAction(doc.Pages[3]);Aksi bernama
NamedAction memicu perintah penampil PDF yang telah ditentukan sebelumnya seperti NextPage, PrevPage, FirstPage, dan LastPage.
var nextPage = PdfAction.CreateNamed("NextPage");Aksi GoToRemote
GoToRemoteAction membuka file PDF eksternal dan menavigasi ke halaman tertentu.
var remote = new GoToRemoteAction("other.pdf", 1);Luncurkan tindakan
LaunchAction membuka file eksternal (format apa pun) dari tautan PDF.
var launch = new LaunchAction("readme.txt");Koleksi tujuan
DestinationCollection memetakan tujuan bernama ke halaman, mendukung navigasi referensi silang dalam dokumen besar.
var dest = doc.Destinations;
int pageNum = dest.GetPageNumber("section2");Tips dan Praktik Terbaik
- Bangun pohon bookmark yang mencerminkan hierarki bagian dokumen Anda untuk navigasi yang intuitif.
- Gunakan
GoToActiondenganFitTypeuntuk mengontrol bagaimana halaman target ditampilkan (fit width, fit page, dll.). - Aksi bernama bergantung pada penampil — gunakan nama standar (NextPage, PrevPage, FirstPage, LastPage).
- Untuk tautan lintas dokumen, gunakan
GoToRemoteActionalih-alih aksi URI yang mengarah ke file PDF. - Koleksi aksi pada halaman memungkinkan Anda menambahkan beberapa aksi yang dijalankan saat halaman dibuka.
Masalah Umum
| Issue | Cause | Fix |
|---|---|---|
| Bookmark tidak menavigasi | Aksi tidak diatur pada item outline | Tetapkan GoToAction ke OutlineItemCollection.Action |
| Aksi GoTo menarget halaman yang salah | Indeks halaman berbasis 0 secara internal tetapi halaman berbasis 1 | Gunakan doc.Pages[n] langsung di konstruktor GoToAction |
| Aksi bernama tidak berpengaruh | Penampil tidak mendukung aksi bernama | Gunakan hanya nama standar |
FAQ
Bagaimana cara membuat daftar isi?
Buat entri OutlineItemCollection untuk setiap bagian, masing-masing dengan
GoToAction yang menargetkan halaman pertama bagian tersebut.
Bisakah saya menyusun bookmark secara bersarang?
Ya. Tambahkan entri anak OutlineItemCollection ke bookmark induk untuk membuat kerangka hierarkis.
Jenis fit apa yang tersedia untuk tindakan GoTo?
Fit, FitH (lebar sesuai), FitV (tinggi sesuai), FitR (persegi panjang sesuai), dan FitB (kotak pembatas sesuai).
Ringkasan Referensi API
| Class / Method | Description |
|---|---|
OutlineCollection | Koleksi bookmark tingkat atas pada dokumen |
OutlineItemCollection | Entri bookmark tunggal dengan judul dan aksi |
GoToAction | Navigasi ke halaman dalam dokumen yang sama |
GoToRemoteAction | Navigasi ke halaman dalam PDF eksternal |
LaunchAction | Buka file eksternal |
NamedAction | Memicu perintah penampil yang telah ditentukan |
PdfAction.CreateGoTo | Fabrik untuk aksi GoTo |
PdfAction.CreateNamed | Fabrik untuk aksi bernama |
ActionCollection | Koleksi aksi pada halaman atau anotasi |
DestinationCollection | Registri tujuan bernama |
ActionType | Enumerasi: GoTo, URI, JavaScript, Named, Launch |