Font

Font class

Представляет объект шрифта.

public sealed class Font

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

ИмяОписание
BaseFont { get; }Получает значение BaseFont объекта шрифта PDF. Также известен как название шрифта PostScript.
DecodedFontName { get; }Иногда шрифты PDF (обычно китайские/японские/корейские шрифты) могут иметь определенное имя шрифта. Это имя является значением свойства шрифта PDF “BaseFont”, и иногда это свойство может быть представлено в шестнадцатеричной форме. Если прочитать это имя напрямую, оно может быть представлено в нечитаемом виде. Для получения удобочитаемого вида необходимо расшифровать название шрифта по правилам, специфичным для этого шрифта. Это свойство возвращает декодированное имя шрифта, поэтому используйте его для случаев, когда вы встречаете с нечитаемымFontName . Если свойствоFontName имеет удобочитаемую форму, это свойство будет таким же, как FontName , так что вы можете использовать это свойство для любых случаев, когда вам нужно получить имя шрифта в читаемом виде.
FontName { get; }Получает имя шрифтаFont объект.
FontOptions { get; }Полезные свойства для настройки поведения шрифта
IsAccessible { get; }Получает информацию о наличии (установленности) шрифта в системе.
IsEmbedded { get; set; }Получает или задает значение, указывающее, встроен ли шрифт.
IsSubset { get; set; }Получает или задает значение, указывающее, является ли шрифт подмножеством.

Методы

ИмяОписание
GetLastFontEmbeddingError()Задача этого метода - вернуть описание ошибки, если попытка встроить шрифт не удалась. Если ошибок нет, возвращает пустую строку.
MeasureString(string, float)Измеряет строку.
Save(Stream)Сохраняет шрифт в поток. Обратите внимание, что шрифт сохраняется в промежуточном формате TTF, предназначенном для использования только в преобразованной копии исходного документа. Файл шрифта не предназначен для использования вне контекста исходного документа.

Примеры

Пример демонстрирует, как выполнять поиск текста на первой странице и изменять шрифт первого вхождения поиска.

// Открыть документ
Document doc = new Document(@"D:\Tests\input.pdf");

// Создаем объект TextFragmentAbsorber для поиска всех вхождений текста "hello world"
TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world");

// Принять поглотитель для первой страницы
doc.Pages[1].Accept(absorber);

// Создаем шрифт и помечаем его для встраивания
Font font = FontRepository.FindFont("Arial");
font.IsEmbedded = true;

// Изменяем шрифт первого вхождения текста
absorber.TextFragments[1].TextState.Font = font;


// Сохранить документ
doc.Save(@"D:\Tests\output.pdf"); 

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