TextSegment

TextSegment class

Представляет сегмент текста Pdf.

public sealed class TextSegment

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

ИмяОписание
TextSegment()Создает объект TextSegment.
TextSegment(string)Создает объект TextSegment.

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

ИмяОписание
BaselinePosition { get; set; }Получает текстовую позицию для текста, представленного с помощьюTextSegment object. YIndent структуры Position представляет базовую координату текстового сегмента.
Characters { get; }Получает коллекцию объектов CharInfo, представляющих информацию о символах в текстовом сегменте.
EndCharIndex { get; }Получает индекс конечного символа текущего сегмента в сегменте оператора отображения текста (Tj, TJ).
Hyperlink { get; set; }Получает или задает гиперссылку сегмента (для генератора pdf).
Position { get; set; }Получает текстовую позицию для текста, представленного с помощьюTextSegment объект.
Rectangle { get; }Получает прямоугольник TextSegment
StartCharIndex { get; }Получает индекс начального символа текущего сегмента в сегменте оператора отображения текста (Tj, TJ).
Text { get; set; }Получает или устанавливаетString текстовый объект, которыйTextSegment объект представляет.
TextEditOptions { get; set; }Получает или задает параметры редактирования текста. Параметры определяют особое поведение, когда запрошенный символ не может быть написан шрифтом.
TextState { get; set; }Получает или задает состояние текста для текста,TextSegment объект представляет.

Методы

ИмяОписание
static MyHtmlEncode(string)Кодирует строку как html.

Примечания

В двух словах,TextSegment объекты являются детьмиTextFragment object. Подробнее: Текст pdf документа вPdf представлен двумя базовыми объектами:TextFragment а такжеTextSegment Различия между ними в основном зависят от контекста. Рассмотрим следующий сценарий. Пользователь ищет текст «hello world», чтобы работать с ним, изменять его свойства, смотреть и т. д. Физически представление текста в формате PDF очень сложное. Текст “hello world” может состоять из нескольких физически независимых текстовых сегментов. Текстовая модель Aspose.Pdf в основном устанавливает, чтоTextFragment object обеспечивает единую логическую операцию над физическимTextSegment набор объектов, представляющих запрос пользователя. В сценарии текстового поискаTextFragment является логическим текстовым представлением “hello world”, иTextSegmentколлекция объектов представляет все физические сегменты, из которых создается текстовый объект «hello world». Итак,TextFragment близко к логическому текстовому представлению. ИTextSegment близко к физическому текстовому представлению. Очевидно, что каждыйTextSegment объект может иметь свой собственный шрифт, цвет, свойства позиционирования. TextFragment предоставляет простой способ изменить текст с его свойствами: установить шрифт, установить размер шрифта, установить цвет шрифта и т. д. Между темTextSegment объекты доступны, и пользователи могут работать сTextSegment объекты независимо друг от друга.

Document doc = new Document(docFile);
TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world");
doc.Pages[1].Accept(absorber);

Примеры

Пример демонстрирует, как изменить цвет текста и размер шрифта текста с помощьюTextState объектTextSegment объект.

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

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

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

// Изменяем цвет переднего плана первого текстового сегмента первого вхождения текста
absorber.TextFragments[1].Segments[1].TextState.ForegroundColor = Color.FromRgb(System.Drawing.Color.Red);
// Изменяем размер шрифта первого сегмента текста первого вхождения текста
absorber.TextFragments[1].Segments[1].TextState.FontSize = 15;

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

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