العمل مع طبقات PDF باستخدام C#

قد يحتوي مستند PDF على بيانات مخفية متنوعة قد تعرض السرية للخطر أو تشكل تهديدات محتملة عند مشاركة الملف.
باستخدام فئة HiddenDataSanitizer، يمكنك إزالة البيانات المخفية التي تختارها.
يمكنك تكوين عملية التطهير بشكل مرن باستخدام فئة HiddenDataSanitizerOptions.

خيارات تطهير البيانات المخفية

تقوم هذه الفئة بتكوين عملية التطهير للبيانات المخفية في مستند PDF.
تسمح بتمكين وتكوين مركزي لإزالة المعلومات الحساسة أو غير المرئية أو غير المرغوب فيها (التعليقات، السكربتات، البيانات الوصفية، المرفقات، الفهارس، إلخ)،
بالإضافة إلى التحكم في تحويل الصفحات ومعلمات ضغط الصور.

إنها مناسبة لسيناريوهات مثل:

  • إعداد المستندات للتوزيع؛
  • تعزيز الأمان والخصوصية؛
  • تبسيط هيكل PDF (تسطيح النماذج والطبقات)؛
  • إزالة المحتوى المخفي الذي قد لا يكون مرئيًا أثناء العرض العادي.

الخيارات

  • ImageCompressionOptions: ImageCompressionOptions
    إعدادات ضغط الصور للتحسين. يتم تجاهلها إذا تم تمكين تحويل الصفحات. لا يتم تفعيلها تلقائيًا بواسطة طريقة All() — قم بتكوينها يدويًا إذا لزم الأمر.

  • ConvertPagesToImages: bool
    تحويل الصفحات إلى صور نقطية. عند التمكين، يتم تجاهل ImageCompressionOptions. يتم تنفيذها بعد تنظيف المحتوى المخفي الرئيسي بواسطة خيارات أخرى. لا يتم تفعيلها تلقائيًا بواسطة طريقة All().

  • ImageDpi: int (افتراضي 150)
    الدقة (DPI) المستخدمة عند تحويل الصفحات إلى صور.

  • RemoveAnnotations: bool
    إزالة جميع تعليقات المستند. سيتم تطبيق التعليقات المحررة.

  • RemoveSearchIndexAndPrivateInfo: bool
    إزالة الفهارس المدمجة والمعلومات الخاصة.

  • FlattenForms: bool
    تسطيح النماذج: تصبح الحقول التفاعلية محتوى ثابتًا وغير قابل للتحرير.

  • FlattenLayers: bool
    تسطيح الطبقات: يتم دمج جميع الطبقات في واحدة، مما يبسط الهيكل ويزيل بيانات الطبقة المخفية.

  • RemoveJavaScriptsAndActions: bool
    إزالة جافا سكريبت والإجراءات ذات الصلة للقضاء على الثغرات المحتملة.

  • RemoveMetadata: bool
    إزالة البيانات الوصفية (خصائص المستند والمعلومات المدمجة الإضافية).

  • RemoveAttachments: bool
    إزالة جميع الملفات المدمجة.

الطرق

  • static All(): HiddenDataSanitizationOptions
    تعيد مثيلًا مُعدًا مسبقًا مع الخيارات التالية مفعلة:
    RemoveAnnotations, RemoveJavaScriptsAndActions, RemoveMetadata, RemoveAttachments, RemoveSearchIndexAndPrivateInfo, FlattenForms, FlattenLayers؛
    ومع تحويل الصفحات إلى صور (ConvertPagesToImages = false) ومعالجة الصور (ImageCompressionOptions = null) معطلة.
    يمكنك تكوين ImageCompressionOptions وConvertPagesToImages يدويًا بعد استدعاء All().

HiddenDataSanitizer

توفر فئة HiddenDataSanitizer وظائف لتنظيف مستندات PDF من البيانات المخفية (البيانات الوصفية، المرفقات، التعليقات، جافا سكريبت، المعلومات الخاصة، إلخ).
تستخدم مجموعة من الخيارات المحددة في HiddenDataSanitizationOptions للتحكم بشكل مرن في عملية التطهير.

الطريقة الثابتة SanitizeAllToImages

public static void SanitizeAllToImages(Document document, int dpi = 150)

تحول جميع صفحات مستند PDF إلى صور ثم تزيل أي بيانات مخفية متبقية.
تكون هذه الطريقة مفيدة عندما تحتاج إلى “إغلاق” مستند تمامًا كصور نقطية، مما يقضي على جميع العناصر المخفية.

الطريقة المثيلة Sanitize

public void Sanitize(Document document)

تنفذ تطهير PDF وفقًا للخيارات المقدمة في المُنشئ.

مثال على الاستخدام