Cómo añadir marcadores y esquemas en PDF

This article was translated from English: Does it need improvement?
Translated
View the article in English

Incluir un esquema PDF, también conocido como marcador, en su proyecto C# puede mejorar enormemente la usabilidad y el diseño UX. Los esquemas de PDF funcionan como una herramienta de navegación que permite a los usuarios acceder fácilmente a las páginas clave del documento, de forma similar a un índice. Al incorporar esquemas de PDF, puede ofrecer una experiencia más intuitiva y fácil de usar para su documento.



Biblioteca NuGet C# para PDF

Instalar con NuGet

Install-Package IronPdf
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Biblioteca NuGet C# para PDF

Instalar con NuGet

Install-Package IronPdf
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Comience a usar IronPDF en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer

Echa un vistazo IronPDF en Nuget para una instalación y despliegue rápidos. Con más de 8 millones de descargas, está transformando PDF con C#.

Biblioteca NuGet C# para PDF nuget.org/packages/IronPdf/
Install-Package IronPdf

Considere instalar el IronPDF DLL directamente. Descárguelo e instálelo manualmente para su proyecto o forma GAC: IronPdf.zip

Instalar manualmente en su proyecto

Descargar DLL

Añadir esquemas y marcadores Ejemplo

En Adobe Acrobat Reader, esboza(también conocidos como marcadores) se muestran en la barra lateral izquierda, lo que permite saltar cómodamente a las secciones clave del documento.

Con IronPDF, podrá importar documentos PDF y realizar diversas operaciones en los esquemas existentes, como añadir, reordenar, editar propiedades y eliminar marcadores. Esto le da un control total sobre la organización y estructura de sus archivos PDF.

Consejos
Todas las páginas indexadas siguen la indexación basada en cero.

Añadir una sola capa de marcadores

Añadir un marcador en IronPDF es un proceso sencillo. Puede utilizar el método AddBookmarkAtEnd, que requiere especificar el nombre del marcador y el índice de la página correspondiente.

:path=/static-assets/pdf/content-code-examples/how-to/bookmarks-single-layer-bookmark.cs
using IronPdf;

// Create a new PDF or edit an existing document.
PdfDocument pdf = PdfDocument.FromFile("existing.pdf");

// Add a bookmark
pdf.Bookmarks.AddBookMarkAtEnd("NameOfBookmark", 0);

// Add a sub-bookmark
pdf.Bookmarks.AddBookMarkAtEnd("NameOfSubBookmark", 1);

pdf.SaveAs("singleLayerBookmarks.pdf");
Imports IronPdf

' Create a new PDF or edit an existing document.
Private pdf As PdfDocument = PdfDocument.FromFile("existing.pdf")

' Add a bookmark
pdf.Bookmarks.AddBookMarkAtEnd("NameOfBookmark", 0)

' Add a sub-bookmark
pdf.Bookmarks.AddBookMarkAtEnd("NameOfSubBookmark", 1)

pdf.SaveAs("singleLayerBookmarks.pdf")
VB   C#

Documento de marcadores de una sola capa

Añadir varias capas de marcadores

Con IronPDF, puede añadir marcadores en una estructura de árbol, lo que resulta especialmente útil para mantener la navegabilidad en documentos PDF de gran tamaño. Esta función resulta muy útil cuando se trabaja con colecciones extensas de documentos de examen, informes de ventas o registros de recibos de varias fechas y lugares en un único documento PDF.

El método AddBookMarkAtEnd devuelve un objeto IPdfBookMark, que permite añadir marcadores hijos. Por ejemplo, puede utilizar Children.AddBookMarkAtStart("Fecha1", 0) o Children.AddBookMarkAtEnd("Fecha1", 0) para añadir marcadores hijos al marcador "Examen". El siguiente código demuestra este concepto:

:path=/static-assets/pdf/content-code-examples/how-to/bookmarks-multi-layer-bookmark.cs
using IronPdf;

// Load existing PDF document
PdfDocument pdf = PdfDocument.FromFile("examinationPaper.pdf");

// Assign IPdfBookMark object to a variable
var mainBookmark = pdf.Bookmarks.AddBookMarkAtEnd("Examination", 0);

