Страница поиска текстовых сегментов в PDF-файле

В этом руководстве объясняется, как использовать Aspose.PDF для .NET для поиска определенных текстовых сегментов на странице PDF-файла и получения их свойств. Приведенный исходный код C# демонстрирует процесс шаг за шагом.

Предварительные условия

Прежде чем продолжить обучение, убедитесь, что у вас есть следующее:

  • Базовые знания языка программирования C#.
  • Установлена библиотека Aspose.PDF для .NET. Вы можете получить его с веб-сайта Aspose или использовать NuGet для установки в свой проект.

Шаг 1. Настройте проект

Начните с создания нового проекта C# в предпочитаемой вами интегрированной среде разработки (IDE) и добавьте ссылку на библиотеку Aspose.PDF для .NET.

Шаг 2. Импортируйте необходимые пространства имен.

Добавьте следующие директивы using в начало файла C#, чтобы импортировать необходимые пространства имен:

using Aspose.Pdf;
using Aspose.Pdf.Text;

Шаг 3. Установите путь к каталогу документов.

Задайте путь к каталогу вашего документа, используяdataDir переменная:

string dataDir = "YOUR DOCUMENT DIRECTORY";

Заменять"YOUR DOCUMENT DIRECTORY" с фактическим путем к каталогу вашего документа.

Шаг 4. Загрузите PDF-документ.

Загрузите PDF-документ, используяDocument сорт:

Document pdfDocument = new Document(dataDir + "SearchTextSegmentsPage.pdf");

Заменять"SearchTextSegmentsPage.pdf" с фактическим именем вашего PDF-файла.

Шаг 5. Создайте TextFragmentAbsorber

СоздатьTextFragmentAbsorber объект, чтобы найти все экземпляры входной поисковой фразы:

TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");

Заменять"text" с желаемой поисковой фразой.

Шаг 6. Примите поглотитель для конкретной страницы.

Примите поглотитель на нужную страницу документа:

pdfDocument.Pages[2].Accept(textFragmentAbsorber);

Заменять2 с желаемым номером страницы (индекс от 1).

Шаг 7. Получите извлеченные фрагменты текста.

Получите извлеченные текстовые сегменты, используяTextFragments собственностьTextFragmentAbsorber объект:

TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

Шаг 8. Прокрутите текстовые сегменты

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

foreach (TextFragment textFragment in textFragmentCollection)
{
	foreach (TextSegment textSegment in textFragment.Segments)
	{
		Console.WriteLine("Text: {0} ", textSegment.Text);
		Console.WriteLine("Position: {0} ", textSegment.Position);
		Console.WriteLine("XIndent: {0} ", textSegment.Position.XIndent);
		Console.WriteLine("YIndent: {0} ", textSegment.Position.YIndent);
		Console.WriteLine("Font - Name: {0}", textSegment.TextState.Font.FontName);
		Console.WriteLine("Font - IsAccessible: {0} ", textSegment.TextState.Font.IsAccessible);
		Console.WriteLine("Font - IsEmbedded: {0} ", textSegment.TextState.Font.IsEmbedded);
		Console.WriteLine("Font - IsSubset: {0} ", textSegment.TextState.Font.IsSubset);
		Console.WriteLine("Font Size: {0} ", textSegment.TextState.FontSize);
		Console.WriteLine("Foreground Color: {0} ", textSegment.TextState.ForegroundColor);
	}
}

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

Пример исходного кода для страницы поиска текстовых сегментов с использованием Aspose.PDF для .NET

// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Открыть документ
Document pdfDocument = new Document(dataDir + "SearchTextSegmentsPage.pdf");
// Создайте объект TextAbsorber, чтобы найти все экземпляры входной поисковой фразы.
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");
// Примите поглотитель для всех страниц
pdfDocument.Pages[2].Accept(textFragmentAbsorber);
// Получить извлеченные фрагменты текста
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
// Перебирать фрагменты
foreach (TextFragment textFragment in textFragmentCollection)
{
	foreach (TextSegment textSegment in textFragment.Segments)
	{
		Console.WriteLine("Text : {0} ", textSegment.Text);
		Console.WriteLine("Position : {0} ", textSegment.Position);
		Console.WriteLine("XIndent : {0} ",
		textSegment.Position.XIndent);
		Console.WriteLine("YIndent : {0} ",
		textSegment.Position.YIndent);
		Console.WriteLine("Font - Name : {0}",
		textSegment.TextState.Font.FontName);
		Console.WriteLine("Font - IsAccessible : {0} ",
		textSegment.TextState.Font.IsAccessible);
		Console.WriteLine("Font - IsEmbedded : {0} ",
		textSegment.TextState.Font.IsEmbedded);
		Console.WriteLine("Font - IsSubset : {0} ",
		textSegment.TextState.Font.IsSubset);
		Console.WriteLine("Font Size : {0} ",
		textSegment.TextState.FontSize);
		Console.WriteLine("Foreground Color : {0} ",
		textSegment.TextState.ForegroundColor);
	}
}

Заключение

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

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

Вопрос: Какова цель руководства «Поиск текстовых сегментов на странице в PDF-файле»?

Ответ: Учебное пособие «Поиск текстовых сегментов на странице в PDF-файле» представляет собой подробное руководство по использованию библиотеки Aspose.PDF для .NET для поиска определенных текстовых сегментов на определенной странице PDF-документа. Он охватывает процесс настройки проекта, загрузки PDF-документа, поиска текстовых сегментов и получения их свойств с помощью кода C#.

Вопрос: Как это руководство помогает при поиске определенных текстовых сегментов в PDF-документе?

О: В этом руководстве демонстрируется процесс поиска и извлечения определенных текстовых сегментов на определенной странице PDF-документа. Следуя предоставленным инструкциям и примерам кода, пользователи могут эффективно искать нужные сегменты текста и получать информацию об их свойствах.

Вопрос: Какие предварительные условия необходимы для изучения этого руководства?

О: Прежде чем приступить к изучению руководства, вы должны иметь базовое представление о языке программирования C#. Кроме того, вам необходимо установить библиотеку Aspose.PDF for .NET. Вы можете получить его с веб-сайта Aspose или установить в свой проект с помощью NuGet.

Вопрос: Как мне настроить свой проект для использования этого руководства?

О: Для начала создайте новый проект C# в предпочитаемой вами интегрированной среде разработки (IDE) и добавьте ссылку на библиотеку Aspose.PDF для .NET. Это позволит вам использовать возможности библиотеки для поиска и работы с PDF-документами.

Вопрос: Могу ли я использовать это руководство для поиска определенных фрагментов текста на любой странице PDF-файла?

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

Вопрос: Как мне указать текст, который я хочу найти в этом уроке?

О: Чтобы указать текст, который вы хотите найти, создайтеTextFragmentAbsorber объект и установите его параметр поиска, используяText свойство. Заменить значение по умолчанию"text" в коде руководства с желаемой поисковой фразой.

Вопрос: Как получить свойства извлеченных текстовых сегментов?

После принятияTextFragmentAbsorber для конкретной страницы PDF-файла вы можете получить извлеченные фрагменты текста, используя командуTextFragments свойство объекта-поглотителя. Это обеспечивает доступ к коллекции текстовых фрагментов, каждый из которых содержит несколько текстовых сегментов.

Вопрос: Могу ли я настроить код для выполнения дополнительных действий над каждым сегментом текста?

А: Абсолютно. Пример кода руководства предоставляет цикл для перебора извлеченных текстовых сегментов. Вы можете настроить код в этом цикле для выполнения дополнительных действий над каждым текстовым сегментом в зависимости от требований вашего проекта.

Вопрос: Как сохранить измененный PDF-документ после извлечения текстовых сегментов?

О: В этом руководстве основное внимание уделяется поиску текстовых сегментов и получению их свойств. Если вы собираетесь внести изменения в PDF-файл, вы можете обратиться к другой документации Aspose.PDF, чтобы узнать, как манипулировать и сохранять документ в соответствии с вашими конкретными потребностями.