العمل مع العلامات المائية
العمل مع العلامات المائية
يوضح هذا الدليل كيفية إضافة وتكوين وإزالة علامات مائية للوثائق في Aspose.Words FOSS لـ .NET باستخدام Watermark الفئة، التي يمكن الوصول إليها عبر Document.Watermark. يمكن أن تكون العلامة المائية نصًا أو صورة، ولا يمكن أن يكون هناك سوى علامة مائية واحدة نشطة على المستند في أي وقت – إعداد علامة مائية جديدة يستبدل ما كان موجودًا سابقًا.
إضافة علامة مائية نصية
Watermark.SetText(text) يضيف علامة مائية نصية بالتنسيق الافتراضي. التحميل الزائد SetText(text, options) يأخذ مثيل TextWatermarkOptions للتحكم في مظهره: FontFamily، Color، وFontSize يتحكمون في تنسيق النص، IsSemitrasparent يبدل التأثير شبه الشفاف النموذجي للعلامات المائية، وLayout (قيمة WatermarkLayout — Horizontal أو Diagonal) تتحكم في اتجاهها بالنسبة للصفحة.
إضافة علامة مائية صورة
Watermark.SetImage(image) يضيف علامة مائية صورة من Image محمّلة مسبقًا. التحميلات الزائدة التي تأخذ أيضًا مثيل ImageWatermarkOptions — SetImage(image, options)، SetImage(imagePath, options) (التحميل من مسار ملف)، وSetImage(imageStream, options) (التحميل من Stream) — تتيح لك التحكم في Scale (معامل مقياس الصورة، معبرًا عنه ككسر) وIsWashout (التأثير المموه الذي يمنع صورة العلامة المائية من طغيان محتوى الصفحة).
التحقق من وإزالة العلامة المائية
Watermark.Type يُبلّغ عن نوع العلامة المائية الحالية كقيمة WatermarkType — Text، Image، أو None إذا لم يتم تعيين علامة مائية. استدعِ Watermark.Remove() لإزالة العلامة المائية الحالية من المستند.
نصائح وأفضل الممارسات
- تحقق من
Watermark.Typeقبل افتراض وجود علامة مائية — فهو يُعيدWatermarkType.Noneفي مستند لم يُعطَ علامة مائية مطلقًا. - إعداد علامة مائية جديدة عبر
SetText()أوSetImage()يستبدل أي علامة مائية موجودة؛ لا توجد طريقة لوجود أكثر من علامة مائية نشطة في الوقت نفسه. - استخدم
WatermarkLayout.Diagonalلاستنساخ اتجاه العلامة المائية القطري الافتراضي في Word، أوHorizontalلعلامة مائية تتوازى مع حواف الصفحة. - فضِّل التحميلات
ImageWatermarkOptions/TextWatermarkOptionsعلى استدعاءاتSetImage(image)/SetText(text)العادية كلما احتجت إلى التحكم في الشفافية أو المقياس أو الخط — التحميلات بدون معلمات تستخدم القيم الافتراضية في Word.
المشكلات الشائعة
| المشكلة | السبب | الإصلاح |
|---|---|---|
| لا يظهر العلامة المائية الجديدة بجانب القديمة | SetText()/SetImage() يستبدل العلامة المائية الحالية بدلاً من إضافة واحدة ثانية | استدعِ Remove() أولاً فقط إذا كنت تحتاج إلى مسحه قبل ضبط نوع مختلف؛ وإلا فإن الاستبدال يتم تلقائيًا |
| علامة مائية صورة تغمر محتوى الصفحة | تم ترك ImageWatermarkOptions.IsWashout معطلاً | عيّن IsWashout إلى true عند إنشاء ImageWatermarkOptions |
| خط العلامة المائية النصية لا يتطابق مع الخط المقصود | لم يتم تعيين TextWatermarkOptions.FontFamily (أو تم كتابته بشكل خاطئ) | عيّن FontFamily إلى اسم خط متاح في بيئة العرض |
FAQ
كيف يمكنني التحقق مما إذا كان المستند يحتوي بالفعل على علامة مائية؟
اقرأ Document.Watermark.Type; تُعيد WatermarkType.Text, WatermarkType.Image أو WatermarkType.None.
كيف يمكنني إزالة العلامة المائية؟
استدعِ Document.Watermark.Remove().
هل يمكنني التحكم في شفافية العلامة المائية؟
نعم – للعلامات المائية النصية، عيّن TextWatermarkOptions.IsSemitrasparent; للعلامات المائية الصور، عيّن ImageWatermarkOptions.IsWashout.
كيف يمكنني تحميل علامة مائية صورة من القرص بدلاً من Image في الذاكرة؟
استخدم التحميل الزائد Watermark.SetImage(imagePath, options)، مع تمرير مسار الملف كسلسلة نصية جنبًا إلى جنب مع كائن ImageWatermarkOptions.
API Reference ملخص
| فئة / تعداد | وصف |
|---|---|
Watermark | علامة مائية للمستند، عبر Document.Watermark; SetText(), SetImage(), Remove(), Type |
WatermarkType | تعداد يحدد نوع العلامة المائية الحالي: Text, Image, None |
WatermarkLayout | تعداد لاتجاه العلامة المائية: Horizontal, Diagonal |
TextWatermarkOptions | تنسيق العلامة المائية النصية: FontFamily, Color, FontSize, IsSemitrasparent, Layout |
ImageWatermarkOptions | خيارات العلامة المائية الصورية: Scale, IsWashout |