TextFragment

TextFragment class

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

public class TextFragment : BaseParagraph

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

Имя Описание
TextFragment() Инициализирует новый экземплярTextFragment объект.
TextFragment(string) СоздаетTextFragment объект с однимTextSegment объект внутри. Задает текстовую строку внутри сегмента.
TextFragment(TabStops) Инициализирует новый экземплярTextFragment объект с предустановленнымTabStops позиции.
TextFragment(string, TabStops) СоздаетTextFragment объект с однимTextSegment объект внутри и предопределенныйTabStops позиции.

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

Имя Описание
BaselinePosition { get; set; } Получает текстовую позицию для текста, представленного с помощьюTextFragment object. YIndent структуры Position представляет базовую координату текстового фрагмента.
EndNote { get; set; } Получает или задает примечание в конце абзаца. (только для создания PDF-файлов)
FootNote { get; set; } Получает или задает примечание к абзацу (только для создания PDF-файлов)
Form { get; } Получает объект формы, содержащий TextFragment
override HorizontalAlignment { get; set; } Получает или задает горизонтальное выравнивание фрагмента текста.
override Hyperlink { set; } Устанавливает гиперссылку фрагмента
IsFirstParagraphInColumn { get; set; } Получает или задает логическое значение, указывающее, будет ли этот абзац находиться в следующем столбце. Значение по умолчанию — false.
IsInLineParagraph { get; set; } Получает или задает встроенный абзац. Значение по умолчанию — false. (для создания pdf)
IsInNewPage { get; set; } Получает или задает логическое значение, которое заставляет этот абзац создаваться на новой странице. Значение по умолчанию — false.
IsKeptWithNext { get; set; } Получает или задает логическое значение, указывающее, остается ли текущий абзац на той же странице вместе со следующим абзацем. Значение по умолчанию — false. (для создания PDF)
Margin { get; set; } Получает или задает внешнее поле для абзаца (для создания PDF-файла)
Page { get; } Получает страницу, содержащую TextFragment
Position { get; set; } Получает или задает позицию текста для текста, представленногоTextFragment объект.
Rectangle { get; } Получает прямоугольник TextFragment
ReplaceOptions { get; } Получает параметры замены текста. Параметры определяют поведение при замене текста фрагмента на более короткий/длинный.
Segments { get; set; } Получает текстовые сегменты для текущегоTextFragment .
Text { get; set; } Получает или устанавливаетString текстовый объект, которыйTextFragment объект представляет.
TextState { get; } Получает или задает состояние текста для текста,TextFragment объект представляет.
override VerticalAlignment { get; set; } Получает или задает вертикальное выравнивание текстового фрагмента.
WrapLinesCount { get; set; } Получает или задает количество строк переноса для этого абзаца (только для создания PDF)
ZIndex { get; set; } Получает или задает значение int, указывающее Z-порядок графика. График с большим ZIndex будет размещен над графиком с меньшим ZIndex. ZIndex может быть отрицательным. График с отрицательным ZIndex будет размещен за текстом на странице.

Методы

Имя Описание
override Clone() Клонировать фрагмент.
virtual CloneWithSegments() Клонировать фрагмент со всеми сегментами.
IsolateTextSegments(int, int) получаетTextSegment (s) представляющие указанную частьTextFragment текст.

Примечания

В двух словах,TextFragment объект содержит списокTextSegment objects. Подробнее: Текст 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 объекты независимо друг от друга. Обратите внимание, что изменение свойств TextFragment может изменить внутреннийSegments потому что TextFragment является совокупным объектом и может переупорядочивать внутренние сегменты или объединять их в один сегмент. Если вам нужно оставитьSegmentsКоллекция без изменений, пожалуйста, меняйте внутренние сегменты по отдельности.

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

Примеры

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

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

// Находим шрифт, который будет использоваться для изменения шрифта текста документа
Aspose.Pdf.Txt.Font font = FontRepository.FindFont("Arial");

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

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

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

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

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