Aspose::Pdf::Text::TextFragment класс

TextFragment class

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

class TextFragment : public Aspose::Pdf::BaseParagraph

Методы

МетодОписание
Clone() overrideКлонировать фрагмент.
virtual CloneWithSegments()Клонировать фрагмент со всеми сегментами.
get_BaselinePosition()Возвращает позицию текста для текста, представленного объектом TextFragment. YIndent структуры Position представляет координату базовой линии фрагмента текста.
get_EndNote() constВозвращает примечание в конце абзаца (только для генерации pdf).
get_FootNote() constВозвращает сноску абзаца (только для генерации pdf).
get_Form() constВозвращает объект формы, содержащий TextFragment.
get_HorizontalAlignment() overrideВозвращает горизонтальное выравнивание фрагмента текста.
get_Page() constПолучает страницу, содержащую TextFragment.
get_Position()Получает позицию текста для текста, представленного объектом TextFragment.
get_Rectangle()Получает прямоугольник TextFragment.
get_ReplaceOptions() constПолучает параметры замены текста. Параметры определяют поведение, когда текст фрагмента заменяется на более короткий/длинный.
get_Segments() constПолучает сегменты текста для текущего TextFragment.
get_Text()Получает объект текста System::String, который представляет объект TextFragment.
get_TextEditOptions() constПолучает параметры редактирования текста. Параметры определяют специальное поведение, когда запрашиваемый символ нельзя отобразить шрифтом.
get_TextState()Получает состояние текста для текста, который представляет объект TextFragment.
get_VerticalAlignment() overrideПолучает вертикальное выравнивание текстового фрагмента.
get_WrapLinesCount() constПолучает количество строк переноса для этого абзаца (только для генерации PDF)
IsolateTextSegments(int32_t, int32_t)Получает TextSegment(ы), представляющие указанную часть текста TextFragment.
set_BaselinePosition(const System::SharedPtr<Aspose::Pdf::Text::Position>&)Возвращает позицию текста для текста, представленного объектом TextFragment. YIndent структуры Position представляет координату базовой линии фрагмента текста.
set_EndNote(const System::SharedPtr<Note>&)Устанавливает конечную сноску абзаца.(только для генерации PDF)
set_FootNote(const System::SharedPtr<Note>&)Устанавливает сноску внизу абзаца.(только для генерации PDF)
set_HorizontalAlignment(Aspose::Pdf::HorizontalAlignment) overrideУстанавливает горизонтальное выравнивание текстового фрагмента.
set_Hyperlink(System::SharedPtr<Aspose::Pdf::Hyperlink>) overrideУстанавливает гиперссылку фрагмента.
set_Position(const System::SharedPtr<Aspose::Pdf::Text::Position>&)Устанавливает позицию текста для текста, представленного объектом TextFragment.
set_Segments(const System::SharedPtr<TextSegmentCollection>&)Получает сегменты текста для текущего TextFragment.
set_Text(const System::String&)Устанавливает объект текста System::String, который представляет объект TextFragment.
set_TextEditOptions(const System::SharedPtr<Aspose::Pdf::Text::TextEditOptions>&)Устанавливает параметры редактирования текста. Параметры определяют специальное поведение, когда запрашиваемый символ нельзя отобразить шрифтом.
set_VerticalAlignment(Aspose::Pdf::VerticalAlignment) overrideУстанавливает вертикальное выравнивание текстового фрагмента.
set_WrapLinesCount(int32_t)Устанавливает количество строк переноса для этого абзаца (только для генерации PDF)
TextFragment()Инициализирует новый экземпляр объекта TextFragment.
TextFragment(const System::SharedPtr<TabStops>&)Инициализирует новый экземпляр объекта TextFragment с предопределёнными позициями TabStops.
TextFragment(const System::String&)Создаёт объект TextFragment с единственным объектом TextSegment внутри. Указывает строку текста внутри сегмента.
TextFragment(const System::String&, const System::SharedPtr<TabStops>&)Создаёт объект TextFragment с единственным объектом TextSegment внутри и предопределёнными позициями TabStops.

Примечания

В нескольких словах, объект TextFragment содержит список объектов TextSegment.

Подробно: Text PDF‑документа в Aspose::Pdf представляется двумя базовыми объектами: TextFragment и TextSegment

Различия между ними в основном завсят от контекста.

Рассмотрим следующую ситуацию. Пользователь ищет текст “hello world”, чтобы работать с ним, изменять его свойства, просматривать и т.д.

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

Физическое представление текста PDF очень сложное. Текст “hello world” может состоять из нескольких физически независимых сегментов текста.

Модель текста Aspose.Pdf по сути устанавливает, что объект TextFragment предоставляет единый набор логических операций над набором физических объектов TextSegment, представляющих запрос пользователя.

В сценарии поиска текста TextFragment является логическим представлением текста “hello world”, а коллекция объектов TextSegment представляет все физические сегменты, составляющие объект текста “hello world”.

Таким образом, TextFragment близок к логическому представлению текста. А TextSegment близок к физическому представлению текста.

Очевидно, каждый объект TextSegment может иметь свои собственные свойства шрифта, цвета и позиционирования.

TextFragment provides simple way to change text with it’s properties: set font, set font size, set font color etc. Meanwhile TextSegment objects are accessible and users are able to operate with TextSegment objects independently.

Note that changing TextFragment properties may change inner Segments collection because TextFragment is an aggregate object and it may rearrange internal segments or merge them into single segment. If your requirement is to leave the Segments collection unchanged, please change inner segments individually.

См. также