Class TextFragmentAbsorber

Класс TextFragmentAbsorber

Представляет объект-абсорбер текстовых фрагментов. Выполняет поиск текста и предоставляет доступ к результатам поиска через TextFragments коллекцию.

public sealed class TextFragmentAbsorber : TextAbsorber

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

ИмяОписание
TextFragmentAbsorber()Инициализирует новый экземпляр TextFragmentAbsorber, который выполняет поиск всех текстовых сегментов документа или страницы.
TextFragmentAbsorber(Regex)Инициализирует новый экземпляр класса TextFragmentAbsorber для указанного объекта класса System.Text.RegularExpressions.Regex.
TextFragmentAbsorber(string)Инициализирует новый экземпляр класса TextFragmentAbsorber для указанной текстовой фразы.
TextFragmentAbsorber(TextEditOptions)Инициализирует новый экземпляр класса TextFragmentAbsorber с параметрами редактирования текста, который выполняет поиск всех текстовых сегментов документа или страницы.
TextFragmentAbsorber(Regex, TextEditOptions)Инициализирует новый экземпляр класса TextFragmentAbsorber для указанной текстовой фразы и параметров редактирования текста.
TextFragmentAbsorber(Regex, TextSearchOptions)Инициализирует новый экземпляр класса TextFragmentAbsorber для указанной текстовой фразы и параметров поиска текста.
TextFragmentAbsorber(Regex[], TextSearchOptions)Инициализирует новый экземпляр класса TextFragmentAbsorber для указанной текстовой фразы и параметров поиска текста.
TextFragmentAbsorber(string, TextEditOptions)Инициализирует новый экземпляр класса TextFragmentAbsorber для указанной текстовой фразы и параметров редактирования текста.
TextFragmentAbsorber(string, TextSearchOptions)Инициализирует новый экземпляр класса TextFragmentAbsorber для указанной текстовой фразы и параметров поиска текста.
TextFragmentAbsorber(string, TextSearchOptions, TextEditOptions)Инициализирует новый экземпляр класса TextFragmentAbsorber для указанной текстовой фразы, параметров поиска текста и параметров редактирования текста.

Свойства

ИмяОписание
Errors { get; }Список объектов TextExtractionError. Содержит информацию об ошибках, найденных во время извлечения текста. Поиск ошибок будет выполняться только если TextSearchOptions.LogTextExtractionErrors = true; И это может снизить производительность.
override ExtractionOptions { get; set; }Получает или задает параметры извлечения текста.
HasErrors { get; }Значение указывает, были ли найдены ошибки во время извлечения текста. Поиск ошибок будет выполняться только если TextSearchOptions.LogTextExtractionErrors = true; И это может снизить производительность.
Phrase { get; set; }Получает или задает фразу, которую TextFragmentAbsorber ищет в PDF-документе или на странице.
RegexResults { get; }Получает словарь поисковых вхождений, представленных классом System.Text.RegularExpressions.Regex в качестве ключа и TextFragment в качестве значения.
override Text { get; }Получает извлеченный текст, который TextAbsorber извлекает из PDF-документа или страницы.
TextEditOptions { get; set; }Получает или задает параметры редактирования текста. Параметры определяют специальное поведение, когда запрашиваемый символ не может быть записан шрифтом.
TextFragments { get; set; }Получает коллекцию поисковых вхождений, представленных объектами TextFragment.
TextReplaceOptions { get; set; }Получает или задает параметры замены текста. Параметры определяют поведение, когда текст фрагмента заменяется на более короткий/длинный.
TextSearchOptions { get; set; }Получает или задает параметры поиска. Параметры позволяют выполнять поиск с использованием регулярных выражений.

Методы

ИмяОписание
ApplyForAllFragments(float)Применяет размер шрифта ко всем текстовым фрагментам, которые были абсорбированы. Это работает быстрее, чем перебор фрагментов, если все фрагменты на странице(ах) были абсорбированы. В противном случае работает аналогично перебору.
ApplyForAllFragments(Font)Применяет шрифт ко всем текстовым фрагментам, которые были абсорбированы. Это работает быстрее, чем перебор фрагментов, если все фрагменты на странице(ах) были абсорбированы. В противном случае работает аналогично перебору.
ApplyForAllFragments(Font, float)Применяет шрифт и размер ко всем текстовым фрагментам, которые были абсорбированы. Это работает быстрее, чем перебор фрагментов, если все фрагменты на странице(ах) были абсорбированы. В противном случае работает аналогично перебору.
RemoveAllText(Document)Удаляет весь текст из документа.
RemoveAllText(Page)Удаляет весь текст с указанной страницы.
RemoveAllText(Page, Rectangle)Удаляет текст внутри указанного прямоугольника с указанной страницы.
Reset()Очищает коллекцию TextFragments этого объекта TextFragmentAbsorber.
override Visit(Document)Выполняет поиск в указанном документе.
override Visit(Page)Выполняет поиск на указанной странице.
Visit(XForm)Выполняет поиск в указанном объекте формы.
virtual Visit(XForm)Извлекает текст из указанного XForm.

Замечания

Объект TextFragmentAbsorber в основном используется в сценарии поиска текста. Когда поиск завершен, вхождения представлены объектами TextFragment, которые содержит коллекция TextFragments. Объект TextFragment предоставляет доступ к тексту поискового вхождения, свойствам текста и позволяет редактировать текст и изменять состояние текста (шрифт, размер шрифта, цвет и т.д.).

Примеры

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

// Open document
Document doc = new Document(@"D:\Tests\input.pdf");

// Find font that will be used to change document text font
Aspose.Pdf.Txt.Font font = FontRepository.FindFont("Arial");

// Create TextFragmentAbsorber object to find all "hello world" text occurrences
TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world");

// Accept the absorber for first page
doc.Pages[1].Accept(absorber);

// Change text and font of the first text occurrence
absorber.TextFragments[1].Text = "hi world";
absorber.TextFragments[1].TextState.Font = font;

// Save document
doc.Save(@"D:\Tests\output.pdf");  

См. также