Извлечение текста из PDF-файла
Contents
[
Hide
]
В этой статье мы рассмотрим детали извлечения текста из PDF-файла. Все эти функции извлечения предоставлены в одном месте, в классе PdfExtractor. Мы увидим, как использовать эти функции в нашем коде.
Класс PdfExtractor предоставляет три типа возможностей извлечения. Эти три категории - Текст, Изображения и Вложения. Для выполнения извлечения в каждой из этих трех категорий PdfExtractor предлагает различные методы, которые работают вместе, чтобы дать вам окончательный результат.
Например, для извлечения текста вы можете использовать три метода, т.е. ExtractText, GetText, HasNextPageText и GetNextPageText.
```csharp
public static void ExtractText()
{
bool WholeText = true;
// Создать объект класса PdfExtractor
PdfExtractor pdfExtractor = new PdfExtractor();
// Привязать входной PDF
pdfExtractor.BindPdf(_dataDir + "sample.pdf");
// Извлечь текст
pdfExtractor.ExtractText();
if (!WholeText)
{
pdfExtractor.GetText(_dataDir + "sample.txt");
}
else
{
// Извлечь текст в отдельные файлы
int pageNumber = 1;
while (pdfExtractor.HasNextPageText())
{
pdfExtractor.GetNextPageText($"{_dataDir}\\sample{pageNumber:D3}.txt");
pageNumber++;
}
}
}
Для извлечения режима извлечения текста используйте следующий код:
public static void ExtractTextExtractonMode()
{
bool WholeText = true;
// Создайте объект класса PdfExtractor
PdfExtractor pdfExtractor = new PdfExtractor();
// Привяжите входной PDF
pdfExtractor.BindPdf(_dataDir + "sample.pdf");
// Извлечение текста
// pdfExtractor.ExtractTextMode = 0; //чистый режим
pdfExtractor.ExtractTextMode = 1; //сырой режим
pdfExtractor.ExtractText();
if (!WholeText)
{
pdfExtractor.GetText(_dataDir + "sample.txt");
}
else
{
// Извлекайте текст в отдельные файлы
int pageNumber = 1;
while (pdfExtractor.HasNextPageText())
{
pdfExtractor.GetNextPageText($"{_dataDir}\\sample{pageNumber:D3}.txt");
pageNumber++;
}
}
}