استكشاف الأخطاء وإصلاحها
المشكلات الشائعة والحلول عند العمل مع Aspose.PDF FOSS لـ .NET.
تحميل المستند
| المشكلة | السبب | الحل |
|---|
Document.Open يحدث استثناء على ملف PDF صالح | الملف محمي بكلمة مرور | قم بتمرير كلمة المرور في المُنشئ |
| نفاد الذاكرة عند ملفات PDF الكبيرة | تم تحميل الملف بالكامل إلى مصفوفة بايت | معالجة الصفحات بشكل فردي أو استخدام البث |
Pages[0] يحدث خطأ فهرسة | الصفحات تستخدم فهرسة تبدأ من 1 | استخدم Pages[1] للصفحة الأولى |
التعليقات التوضيحية
| Problem | Cause | Solution |
|---|
| التعليق غير مرئي بعد الحفظ | المستطيل له مساحة صفرية أو خارج حدود الصفحة | تحقق من أن الإحداثيات تقع داخل الصفحة MediaBox |
LinkAnnotation.Uri تُعيد null | الرابط يستخدم إجراء GoTo أو JavaScript | حل عبر PdfAction.Create وتحقق من ActionType |
Flatten() يطرح استثناء | التعليق يفتقد مرجع /P (الصفحة) | تأكد من أن التعليق تمت إضافته عبر Page.Annotations |
استخراج النص
| المشكلة | السبب | الحل |
|---|
| النص المستخرج مشوش | ترميز غير قياسي أو تعيين خط CID | تحقق من تضمين الخط؛ قد تحتاج ملفات PDF الممسوحة ضوئياً إلى OCR |
| لم يتم العثور على مقاطع نصية | محتوى الصفحة صورة نقطية | استخدم OCR قبل استخراج النص |
| التعبير النمطي لا يُرجع أي تطابق | تنسيق نص PDF يضيف مسافات | استخدم نمطًا أرخى أو قم بتطبيع المسافات |
العرض والتحويل
| المشكلة | السبب | الحل |
|---|
| الصورة المعروضة غير واضحة | الدقة منخفضة جدًا | زيادة DPI في Resolution constructor |
| مخرجات HTML تفتقد الصور | مسارات الصور الخارجية غير مكوَّنة | استخدم HtmlSaveOptions with embedded images |
| تحويل PDF/A يزيل التعليقات التوضيحية | ملف التعريف المستهدف لا يسمح بالتعليقات التوضيحية | استخدم PDF/A-2 أو PDF/A-3 |
حقول النموذج
| Problem | Cause | Solution |
|---|
| قيمة الحقل فارغة | الحقل لا يحتوي على إدخال /V | تحقق من أن field.Value ليس null |
FillField لا تأثير له | عدم تطابق اسم الحقل | استخدم Form.FieldNames لسرد الأسماء المتاحة |
| ExportToJson ينتج مخرجات فارغة | تعليق Widget غير محول بشكل صحيح | تحقق من أن التعليق هو WidgetAnnotation |
نصائح عامة
- دائمًا قم بلف
Document داخل using لإطلاق مقبض الملف. - استخدم
Document.Open(byte[]) لتدفقات العمل في الذاكرة لتجنب قفل الملفات. - تحقق من
doc.Pages.Count قبل الوصول إلى الصفحات حسب الفهرس. - احفظ المستند مرة واحدة بعد جميع التعديلات للحصول على أفضل أداء.
انظر أيضًا