// Add bookmark for days
var date1Bookmark = mainBookmark.Children.AddBookMarkAtStart("Date1", 1);

// Add bookmark for type of test
var paperBookmark = date1Bookmark.Children.AddBookMarkAtStart("Paper", 1);
paperBookmark.Children.AddBookMarkAtEnd("PersonA", 3);
paperBookmark.Children.AddBookMarkAtEnd("PersonB", 4);

// Add bookmark for days
var date2Bookmark = mainBookmark.Children.AddBookMarkAtEnd("Date2", 5);

// Add bookmark for type of test
var computerBookmark = date2Bookmark.Children.AddBookMarkAtStart("Computer", 5);
computerBookmark.Children.AddBookMarkAtEnd("PersonC", 6);
computerBookmark.Children.AddBookMarkAtEnd("PersonD", 7);

pdf.SaveAs("multiLayerBookmarks.pdf");
Imports IronPdf

' Load existing PDF document
Private pdf As PdfDocument = PdfDocument.FromFile("examinationPaper.pdf")

' Assign IPdfBookMark object to a variable
Private mainBookmark = pdf.Bookmarks.AddBookMarkAtEnd("Examination", 0)

' Add bookmark for days
Private date1Bookmark = mainBookmark.Children.AddBookMarkAtStart("Date1", 1)

' Add bookmark for type of test
Private paperBookmark = date1Bookmark.Children.AddBookMarkAtStart("Paper", 1)
paperBookmark.Children.AddBookMarkAtEnd("PersonA", 3)
paperBookmark.Children.AddBookMarkAtEnd("PersonB", 4)

' Add bookmark for days
Dim date2Bookmark = mainBookmark.Children.AddBookMarkAtEnd("Date2", 5)

' Add bookmark for type of test
Dim computerBookmark = date2Bookmark.Children.AddBookMarkAtStart("Computer", 5)
computerBookmark.Children.AddBookMarkAtEnd("PersonC", 6)
computerBookmark.Children.AddBookMarkAtEnd("PersonD", 7)

pdf.SaveAs("multiLayerBookmarks.pdf")
VB   C#

Documento de marcadores multicapa

Recuperar lista de favoritos

Con IronPDF, puede recuperar y ver fácilmente los marcadores de un documento PDF. Navegar por el árbol de marcadores es sencillo y proporciona un acceso fluido a las distintas secciones. Consideremos la Documento de marcadores multicapa arriba.

El marcador "Examen" tendrá una propiedad Children que apunta a los marcadores "Fecha1" y "Fecha2". El marcador "Fecha1", a su vez, tiene una propiedad MarcadorSiguiente que apunta al marcador "Fecha2". Además, el marcador "Fecha1" tiene una propiedad Hijos que contiene el marcador "Papel".

Para recuperar todos los marcadores presentes en el documento PDF abierto, puede utilizar el método GetAllBookmarks. Esto le proporcionará una lista completa de todos los marcadores, lo que le permitirá analizar y utilizar más a fondo la estructura de marcadores.

:path=/static-assets/pdf/content-code-examples/how-to/bookmarks-retrieve-bookmark.cs
using IronPdf;

// Load existing PDF document
PdfDocument pdf = PdfDocument.FromFile("multiLayerBookmarks.pdf");

// Retrieve bookmarks list
var mainBookmark = pdf.Bookmarks.GetAllBookmarks();
Imports IronPdf

' Load existing PDF document
Private pdf As PdfDocument = PdfDocument.FromFile("multiLayerBookmarks.pdf")

' Retrieve bookmarks list
Private mainBookmark = pdf.Bookmarks.GetAllBookmarks()
VB   C#

Atención
Fusionar dos documentos PDF que tienen marcadores con nombres idénticos puede provocar una alteración en la lista de marcadores.

Antes de proceder
Sólo se admite el marcador creado a partir del índice de páginas. Los marcadores creados a partir de otras partes o elementos del documento PDF tendrán el valor de índice de página -1.

Aprenda a crear tablas de contenido al generar PDF a partir de HTML en el siguiente artículo: "Cómo añadir un índice."

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.