Эта страница может содержать автоматически переведенный текст.

Извлечение текста, путей и изображений из PDF-документов в C# и VB.NET

Используйте библиотеку Docotic.Pdf для извлечения текста, изображений и векторных путей из PDF-документов в .NET на Windows, Linux, macOS, Android, iOS или в облачной среде.

Извлечение текста и изображений

Получение текста из PDF

Вы можете преобразовать PDF-документы в текст в .NET с помощью Docotic.Pdf. Этот пример показывает, как преобразовать PDF в форматированный текст в C#:

using BitMiracle.Docotic.Pdf;

using var pdf = new PdfDocument("your_document.pdf");
var options = new PdfTextExtractionOptions
{
    SkipInvisibleText = true,
    WithFormatting = true
};
string formattedText = pdf.GetText(options);
Console.WriteLine(formattedText);

Вы можете извлечь текст только из определенной части страницы PDF. Используйте свойство PdfTextExtractionOptions.Rectangle для этого.

Вы также можете получить подробную информацию о каждом фрагменте текста для сложного анализа. Docotic.Pdf позволяет извлекать текст PDF как есть, по словам или по символам. В этом примере показано, как извлекать текст PDF по словам в C#:

using var pdf = new PdfDocument("your_document.pdf");
PdfPage page = pdf.Pages[0];
foreach (PdfTextData data in page.GetWords())
{
    Console.WriteLine(
    $"{{\n" +
    $"  text: '{data.GetText()}',\n" +
    $"  bounds: {data.Bounds},\n" +
    $"  font name: '{data.Font.Name}',\n" +
    $"  font size: {data.FontSize},\n" +
    $"  transformation matrix: {data.TransformationMatrix},\n" +
    $"  rendering mode: '{data.RenderingMode}',\n" +
    $"  brush: {data.Brush},\n" +
    $"  pen: {data.Pen}\n" +
    $"}},"
    );
}

Прочитайте статью Извлечение текста из PDF, чтобы получить больше примеров и информации о преобразовании PDF в текст в .NET.

Получение изображений из PDF в .NET

Библиотеку можно использовать для извлечения изображений из PDF-файлов как есть или как отрисованные. Как извлечь все изображения из PDF в C#:

using BitMiracle.Docotic.Pdf;

using var pdf = new PdfDocument("your_document.pdf");
int i = 0;
foreach (PdfImage image in pdf.GetImages())
{
    string imageFile = image.Save(i.ToString());
    ++i;
}

Извлеченные изображения можно сохранить в форматах TIFF и JPEG.

Библиотека не выполняет повторное сжатие изображений при их извлечении. Вы получите изображения того же качества, что и в PDF.

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

Извлечение векторных путей из PDF

Вы можете получить информацию о векторных путях в PDF-документе с помощью метода PdfPage.GetObjects(). Ознакомьтесь с примерами Копирование объектов страницы и Извлечение объектов страницы, чтобы узнать подробнее.

Вы также можете извлекать текст в виде векторных путей с помощью перегрузки PdfPage.GetObjects(PdfObjectExtractionOptions). Эта возможность может использоваться для преобразования текста в контуры в PDF в .NET.