PdfPig: Продвинутое извлечение текста из PDF для .NET
Чтение и анализ PDF-контента без зависимостей - текст, позиции, шрифты и метаданные
Что такое PdfPig?
PdfPig — это библиотека .NET с открытым исходным кодом, предназначенная для извлечения содержимого из PDF-файлов без внешних зависимостей. В отличие от генераторов PDF, PdfPig специализируется на чтении существующих документов для доступа к тексту, информации о шрифтах, позиционным данным и структуре документа. Особенно полезна для анализа данных, обработки контента и документных pipelines.
Ключевые преимущества PdfPig:
- Нет зависимостей: Чистая реализация на C#
- Низкоуровневый доступ: Точное позиционирование текста и метрики шрифтов
- Эффективность памяти: Работа с большими документами с минимальными накладными расходами
- Готовность к OCR: Извлечение текста с ограничивающими рамками для анализа
- Лицензия MIT: Бесплатно для коммерческого использования
Идеально подходит для анализа документов, извлечения текста и обработки PDF-контента.
Почему стоит выбрать PdfPig?
- Точность: Корректная обработка сложных PDF-макетов
- Производительность: Быстрее аналогичных .NET-библиотек
- Прозрачность: Доступ к сырым PDF-структурам при необходимости
- Активная разработка: Регулярные обновления с 2018 года
- Кросс-платформенность: Работает на .NET Standard 2.0+
Установка
PdfPig доступен через NuGet для простой интеграции:
Package Manager Console
Install-Package PdfPig
.NET CLI
dotnet add package PdfPig
Системные требования: Среда выполнения, совместимая с .NET Standard 2.0
Примеры кода
Практические примеры возможностей PdfPig:
Пример 1: Базовое извлечение текста
Этот пример демонстрирует, как открыть PDF-документ и извлечь весь текст с сохранением порядка чтения. PdfPig предоставляет доступ к каждому символу с его точной позицией в документе.
Результат включает:
- Исходный текст в порядке чтения
- Номера страниц для каждого текстового сегмента
- Базовую информацию о шрифтах
Пример 2: Продвинутый позиционный анализ
PdfPig превосходно предоставляет точные позиционные данные для текстовых элементов. Этот пример показывает извлечение слов с их ограничивающими рамками.
Пример 3: Извлечение шрифтов и метаданных
Помимо текстового содержимого, PdfPig предоставляет доступ к метаданным документа и детальной информации о шрифтах.
Продвинутые возможности
PdfPig поддерживает профессиональный PDF-анализ:
- Извлечение изображений: Доступ к встроенным изображениям:
Извлечение изображений
using var document = PdfDocument.Open("файл.pdf"); foreach (var page in document.GetPages()) { foreach (var image in page.GetImages()) { var bytes = image.RawBytes; // Обработка данных изображения } }
- Навигация по закладкам: Доступ к структуре документа:
Закладки
var bookmarks = document.GetBookmarks(); foreach (var bookmark in bookmarks) { Console.WriteLine($"{bookmark.Title} - Страница {bookmark.PageNumber}"); }
- Зашифрованные PDF: Работа с защищенными файлами:
Зашифрованный PDF
var options = new ParsingOptions { Password = "secure123" }; using var doc = PdfDocument.Open("зашифрованный.pdf", options);
PdfPig vs PdfSharp
5 ключевых различий между PdfPig и PDFsharp:
- Основная функция: PdfPig специализируется на чтении/извлечении текста и метаданных. PDFsharp ориентирован на создание/редактирование PDF
- Текст vs графика: PdfPig извлекает текст с пиксельной точностью. PDFsharp оптимизирован для рисования текста/форм
- Доступ к документу: PdfPig анализирует существующие PDF, PDFsharp может изменять страницы
- Продвинутые функции: PdfPig раскрывает детали шрифтов и структуру, PDFsharp поддерживает стандарты PDF/A
- Сценарии использования: PdfPig для анализа данных, PDFsharp для генерации отчетов
Заключение
PdfPig предоставляет непревзойденный доступ к PDF-контенту для .NET-разработчиков. Идеально для:
- Извлечения данных: Анализ содержимого отчетов
- Анализа документов: Понимание структуры PDF
- Доступности: Конвертация PDF-контента в другие форматы
- Предварительной обработки: Подготовка документов для OCR или ML
Благодаря точному извлечению и низкому потреблению памяти, PdfPig — лучший выбор для анализа PDF в .NET.
Похожие Продукты
- API spaCy – Промышленно-уровневая обработка естественного языка
- docTR API - Оптическое распознавание символов (OCR) на Python
- EasyOCR API – Полноценное оптическое распознавание символов на Python
- PaddleOCR API – Высокопроизводительное оптическое распознавание символов
- PyMuPDF Python API | Расширенный анализ и извлечение PDF-файлов