BookmarksOutlineLevelCollection

BookmarksOutlineLevelCollection class

Коллекция отдельных уровней структуры закладок.

Чтобы узнать больше, посетитеРабота с закладками статья документации.

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

Конструкторы

ИмяОписание
BookmarksOutlineLevelCollection()Конструктор по умолчанию.

Характеристики

ИмяОписание
Count { get; }Получает количество элементов, содержащихся в коллекции.
Item { get; set; }Получает или задает уровень структуры закладки по имени закладки. (2 indexers)

Методы

ИмяОписание
Add(string, int)Добавляет закладку в коллекцию.
Clear()Удаляет все элементы из коллекции.
Contains(string)Определяет, содержит ли коллекция закладку с заданным именем.
GetEnumerator()Возвращает объект перечислителя, который можно использовать для перебора всех элементов коллекции.
IndexOfKey(string)Возвращает отсчитываемый от нуля индекс указанной закладки в коллекции.
Remove(string)Удаляет закладку с указанным именем из коллекции.
RemoveAt(int)Удаляет закладку по указанному индексу.

Примечания

Ключ — это строковое имя закладки, не учитывающее регистр. Значение — это уровень структуры закладки int.

Уровень структуры закладки может иметь значение от 0 до 9. Укажите 0, и закладка Word не будет отображаться в структуре документа. Укажите 1, и закладка Word будет отображаться в структуре документа на уровне 1; 2 для уровня 2 и так далее.

Примеры

Показывает, как установить уровни структуры для закладок.

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

// Вставляем закладку, внутри которой находится другая закладка.
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");

// Вставляем еще одну закладку.
builder.StartBookmark("Bookmark 3");
builder.Writeln("Text inside Bookmark 3.");
builder.EndBookmark("Bookmark 3");

// При сохранении в формате .pdf доступ к закладкам можно получить через раскрывающееся меню, и большинство читателей могут использовать их в качестве привязок.
// Закладки также могут иметь числовые значения для уровней структуры,
// включение записей структуры нижнего уровня для скрытия дочерних записей более высокого уровня при свертывании в программе чтения.
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"));

// Мы можем удалить два элемента, чтобы осталось только обозначение уровня структуры для «Закладки 1».
outlineLevels.RemoveAt(2);
outlineLevels.Remove("Bookmark 2");

// Существует девять уровней структуры. Их нумерация будет оптимизирована во время операции сохранения.
// В этом случае уровни «5» и «9» станут «2» и «3».
outlineLevels.Add("Bookmark 2", 5);
outlineLevels.Add("Bookmark 3", 9);

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

// Очистка этой коллекции сохранит закладки и поместит их все на один уровень структуры.
outlineLevels.Clear();

Смотрите также