Navegación y Acciones
Navegación y Acciones
Aspose.PDF FOSS for .NET admite estructuras de navegación PDF — marcadores (contornos), destinos de página y acciones de documento. Estos le permiten crear documentos interactivos con navegación de tabla de contenido, enlaces entre páginas y disparadores de JavaScript.
Esquemas de documento (marcadores)
OutlineCollection contiene el árbol de marcadores del documento. Cada OutlineItemCollection es una entrada de marcador con un título y un destino.
using var doc = Document.Open(pdfBytes);
foreach (var item in doc.Outlines)
{
Console.WriteLine($"Bookmark: {item.Title}");
}Creando marcadores
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");Acciones GoTo
GoToAction navega a una página específica y tipo de ajuste dentro del mismo documento.
var goTo = new GoToAction(doc.Pages[3]);Acciones nombradas
NamedAction activa comandos predefinidos del visor PDF como NextPage, PrevPage, FirstPage y LastPage.
var nextPage = PdfAction.CreateNamed("NextPage");Acciones GoToRemote
GoToRemoteAction abre un archivo PDF externo y navega a una página específica.
var remote = new GoToRemoteAction("other.pdf", 1);Iniciar acciones
LaunchAction abre un archivo externo (cualquier formato) desde un enlace PDF.
var launch = new LaunchAction("readme.txt");Colecciones de destino
DestinationCollection asigna destinos nombrados a páginas, soportando la navegación de referencias cruzadas en documentos extensos.
var dest = doc.Destinations;
int pageNum = dest.GetPageNumber("section2");Consejos y mejores prácticas
- Cree un árbol de marcadores que refleje la jerarquía de secciones de su documento para una navegación intuitiva.
- Utilice
GoToActionconFitTypepara controlar cómo se muestra la página de destino (ajustar ancho, ajustar página, etc.). - Las acciones con nombre dependen del visor — manténgase con los nombres estándar (NextPage, PrevPage, FirstPage, LastPage).
- Para enlaces entre documentos, utilice
GoToRemoteActionen lugar de acciones URI que apunten a archivos PDF. - Las colecciones de acciones en una página le permiten agregar múltiples acciones que se disparan al abrir la página.
Problemas comunes
| Problema | Causa | Solución |
|---|---|---|
| El marcador no navega | Acción no establecida en el elemento del esquema | Asignar un GoToAction a OutlineItemCollection.Action |
| La acción GoTo apunta a la página incorrecta | El índice de página es 0-basado internamente pero las páginas son 1-basadas | Usar doc.Pages[n] directamente en el constructor GoToAction |
| La acción nombrada no tiene efecto | El visor no admite la acción nombrada | Usar solo nombres estándar |
Preguntas frecuentes
¿Cómo creo una tabla de contenido?
Cree OutlineItemCollection entradas para cada sección, cada una con unGoToAction que apunte a la primera página de la sección.
¿Puedo anidar marcadores?
Sí. Añade entradas OutlineItemCollection hijas a un marcador principal para crear un esquema jerárquico.
¿Qué tipos de ajuste están disponibles para las acciones GoTo?
Fit, FitH (ajustar ancho), FitV (ajustar altura), FitR (ajustar rectángulo), y FitB (ajustar cuadro delimitador).
Resumen de referencia de API
| Class / Method | Description |
|---|---|
OutlineCollection | Colección de marcadores de nivel superior en el documento |
OutlineItemCollection | Entrada única de marcador con título y acción |
GoToAction | Navegar a una página dentro del mismo documento |
GoToRemoteAction | Navegar a una página en un PDF externo |
LaunchAction | Abrir un archivo externo |
NamedAction | Activar un comando de visor predefinido |
PdfAction.CreateGoTo | Fábrica para acciones GoTo |
PdfAction.CreateNamed | Fábrica para acciones nombradas |
ActionCollection | Colección de acciones en una página o anotación |
DestinationCollection | Registro de destinos nombrados |
ActionType | Enumeración: GoTo, URI, JavaScript, Named, Launch |