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");  

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