دستهبندی PDF در .NET برای خودکارسازی جریانهای کاری اسناد، استخراج بینشها و مسیردهی محتوا بدون نیاز به بررسی دستی ضروری است. GroupDocs.Classification Cloud SDK for .NET یک API قدرتمند فراهم میکند که دستهبندی PDF را آسان و مقیاسپذیر میسازد. در این آموزش، شما یک جریان کامل دستهبندی PDF را از تنظیم پروژه و پیکربندی طبقهبندی تا پردازش دستهای، مدیریت OCR برای PDFهای اسکنشده و بهینهسازی عملکرد، همراه با مثالهای کد آماده‑به‑اجرا، یاد خواهید گرفت.
مراحل طبقهبندی فایلهای PDF در .NET
- افزودن بسته NuGet - دستور
dotnet add package GroupDocs.Classification-Cloudرا اجرا کنید تا کتابخانه به پروژه شما اضافه شود. - ایجاد و پیکربندی کلاینت API -
ClassificationApiرا با شناسه کلاینت و رمز عبور خود مقداردهی اولیه کنید. - بارگذاری PDF - از نقطه انتهایی
UploadFileبرای ارسال سند به ذخیرهسازی ابری استفاده کنید. - تعریف طبقهبندی - یک فایل JSON ارائه دهید که دستهها را به کلمات کلیدی مرتبط میکند؛ این کار موتور طبقهبندی را راهنمایی میکند.
- فراخوانی متد طبقهبندی -
ClassifyDocumentرا با شناسه فایل، طبقهبندی و آستانه اختیاری اطمینان صدا بزنید. - پردازش نتایج - بر روی اشیای
ClassificationResultتکرار کنید و ویژگیConfidenceرا بررسی کنید تا برچسبهای با اطمینان پایین فیلتر شوند.
برای جزئیات بیشتر در مورد اشیای درخواست، به مرجع API مراجعه کنید.
دستهبندی مؤثر فایلهای PDF در .NET - مثال کامل کد
مثال زیر یک دستهبندی کامل از ابتدا تا انتهای یک فایل PDF واحد را نشان میدهد، شامل مدیریت خطا و پردازش نتایج.
توجه: این مثال کد عملکرد اصلی را نشان میدهد. پیش از استفاده از آن در پروژه خود، اطمینان حاصل کنید که مسیرهای فایل (
sample.pdf،taxonomy.json) را بهروز کنید، اعتبارهای جایگزین را باYOUR_CLIENT_IDوYOUR_CLIENT_SECRETواقعی خود جایگزین کنید و بهطور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی مراجعه کنید یا برای دریافت کمک به تیم پشتیبانی مراجعه کنید.
طبقهبندی PDF از طریق REST API با استفاده از 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، سریالسازی و نگاشت خطاها را انتزاع میکند و به شما امکان میدهد بر منطق کسبوکار تمرکز کنید. این موارد را پشتیبانی میکند:
- Multiple languages - API بدون توجه به زبان است؛ کلاینت .NET قرارداد یکسانی را دنبال میکند.
- Taxonomy‑driven classification - شما دستهها را یک بار تعریف میکنید و در پروژههای مختلف دوباره استفاده میکنید.
- Confidence scoring - هر برچسب شامل یک مقدار اطمینان است که امکان فیلتر کردن بر پایه آستانه را فراهم میکند.
درک این ویژگیها به شما کمک میکند تا یک جریان کار طبقهبندی PDF قوی طراحی کنید.
GroupDocs.Classification Cloud SDK Features That Matter for This Task
- Batch processing - هزاران PDF را در یک درخواست واحد طبقهبندی کنید.
- OCR integration - بهصورت خودکار متن را از PDFهای اسکنشده قبل از طبقهبندی استخراج کنید.
- Custom taxonomy support - بارگذاری طبقهبندیهای JSON یا XML برای مطابقت با دامنه خود.
- Detailed logging - شناسههای درخواست را برای عیبیابی و ردپای حسابرسی بازیابی کنید.
پیکربندی تاکسونومی طبقهبندی و آستانههای اطمینان
یک فایل taxonomy.json ایجاد کنید که دستههای شما را توصیف میکند:
{
"categories": [
{
"name": "Invoice",
"keywords": ["invoice", "amount", "total", "due"]
},
{
"name": "Resume",
"keywords": ["experience", "education", "skills", "profile"]
}
]
}
هنگام ساخت ClassifyDocumentRequest، ویژگی ConfidenceThreshold (مثلاً 0.6) را تنظیم کنید تا پیشبینیهای نامطمئن فیلتر شوند. این مقدار را بر اساس تحمل دامنه شما نسبت به مثبتهای کاذب تنظیم کنید.
بهینهسازی عملکرد برای دستههای بزرگ PDF
- تقسیم دسته - مجموعههای بزرگ را به گروههای ۱۰۰‑۲۰۰ فایل تقسیم کنید تا از زمانسنجی جلوگیری شود.
- فعالسازی پردازش ناهمزمان - از نقطه انتهایی
SubmitJobاستفاده کنید وGetJobStatusرا برای آزادسازی نخها بررسی کنید. - استفاده مجدد از طبقهبندی یکسان - طبقهبندی را یک بار بارگذاری کنید و رشته JSON یکسان را برای تمام درخواستها استفاده کنید.
- بارگذاریهای موازی - فایلها را بهصورت همزمان با استفاده از
Task.WhenAllبارگذاری کنید تا تاخیر شبکه کاهش یابد.
| سناریو | رویکرد پیشنهادی |
|---|---|
| < 100 PDFs | درخواست تکنفره همزمان |
| 100‑1,000 PDFs | دستههای همزمان تکهتکه |
| > 1,000 PDFs | ارسال کار بهصورت ناهمزمان + نظرسنجی |
پردازش 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 ذخیره کنید.
Conclusion
دستهبندی فایلهای PDF در .NET با استفاده از GroupDocs.Classification Cloud SDK for .NET به سادگی انجام میشود. با پیروی از مراحل توضیح دادهشده در بالا—راهاندازی SDK، تعریف یک طبقهبندی واضح، پردازش OCR برای PDFهای اسکنشده، و بهینهسازی عملکرد دستهای—میتوانید سرویس دستهبندی قابل اعتماد و مقیاسپذیری برای هر برنامهای که با اسناد زیاد کار میکند، بسازید. بهخاطر داشته باشید که برای استفاده در محیط تولید، باید یک لایسنس مناسب دریافت کنید؛ میتوانید با یک لایسنس موقت از صفحه temporary license page شروع کنید و با رشد نیازهای خود، به یک اشتراک کامل ارتقا دهید.
FAQs
س: چگونه میتوانم فایلهای PDF را در .NET با اطمینان بالا طبقهبندی کنم؟
ج: مقدار ConfidenceThreshold را در درخواست تنظیم کنید تا نتایج با اطمینان پایین فیلتر شوند. SDK برای هر برچسب یک امتیاز اطمینان برمیگرداند که به شما امکان میدهد فقط پیشبینیهای بالاتر از سطح انتخابی خود را نگه دارید. برای جزئیات بیشتر به مستندات رسمی مراجعه کنید.
س: آیا SDK از OCR برای PDFهای اسکنشده پشتیبانی میکند؟
پ: بله. OCR را با تنظیم پرچم ocr در درخواست طبقهبندی فعال کنید. سرویس متن را از PDFهای مبتنی بر تصویر استخراج میکند قبل از اعمال طبقهبندی، که دقت اسناد اسکنشده را بهبود میبخشد.
س: بهترین روش برای پردازش هزاران PDF چیست؟
پ: از طبقهبندی دستهای با کارهای ناهمزمان استفاده کنید. مجموعههای بزرگ را به بخشهای قابل مدیریت تقسیم کنید، آنها را از طریق SubmitJob ارسال کنید و تا تکمیل، GetJobStatus را بررسی کنید. این روش از زمانسربی جلوگیری میکند و بازدهی را به حداکثر میرساند.
س: کجا میتوانم یک لایسنس موقت برای توسعه دریافت کنم؟
پ: برای دریافت کلید لایسنس 30‑روزه به صفحه temporary license page مراجعه کنید. آن را در Configuration خود قبل از انجام تماسهای API اعمال کنید.
