Извлечение текста с помощью текстового устройства
Это руководство проведет вас через процесс извлечения текста из PDF-документа с помощью текстового устройства в Aspose.PDF для .NET. Приведенный исходный код C# демонстрирует необходимые шаги.
Требования
Прежде чем начать, убедитесь, что у вас есть следующее:
- Visual Studio или любой другой компилятор C#, установленный на вашем компьютере.
- Aspose.PDF для библиотеки .NET. Вы можете скачать его с официального сайта Aspose или использовать для установки менеджер пакетов, например NuGet.
Шаг 1. Настройте проект
- Создайте новый проект C# в предпочитаемой вами среде разработки.
- Добавьте ссылку на библиотеку Aspose.PDF для .NET.
Шаг 2. Импортируйте необходимые пространства имен.
В файл кода, из которого вы хотите извлечь текст, добавьте следующие директивы в верхней части файла:
using Aspose.Pdf;
using Aspose.Pdf.Devices;
using System.IO;
using System.Text;
Шаг 3. Установите каталог документов.
В коде найдите строку с надписьюstring dataDir = "YOUR DOCUMENT DIRECTORY";
и заменить"YOUR DOCUMENT DIRECTORY"
с путем к каталогу, в котором хранятся ваши документы.
Шаг 4. Откройте PDF-документ.
Откройте существующий PDF-документ с помощьюDocument
конструктор и передав путь к входному PDF-файлу.
Document pdfDocument = new Document(dataDir + "input.pdf");
Шаг 5. Извлеките текст с помощью текстового устройства
СоздатьStringBuilder
объект для хранения извлеченного текста. Перебирайте каждую страницу документа и используйтеTextDevice
для извлечения текста с каждой страницы.
StringBuilder builder = new StringBuilder();
string extractedText = "";
foreach(Page pdfPage in pdfDocument.Pages)
{
using (MemoryStream textStream = new MemoryStream())
{
TextDevice textDevice = new TextDevice();
TextExtractionOptions textExtOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);
textDevice.ExtractionOptions = textExtOptions;
textDevice.Process(pdfPage, textStream);
textStream. Close();
extractedText = Encoding.Unicode.GetString(textStream.ToArray());
}
builder. Append(extractedText);
}
Шаг 6: Сохраните извлеченный текст
Укажите путь к выходному файлу и сохраните извлеченный текст в текстовый файл, используя командуFile.WriteAllText
метод.
dataDir = dataDir + "input_Text_Extracted_out.txt";
File.WriteAllText(dataDir, builder.ToString());
Пример исходного кода для извлечения текста с помощью текстового устройства с использованием Aspose.PDF для .NET
// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Открыть документ
Document pdfDocument = new Document( dataDir + "input.pdf");
System.Text.StringBuilder builder = new System.Text.StringBuilder();
//Строка для хранения извлеченного текста
string extractedText = "";
foreach (Page pdfPage in pdfDocument.Pages)
{
using (MemoryStream textStream = new MemoryStream())
{
// Создать текстовое устройство
TextDevice textDevice = new TextDevice();
// Установить параметры извлечения текста — установить режим извлечения текста (Raw или Pure)
TextExtractionOptions textExtOptions = new
TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);
textDevice.ExtractionOptions = textExtOptions;
// Конвертируйте определенную страницу и сохраняйте текст в поток.
textDevice.Process(pdfPage, textStream);
// Конвертируйте определенную страницу и сохраняйте текст в поток.
textDevice.Process(pdfDocument.Pages[1], textStream);
// Закрыть поток памяти
textStream.Close();
// Получить текст из потока памяти
extractedText = Encoding.Unicode.GetString(textStream.ToArray());
}
builder.Append(extractedText);
}
dataDir = dataDir + "input_Text_Extracted_out.txt";
// Сохраните извлеченный текст в текстовый файл
File.WriteAllText(dataDir, builder.ToString());
Console.WriteLine("\nText extracted successfully using text device from page of PDF Document.\nFile saved at " + dataDir);
Заключение
Вы успешно извлекли текст из PDF-документа с помощью текстового устройства в Aspose.PDF для .NET. Извлеченный текст был сохранен в указанный выходной файл.
Часто задаваемые вопросы
Вопрос: Какова цель этого урока?
О: В этом руководстве представлены инструкции по извлечению текста из PDF-документа с использованием функции текстового устройства в Aspose.PDF для .NET. Сопровождающий исходный код C# демонстрирует необходимые шаги для решения этой задачи.
Вопрос: Какие пространства имен мне следует импортировать?
О: В файле кода, из которого вы планируете извлечь текст, включите в начало файла следующие директивы using:
using Aspose.Pdf;
using Aspose.Pdf.Devices;
using System.IO;
using System.Text;
Вопрос: Как указать каталог документа?
О: В коде найдите строку, в которой написаноstring dataDir = "YOUR DOCUMENT DIRECTORY";
и заменить"YOUR DOCUMENT DIRECTORY"
с фактическим путем к каталогу вашего документа.
Вопрос: Как открыть существующий PDF-документ?
О: На шаге 4 вы откроете существующий PDF-документ, используяDocument
конструктор и указав путь к входному PDF-файлу.
Вопрос: Как извлечь текст с помощью текстового устройства?
О: Шаг 5 предполагает созданиеStringBuilder
объект для хранения извлеченного текста. Затем вы будете перебирать каждую страницу документа и использоватьTextDevice
вместе сTextExtractionOptions
для извлечения текста с каждой страницы.
Вопрос: Как сохранить извлеченный текст в файл?
О: На шаге 6 вы укажете путь к выходному файлу и воспользуетесьFile.WriteAllText
метод сохранения извлеченного текста в текстовый файл.
Вопрос: Каков основной вывод из этого урока?
О: Следуя этому руководству, вы узнали, как использовать функцию текстового устройства в Aspose.PDF для .NET для извлечения текста из PDF-документа. Извлеченный текст сохраняется в указанном выходном файле, что позволяет вам манипулировать и использовать извлеченный контент по мере необходимости.