Navigare și acțiuni
Navigare și acțiuni
Aspose.PDF FOSS pentru .NET acceptă structuri de navigare PDF — semne de carte (contururi), destinații de pagină și acțiuni de document. Acestea vă permit să creați documente interactive cu navigare prin cuprins, legături între pagini și declanșatoare JavaScript.
Structuri de document (semne de carte)
OutlineCollection conține arborele de marcaje al documentului. Fiecare OutlineItemCollection este o intrare de marcaj cu un titlu și o destinație.
using var doc = Document.Open(pdfBytes);
foreach (var item in doc.Outlines)
{
Console.WriteLine($"Bookmark: {item.Title}");
}Crearea marcajelor
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");Acțiuni GoTo
GoToAction navighează la o pagină specifică și la tipul de potrivire în același document.
var goTo = new GoToAction(doc.Pages[3]);Acțiuni denumite
NamedAction declanșează comenzile predefinite ale vizualizatorului PDF, cum ar fi NextPage, PrevPage, FirstPage și LastPage.
var nextPage = PdfAction.CreateNamed("NextPage");Acțiuni GoToRemote
GoToRemoteAction deschide un fișier PDF extern și navighează la o pagină specifică.
var remote = new GoToRemoteAction("other.pdf", 1);Lansare acțiuni
LaunchAction deschide un fișier extern (orice format) dintr-un link PDF.
var launch = new LaunchAction("readme.txt");Colecții de destinație
DestinationCollection asociază destinațiile denumite cu paginile, susținând navigarea prin referințe încrucișate în documente mari.
var dest = doc.Destinations;
int pageNum = dest.GetPageNumber("section2");Sfaturi și cele mai bune practici
- Construiți un arbore de semne de carte care să reflecte ierarhia secțiunilor documentului pentru o navigare intuitivă.
- Utilizați
GoToActioncuFitTypepentru a controla modul în care este afișată pagina țintă (potrivire la lățime, potrivire la pagină etc.). - Acțiunile denumite depind de vizualizator — folosiți nume standard (NextPage, PrevPage, FirstPage, LastPage).
- Pentru legături între documente, utilizați
GoToRemoteActionîn loc de acțiuni URI care indică fișiere PDF. - Colecțiile de acțiuni pe o pagină vă permit să adăugați multiple acțiuni care se declanșează la deschiderea paginii.
Probleme comune
| Problemă | Cauză | Soluție |
|---|---|---|
| Marcajul nu navighează | Acțiunea nu este setată pe elementul de contur | Atribuiți un GoToAction la OutlineItemCollection.Action |
| Acțiunea GoTo vizează pagina greșită | Indexul paginii este bazat pe 0 intern, dar paginile sunt bazate pe 1 | Utilizați doc.Pages[n] direct în constructorul GoToAction |
| Acțiunea denumită nu are efect | Vizualizatorul nu suportă acțiunea denumită | Utilizați doar nume standard |
Întrebări frecvente
Cum creez un cuprins?
Creează intrări OutlineItemCollection pentru fiecare secțiune, fiecare cu unGoToAction care vizează prima pagină a secțiunii.
Pot să creez marcaje imbricate?
Da. Adăugați intrări copil OutlineItemCollection la un marcaj părinte pentru a crea un contur ierarhic.
Ce tipuri de potrivire sunt disponibile pentru acțiunile GoTo?
Fit, FitH (potrivește lățimea), FitV (potrivește înălțimea), FitR (potrivește dreptunghiul), și FitB (potrivește caseta de delimitare).
Rezumatul referinței API
| Class / Method | Description |
|---|---|
OutlineCollection | Colecție de semne de carte de nivel superior în document |
OutlineItemCollection | Intrare unică de semn de carte cu titlu și acțiune |
GoToAction | Navighează la o pagină în același document |
GoToRemoteAction | Navighează la o pagină dintr-un PDF extern |
LaunchAction | Deschide un fișier extern |
NamedAction | Declanșează o comandă predefinită a vizualizatorului |
PdfAction.CreateGoTo | Fabrică pentru acțiuni GoTo |
PdfAction.CreateNamed | Fabrică pentru acțiuni numite |
ActionCollection | Colecție de acțiuni pe o pagină sau adnotare |
DestinationCollection | Registru de destinații numite |
ActionType | Enumerare: GoTo, URI, JavaScript, Named, Launch |