Классификация файлов PDF в .NET имеет решающее значение для автоматизации документооборотов, извлечения инсайтов и маршрутизации контента без ручного обзора. GroupDocs.Classification Cloud SDK for .NET предоставляет мощный API, который упрощает и масштабирует классификацию PDF. В этом руководстве вы изучите полный процесс классификации PDF, начиная с настройки проекта и конфигурации таксономии, до пакетной обработки, обработки OCR для отсканированных PDF и оптимизации производительности, с готовыми к запуску примерами кода.
Шаги по классификации PDF‑файлов в .NET
- Добавьте пакет NuGet — выполните
dotnet add package GroupDocs.Classification-Cloud, чтобы включить библиотеку в ваш проект. - Создайте и настройте клиент API — инициализируйте
ClassificationApiс вашим client ID и secret. - Загрузите PDF — используйте эндпоинт
UploadFileдля отправки документа в облачное хранилище. - Определите таксономию — предоставьте файл JSON, который сопоставляет категории с ключевыми словами; это направляет движок классификации.
- Вызовите метод классификации — вызовите
ClassifyDocumentс идентификатором файла, таксономией и необязательным порогом уверенности. - Обработайте результаты — пройдитесь по объектам
ClassificationResult, проверяя свойствоConfidence, чтобы отфильтровать метки с низкой уверенностью.
Для получения более подробной информации об объектах запросов см. справка API.
Классификация PDF‑файлов эффективно в .NET — полный пример кода
Следующий пример демонстрирует полную сквозную классификацию одного PDF‑файла, включая обработку ошибок и обработку результатов.
Примечание: Этот пример кода демонстрирует базовую функциональность. Прежде чем использовать его в вашем проекте, убедитесь, что обновили пути к файлам (
sample.pdf,taxonomy.json), заменили заполнители учетных данных на ваши реальныеYOUR_CLIENT_IDиYOUR_CLIENT_SECRET, и тщательно протестировали в вашей среде разработки. Если возникнут проблемы, обратитесь к официальной документации или свяжитесь с службой поддержки для получения помощи.
PDF Classification via REST API using cURL
SDK работает через REST API, поэтому вы также можете вызвать его напрямую с помощью cURL. Ниже приведены типичные шаги.
- Получить токен доступа
curl -X POST "https://api.groupdocs.cloud/v1.0/oauth2/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET","grant_type":"client_credentials"}'
- Загрузить PDF файл
curl -X POST "https://api.groupdocs.cloud/v1.0/storage/file/upload" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@sample.pdf"
- Классифицировать документ
curl -X POST "https://api.groupdocs.cloud/v1.0/classification/classify" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileId": "sample.pdf",
"taxonomy": "{\"categories\":[{\"name\":\"Invoice\",\"keywords\":[\"amount\",\"total\",\"invoice\"]}]}",
"confidenceThreshold": 0.6
}'
- Скачать результат (при необходимости) - API возвращает JSON напрямую; вы можете перенаправить его в файл.
Для получения более подробной информации см. официальную документацию API.
Установка и настройка в .NET
- Установите пакет NuGet
dotnet add package GroupDocs.Classification-Cloud - Скачайте последнюю бинарную версию (необязательно) со страницы релизов.
- Добавьте временную лицензию (только для разработки), скопировав файл лицензии и инициализировав объект
Configuration, как показано в примере кода. - Проверьте подключение — выполните простой вызов
GetSupportedFileTypes, чтобы убедиться, что клиент может достичь сервиса.
Использование GroupDocs.Classification Cloud SDK для классификации PDF в .NET
SDK абстрагирует обработку HTTP, сериализацию и сопоставление ошибок, позволяя вам сосредоточиться на бизнес-логике. Он поддерживает:
- Множественные языки - API не зависит от языка; клиент .NET следует тем же контрактам.
- Классификация, основанная на таксономии - Вы определяете категории один раз и повторно используете их в разных проектах.
- Оценка уверенности - Каждая метка содержит значение уверенности, позволяющее выполнять фильтрацию на основе пороговых значений.
Понимание этих функций помогает вам разработать надёжный рабочий процесс классификации PDF.
GroupDocs.Classification Cloud SDK: функции, важные для этой задачи
- Пакетная обработка – классифицировать тысячи PDF‑файлов в одном запросе.
- Интеграция OCR – автоматически извлекать текст из отсканированных PDF‑файлов перед классификацией.
- Поддержка пользовательской таксономии – загружайте таксономии в формате JSON или XML для соответствия вашему домену.
- Подробный журнал – получать идентификаторы запросов для устранения неполадок и аудита.
Настройка таксономии классификации и порогов уверенности
Создайте файл taxonomy.json, который описывает ваши категории:
{
"categories": [
{
"name": "Invoice",
"keywords": ["invoice", "amount", "total", "due"]
},
{
"name": "Resume",
"keywords": ["experience", "education", "skills", "profile"]
}
]
}
При построении ClassifyDocumentRequest установите свойство ConfidenceThreshold (например, 0.6), чтобы отфильтровать неопределённые предсказания. Настройте это значение в зависимости от допустимого уровня ложных срабатываний в вашем домене.
Оптимизация производительности для больших пакетов PDF
- Разбить пакет - Разделите большие коллекции на группы по 100‑200 файлов, чтобы избежать тайм‑аутов.
- Включить асинхронную обработку - Используйте конечную точку
SubmitJobи опрашивайтеGetJobStatus, чтобы освободить потоки. - Повторное использование одной таксономии - Загрузите таксономию один раз и используйте тот же JSON‑строку для всех запросов.
- Параллельные загрузки - Загружайте файлы одновременно, используя
Task.WhenAll, чтобы снизить сетевую задержку.
| Сценарий | Рекомендуемый подход |
|---|---|
| < 100 PDF | Синхронный одиночный запрос |
| 100‑1 000 PDF | Пакетные синхронные запросы |
| > 1,000 PDF | Асинхронная отправка задания + опрос |
Обработка отсканированных PDF и интеграция OCR
Отсканированные документы содержат изображения вместо выделяемого текста. Чтобы классифицировать их:
- Установите флаг
ocrвtrueв запросе. - При желании укажите
ocrLanguage(например,"en"для английского). - Сервис выполняет OCR внутренне перед применением правил таксономии.
Этот двухшаговый процесс гарантирует, что PDF‑файлы, содержащие только изображения, обрабатываются так же, как и нативные PDF‑файлы при классификации.
Устранение распространенных ошибок классификации
- 401 Unauthorized - Убедитесь, что
ClientIdиClientSecretправильные и запрос токена выполнен успешно. - 400 Bad Request (Invalid Taxonomy) - Убедитесь, что JSON таксономии правильно сформирован; отсутствие скобок вызывает эту ошибку.
- 404 Not Found (File ID) - Проверьте, что файл был успешно загружен и
fileIdсоответствует пути в хранилище. - Low confidence scores - Пересмотрите ключевые слова таксономии; добавьте более репрезентативные термины или увеличьте набор обучающих данных.
Для полного списка кодов ошибок обратитесь к справочнику API.
Лучшие практики классификации PDF в .NET
- Сохраняйте таксономию небольшой и сфокусированной - Слишком много пересекающихся ключевых слов снижают точность.
- Используйте версии файлов таксономии - Храните их в системе контроля версий, чтобы отслеживать изменения.
- Установите подходящий порог уверенности - Начните с
0.6и корректируйте его на основе результатов проверки. - Отслеживайте статус задания - Записывайте идентификаторы запросов и время отклика для анализа производительности.
- Обеспечьте безопасность учетных данных - Храните
ClientIdиClientSecretв переменных окружения или Azure Key Vault.
Заключение
Классификация PDF‑файлов в .NET становится простой с помощью GroupDocs.Classification Cloud SDK for .NET. Следуя описанным выше шагам по настройке SDK, определению чёткой таксономии, обработке OCR для отсканированных PDF и оптимизации пакетной производительности, вы сможете создать надёжный, масштабируемый сервис классификации для любого приложения с интенсивной работой с документами. Не забудьте получить правильную лицензию для использования в продакшене; вы можете начать с временной лицензии со страницы временной лицензии и перейти на полную подписку по мере роста ваших потребностей.
Часто задаваемые вопросы
В: Как классифицировать PDF‑файлы в .NET с высокой уверенностью?
A: Установите ConfidenceThreshold в запросе, чтобы отфильтровать результаты с низкой уверенностью. SDK возвращает оценку уверенности для каждой метки, позволяя сохранять только предсказания выше выбранного уровня. См. официальную документацию для получения дополнительной информации.
Q: Поддерживает ли SDK OCR для отсканированных PDF?
A: Да. Включите OCR, установив флаг ocr в запросе классификации. Сервис извлекает текст из PDF‑файлов, основанных на изображениях, перед применением таксономии, повышая точность для отсканированных документов.
Q: Какой лучший способ обработать тысячи PDF?
A: Используйте пакетную классификацию с асинхронными заданиями. Разделите большие наборы на управляемые части, отправьте их через SubmitJob и опрашивайте GetJobStatus до завершения. Такой подход избегает тайм‑аутов и максимизирует пропускную способность.
Q: Где я могу получить временную лицензию для разработки?
A: Посетите страницу temporary license page, чтобы сгенерировать 30‑дневный лицензионный ключ. Примените его в вашем Configuration перед выполнением API‑вызовов.
