Поиск текста и рисование прямоугольника
Введение
Хотите улучшить свои навыки работы с PDF? Хотите узнать, как искать определенный текст в PDF-файлах и выделять его прямоугольником? Вы попали на идеальное руководство! Сегодня я расскажу вам, как использовать Aspose.PDF для .NET для поиска текста в PDF-документе и рисования прямоугольников вокруг него. В этой статье будет представлено пошаговое руководство, разработанное с учетом ясности и полезности, что гарантирует, что вы сможете следовать инструкциям и применять эти методы в своих проектах.
Предпосылки
Прежде чем приступить к обучению, давайте подготовим все необходимое для обеспечения бесперебойной работы:
Базовые знания .NET: для эффективного освоения этого руководства вам необходимо быть знакомым с программированием на C# и платформой .NET.
Visual Studio установлена: вам понадобится интегрированная среда разработки (IDE) для написания и тестирования кода. Visual Studio Community — отличный вариант, и он бесплатный.
Aspose.PDF для .NET: Вам необходимо установить библиотеку Aspose.PDF в вашем проекте. Вы можете скачать еездесь или рассмотритевременная лицензия для расширенных функций.
Образец PDF-документа: для этого урока вам понадобится образец PDF-файла с именем
SearchAndGetTextFromAll.pdf
хранится в каталоге вашего проекта.
Импортные пакеты
Чтобы начать, вам сначала нужно импортировать необходимые пакеты в ваш проект .NET. Выполните следующие шаги:
Открыть Visual Studio
Запустите Visual Studio и создайте новое консольное приложение или используйте существующее, в котором вы хотите реализовать функциональность PDF.
Добавьте Aspose.PDF в свой проект
- Щелкните правой кнопкой мыши по вашему проекту в обозревателе решений.
- Выберите «Управление пакетами NuGet».
- Искать
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,здесь.