/
afanasevn
/
PdfEncoder
Обзор
Документация
Войти
/
afanasevn
/
PdfEncoder
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/PdfEncoder.Application/Abstractions/IPdfTextExtractor.cs
41 строка
1 KB
IBS\NAfanasev
DocumentContext local functional
01 июл 2026, 15:30
01 июл 2026, 15:30
b4038c9
Код
Авторство
О чём код?
using PdfEncoder.Domain.Models; namespace PdfEncoder.Application.Abstractions; /// <summary> /// Извлечение text layer через PdfPig. /// </summary> public interface IPdfTextExtractor { /// <summary> /// Извлекает текстовые блоки и таблицы (эвристика) для указанных страниц. /// </summary> /// <param name="content">Содержимое PDF.</param> /// <param name="pageNumbers">Номера страниц (1-based).</param> /// <param name="ct">Токен отмены.</param> Task<PdfTextExtractionResult> ExtractAsync( ReadOnlyMemory<byte> content, IReadOnlyList<int> pageNumbers, CancellationToken ct); } /// <summary> /// Результат извлечения текста PdfPig. /// </summary> public sealed record PdfTextExtractionResult { /// <summary> /// Текстовые блоки с bounding box для запрошенных страниц. /// </summary> public IReadOnlyList<TextBlock> TextBlocks { get; init; } = []; /// <summary> /// Таблицы, найденные эвристикой выравнивания колонок. /// </summary> public IReadOnlyList<ExtractedTable> Tables { get; init; } = []; /// <summary> /// Поля AcroForm документа (общие для всех страниц). /// </summary> public IReadOnlyList<FormField> FormFields { get; init; } = []; }