Классификация файлов PDF в .NET имеет решающее значение для автоматизации документооборотов, извлечения инсайтов и маршрутизации контента без ручного обзора. GroupDocs.Classification Cloud SDK for .NET предоставляет мощный API, который упрощает и масштабирует классификацию PDF. В этом руководстве вы изучите полный процесс классификации PDF, начиная с настройки проекта и конфигурации таксономии, до пакетной обработки, обработки OCR для отсканированных PDF и оптимизации производительности, с готовыми к запуску примерами кода.

Шаги по классификации PDF‑файлов в .NET

  1. Добавьте пакет NuGet — выполните dotnet add package GroupDocs.Classification-Cloud, чтобы включить библиотеку в ваш проект.
  2. Создайте и настройте клиент API — инициализируйте ClassificationApi с вашим client ID и secret.
  3. Загрузите PDF — используйте эндпоинт UploadFile для отправки документа в облачное хранилище.
  4. Определите таксономию — предоставьте файл JSON, который сопоставляет категории с ключевыми словами; это направляет движок классификации.
  5. Вызовите метод классификации — вызовите ClassifyDocument с идентификатором файла, таксономией и необязательным порогом уверенности.
  6. Обработайте результаты — пройдитесь по объектам 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. Ниже приведены типичные шаги.

  1. Получить токен доступа
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"}'
  1. Загрузить PDF файл
curl -X POST "https://api.groupdocs.cloud/v1.0/storage/file/upload" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -F "file=@sample.pdf"
  1. Классифицировать документ
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
         }'
  1. Скачать результат (при необходимости) - API возвращает JSON напрямую; вы можете перенаправить его в файл.

Для получения более подробной информации см. официальную документацию API.

Установка и настройка в .NET

  1. Установите пакет NuGet
    dotnet add package GroupDocs.Classification-Cloud
    
  2. Скачайте последнюю бинарную версию (необязательно) со страницы релизов.
  3. Добавьте временную лицензию (только для разработки), скопировав файл лицензии и инициализировав объект Configuration, как показано в примере кода.
  4. Проверьте подключение — выполните простой вызов 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

Отсканированные документы содержат изображения вместо выделяемого текста. Чтобы классифицировать их:

  1. Установите флаг ocr в true в запросе.
  2. При желании укажите ocrLanguage (например, "en" для английского).
  3. Сервис выполняет 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‑вызовов.

Читать дальше