Navigazione e Azioni
Navigazione e Azioni
Aspose.PDF FOSS for .NET supporta le strutture di navigazione PDF — segnalibri (outline), destinazioni di pagina e azioni del documento. Queste consentono di creare documenti interattivi con navigazione dell’indice, collegamenti tra pagine e trigger JavaScript.
Struttura del documento (segnalibri)
OutlineCollection contiene l’albero dei segnalibri del documento. Ogni OutlineItemCollection è una voce di segnalibro con un titolo e una destinazione.
using var doc = Document.Open(pdfBytes);
foreach (var item in doc.Outlines)
{
Console.WriteLine($"Bookmark: {item.Title}");
}Creazione di segnalibri
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");Azioni GoTo
GoToAction naviga a una pagina specifica e al tipo di adattamento all’interno dello stesso documento.
var goTo = new GoToAction(doc.Pages[3]);Azioni nominate
NamedAction attiva i comandi predefiniti del visualizzatore PDF come NextPage, PrevPage, FirstPage e LastPage.
var nextPage = PdfAction.CreateNamed("NextPage");Azioni GoToRemote
GoToRemoteAction apre un file PDF esterno e naviga a una pagina specifica.
var remote = new GoToRemoteAction("other.pdf", 1);Avvia azioni
LaunchAction apre un file esterno (qualsiasi formato) da un collegamento PDF.
var launch = new LaunchAction("readme.txt");Raccolte di destinazione
DestinationCollection mappa le destinazioni nominate alle pagine, supportando la navigazione di riferimenti incrociati in documenti di grandi dimensioni.
var dest = doc.Destinations;
int pageNum = dest.GetPageNumber("section2");Suggerimenti e migliori pratiche
- Crea un albero di segnalibri che rifletta la gerarchia delle sezioni del tuo documento per una navigazione intuitiva.
- Usa
GoToActionconFitTypeper controllare come viene visualizzata la pagina di destinazione (adatta larghezza, adatta pagina, ecc.). - Le azioni nominate dipendono dal visualizzatore — utilizza i nomi standard (NextPage, PrevPage, FirstPage, LastPage).
- Per i collegamenti tra documenti, usa
GoToRemoteActioninvece delle azioni URI che puntano a file PDF. - Le raccolte di azioni su una pagina ti consentono di aggiungere più azioni che si attivano all’apertura della pagina.
Problemi comuni
| Problema | Causa | Risoluzione |
|---|---|---|
| Il segnalibro non naviga | Azione non impostata sull’elemento di outline | Assegna un GoToAction a OutlineItemCollection.Action |
| L’azione GoTo punta alla pagina sbagliata | L’indice della pagina è basato su 0 internamente ma le pagine sono basate su 1 | Usa doc.Pages[n] direttamente nel costruttore GoToAction |
| L’azione nominata non ha effetto | Il visualizzatore non supporta l’azione nominata | Usa solo nomi standard |
FAQ
Come creo un indice?
Crea le voci OutlineItemCollection per ogni sezione, ciascuna con un
GoToAction che punta alla prima pagina della sezione.
Posso annidare i segnalibri?
Sì. Aggiungi voci figlio OutlineItemCollection a un segnalibro genitore per creare una struttura gerarchica.
Quali tipi di adattamento sono disponibili per le azioni GoTo?
Fit, FitH (adatta larghezza), FitV (adatta altezza), FitR (adatta rettangolo) e FitB (adatta riquadro di delimitazione).
Sommario di riferimento API
| Class / Method | Description |
|---|---|
OutlineCollection | Raccolta di segnalibri di livello superiore nel documento |
OutlineItemCollection | Singola voce di segnalibro con titolo e azione |
GoToAction | Vai a una pagina all’interno dello stesso documento |
GoToRemoteAction | Vai a una pagina in un PDF esterno |
LaunchAction | Apri un file esterno |
NamedAction | Attiva un comando visualizzatore predefinito |
PdfAction.CreateGoTo | Fabbrica per azioni GoTo |
PdfAction.CreateNamed | Fabbrica per azioni nominate |
ActionCollection | Raccolta di azioni su una pagina o annotazione |
DestinationCollection | Registro delle destinazioni nominate |
ActionType | Enumerazione: GoTo, URI, JavaScript, Named, Launch |