PdfPig: Розширений витяг тексту з PDF для .NET
Читайте та аналізуйте вміст PDF без залежностей - текст, позиції, шрифти та метадані
Що таке PdfPig?
PdfPig - це бібліотека .NET з відкритим кодом, яка спеціалізується на витягуванні вмісту з PDF-файлів без зовнішніх залежностей. На відміну від генераторів PDF, PdfPig призначений для читання існуючих документів для доступу до тексту, інформації про шрифти, позиційних даних і структури документа. Особливо корисний для видобутку даних, аналізу вмісту та обробки документів.
Ключові переваги 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 PyMuPDF Python | Розширений аналіз і вилучення PDF
- docTR API - Оптичне розпізнавання символів (OCR) у Python
- EasyOCR API – Комплексне оптичне розпізнавання символів у Python
- PaddleOCR API – Високопродуктивне оптичне розпізнавання символів
- pdfminer.six Бібліотека Python | Витягніть текст із PDF-файлів