BookmarksOutlineLevelCollection

BookmarksOutlineLevelCollection class

Una colección de marcadores individuales a nivel de esquema.

Para obtener más información, visite elTrabajar con marcadores artículo de documentación.

public class BookmarksOutlineLevelCollection : IEnumerable<KeyValuePair<string, int>>

Constructores

NombreDescripción
BookmarksOutlineLevelCollection()Constructor predeterminado

Propiedades

NombreDescripción
Count { get; }Obtiene el número de elementos contenidos en la colección.
Item { get; set; }Obtiene o establece un nivel de esquema de marcador por el nombre del marcador. (2 indexers)

Métodos

NombreDescripción
Add(string, int)Agrega un marcador a la colección.
Clear()Elimina todos los elementos de la colección.
Contains(string)Determina si la colección contiene un marcador con el nombre de pila.
GetEnumerator()Devuelve un objeto enumerador que se puede utilizar para iterar sobre todos los elementos de la colección.
IndexOfKey(string)Devuelve el índice de base cero del marcador especificado en la colección.
Remove(string)Elimina un marcador con el nombre especificado de la colección.
RemoveAt(int)Elimina un marcador en el índice especificado.

Observaciones

La clave es un nombre de marcador de cadena que no distingue entre mayúsculas y minúsculas. El valor es un nivel de esquema de marcador int.

El nivel de esquema del marcador puede tener un valor de 0 a 9. Especifique 0 y el marcador de Word no se mostrará en el esquema del documento. Especifique 1 y el marcador de Word se mostrará en el esquema del documento en el nivel 1; 2 para el nivel 2 y así sucesivamente.

Ejemplos

Muestra cómo establecer niveles de contorno para marcadores.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Inserta un marcador con otro marcador anidado en su interior.
builder.StartBookmark("Bookmark 1");
builder.Writeln("Text inside Bookmark 1.");

builder.StartBookmark("Bookmark 2");
builder.Writeln("Text inside Bookmark 1 and 2.");
builder.EndBookmark("Bookmark 2");

builder.Writeln("Text inside Bookmark 1.");
builder.EndBookmark("Bookmark 1");

// Inserta otro marcador.
builder.StartBookmark("Bookmark 3");
builder.Writeln("Text inside Bookmark 3.");
builder.EndBookmark("Bookmark 3");

// Al guardar en .pdf, se puede acceder a los marcadores a través de un menú desplegable y la mayoría de los lectores pueden utilizarlos como anclas.
// Los marcadores también pueden tener valores numéricos para los niveles de esquema,
// habilitando entradas de esquema de nivel inferior para ocultar entradas secundarias de nivel superior cuando se contraen en el lector.
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
BookmarksOutlineLevelCollection outlineLevels = pdfSaveOptions.OutlineOptions.BookmarksOutlineLevels;

outlineLevels.Add("Bookmark 1", 1);
outlineLevels.Add("Bookmark 2", 2);
outlineLevels.Add("Bookmark 3", 3);

Assert.AreEqual(3, outlineLevels.Count);
Assert.True(outlineLevels.Contains("Bookmark 1"));
Assert.AreEqual(1, outlineLevels[0]);
Assert.AreEqual(2, outlineLevels["Bookmark 2"]);
Assert.AreEqual(2, outlineLevels.IndexOfKey("Bookmark 3"));

// Podemos eliminar dos elementos para que solo quede la designación del nivel de esquema para "Marcador 1".
outlineLevels.RemoveAt(2);
outlineLevels.Remove("Bookmark 2");

// Hay nueve niveles de esquema. Su numeración se optimizará durante la operación de guardar.
// En este caso, los niveles "5" y "9" pasarán a ser "2" y "3".
outlineLevels.Add("Bookmark 2", 5);
outlineLevels.Add("Bookmark 3", 9);

doc.Save(ArtifactsDir + "BookmarksOutlineLevelCollection.BookmarkLevels.pdf", pdfSaveOptions);

// Al vaciar esta colección se conservarán los marcadores y se colocarán todos en el mismo nivel de esquema.
outlineLevels.Clear();

Ver también