Поиск текста и рисование прямоугольника

Введение

Хотите улучшить свои навыки работы с PDF? Хотите узнать, как искать определенный текст в PDF-файлах и выделять его прямоугольником? Вы попали на идеальное руководство! Сегодня я расскажу вам, как использовать Aspose.PDF для .NET для поиска текста в PDF-документе и рисования прямоугольников вокруг него. В этой статье будет представлено пошаговое руководство, разработанное с учетом ясности и полезности, что гарантирует, что вы сможете следовать инструкциям и применять эти методы в своих проектах.

Предпосылки

Прежде чем приступить к обучению, давайте подготовим все необходимое для обеспечения бесперебойной работы:

  1. Базовые знания .NET: для эффективного освоения этого руководства вам необходимо быть знакомым с программированием на C# и платформой .NET.

  2. Visual Studio установлена: вам понадобится интегрированная среда разработки (IDE) для написания и тестирования кода. Visual Studio Community — отличный вариант, и он бесплатный.

  3. Aspose.PDF для .NET: Вам необходимо установить библиотеку Aspose.PDF в вашем проекте. Вы можете скачать еездесь или рассмотритевременная лицензия для расширенных функций.

  4. Образец PDF-документа: для этого урока вам понадобится образец PDF-файла с именемSearchAndGetTextFromAll.pdf хранится в каталоге вашего проекта.

Импортные пакеты

Чтобы начать, вам сначала нужно импортировать необходимые пакеты в ваш проект .NET. Выполните следующие шаги:

Открыть Visual Studio

Запустите Visual Studio и создайте новое консольное приложение или используйте существующее, в котором вы хотите реализовать функциональность PDF.

Добавьте Aspose.PDF в свой проект

  1. Щелкните правой кнопкой мыши по вашему проекту в обозревателе решений.
  2. Выберите «Управление пакетами NuGet».
  3. ИскатьAspose.PDF и установите последнюю версию.

Делая это, вы закладываете основу для всех тех удивительных манипуляций с PDF-файлами, которые вам предстоит выполнить.

Импорт пространств имен

В верхней части файла программы вам нужно будет импортировать соответствующие пространства имен из библиотеки Aspose:

using System.IO;
using Aspose.Pdf;
using Aspose.Pdf.Text;
using System;
using Aspose.Pdf.Facades;

Это упрощает доступ к классам и методам в библиотеке Aspose.PDF для ваших задач.

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

Шаг 1: Укажите путь к документу

Сначала укажите путь к вашему PDF-файлу. Обязательно заменитеYOUR DOCUMENT DIRECTORY с фактическим путем, где вашSearchAndGetTextFromAll.pdf сохраняется.

string dataDir = "YOUR DOCUMENT DIRECTORY";

Шаг 2: Откройте PDF-документ.

Далее создайте экземплярDocument класс для загрузки вашего PDF-файла:

Document document = new Document(dataDir + "SearchAndGetTextFromAll.pdf");

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

Шаг 3: Создайте поглотитель текста

Теперь вам понадобится способ поиска текста в этом документе. Для этого мы используемTextFragmentAbsorber:

TextFragmentAbsorber textAbsorber = new TextFragmentAbsorber(@"[\S]+");

Регулярное выражение@"[\S]+" предназначен для сопоставления любой непробельной строки в PDF-файле.

Шаг 4: Настройте параметры текстового поиска

Далее следует настроить параметры текстового поиска:

TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textAbsorber.TextSearchOptions = textSearchOptions;

Здесь,true Параметр означает, что поиск будет чувствителен к регистру. Вы можете установить его вfalse если вам нужен поиск без учета регистра.

Шаг 5: Примите текстовый поглотитель в документе

С вашимTextFragmentAbsorber и параметры поиска готовы, пришло время извлечь текст из документа:

document.Pages.Accept(textAbsorber);

Этот метод проверяет каждую страницу PDF-файла, чтобы найти фрагменты текста, соответствующие указанному шаблону.

Шаг 6: Создайте PdfContentEditor

Чтобы рисовать фигуры на документе, вам понадобитсяPdfContentEditor:

var editor = new PdfContentEditor(document);

Этот редактор позволяет вам легко манипулировать содержимым PDF-файла и редактировать его.

Шаг 7: Перебор найденных фрагментов текста

Теперь вам нужно будет просмотреть найденные фрагменты текста и нарисовать вокруг них прямоугольники:

foreach (TextFragment textFragment in textAbsorber.TextFragments)
{
    foreach (TextSegment textSegment in textFragment.Segments)
    {
        DrawBox(editor, textFragment.Page.Number, textSegment, System.Drawing.Color.Red);
    }
}

Этот цикл проходит по каждому фрагменту текста и его сегментам, вызываяDrawBox метод рисования прямоугольника.

Шаг 8: Определите метод DrawBox

Вам необходимо определитьDrawBox метод, который будет обрабатывать логику рисования прямоугольника. Вот простая реализация:

private static void DrawBox(PdfContentEditor editor, int pageNumber, TextSegment textSegment, System.Drawing.Color color)
{
    // Рассчитайте размеры прямоугольника на основе текстового сегмента.
    float x = textSegment.Rectangle.LLX;
    float y = textSegment.Rectangle.LLY;
    float width = textSegment.Rectangle.Width;
    float height = textSegment.Rectangle.Height;

    // Нарисуйте прямоугольник, используя рассчитанные значения.
    editor.DrawRectangle(pageNumber, x, y, width, height, color, 1);
}

Этот метод определяет положение и размер прямоугольника на основе ограничивающего прямоугольника сегмента и использует редактор для его рисования.

Шаг 9: Сохраните измененный документ.

Нарисовав прямоугольники вокруг найденного текста, вы можете сохранить измененный документ:

dataDir = dataDir + "SearchTextAndDrawRectangle_out.pdf";
document.Save(dataDir);

Убедитесь, что новый файл сохранен под отдельным именем, чтобы избежать перезаписи исходного документа.

Шаг 10: Подтверждающее сообщение

Наконец, выведите на консоль подтверждающее сообщение, сообщающее об успешном завершении операции:

Console.WriteLine("\nRectangle drawn successfully on searched text.\nFile saved at " + dataDir);

И вот оно! Вы успешно создали скрипт для поиска текста в PDF-файле и выделения его прямоугольниками.

Заключение

Поздравляем! Вы только что разблокировали мощный навык, который может значительно улучшить ваши возможности по работе с PDF с помощью Aspose.PDF для .NET. Всего за несколько простых шагов вы можете искать любой текст в документе и визуально выделять его, делая ваши PDF-документы более интерактивными и управляемыми. Не стесняйтесь экспериментировать с различными шаблонами регулярных выражений и цветовыми опциями, чтобы действительно сделать этот инструмент своим!

Часто задаваемые вопросы

Что такое Aspose.PDF для .NET?

Aspose.PDF для .NET — это библиотека, которая предоставляет комплексный способ программного создания, обработки и преобразования PDF-документов.

Могу ли я использовать Aspose.PDF бесплатно?

Да, Aspose предлагает бесплатную пробную версию, которую вы можете использовать для тестирования функциональности библиотеки. Проверьте еездесь.

Какой язык программирования мне нужно использовать с Aspose.PDF для .NET?

Aspose.PDF для .NET предназначен для использования с C# и другими языками .NET.

Как мне получить помощь с Aspose.PDF?

Вы можете посетить форум поддержки Aspose для получения помощи по любой возникшей у вас проблеме или запросу. Найти поддержкуздесь.

Где можно скачать Aspose.PDF для .NET?

Вы можете загрузить библиотеку с сайта Aspose,здесь.