کار با واترمارکها
کار با واترمارکها
این راهنما نشان میدهد چگونه علامتهای آبنمای سند را اضافه، پیکربندی و حذف کنید در Aspose.Words FOSS برای .NET با استفاده از Watermark کلاس، که از طریق Document.Watermark. یک علامت آبنما میتواند متن یا تصویر باشد، و در هر زمان تنها یک علامت آبنما در یک سند فعال است – تنظیم یک علامت جدید، هر آنچه پیش از آن بوده را جایگزین میکند.
افزودن واترمارک متنی
Watermark.SetText(text) یک واترمارک متنی با قالببندی پیشفرض اضافه میکند. SetText(text, options) overload یک نمونه TextWatermarkOptions را میگیرد تا ظاهر آن را کنترل کند: FontFamily، Color و FontSize قالببندی متن را تنظیم میکنند، IsSemitrasparent اثر نیمهشفاف معمول در واترمارکها را فعال/غیرفعال میکند، و Layout (یک مقدار WatermarkLayout – Horizontal یا Diagonal) جهتگیری آن نسبت به صفحه را کنترل میکند.
افزودن واترمارک تصویری
Watermark.SetImage(image) یک واترمارک تصویری از Image که قبلاً بارگذاری شده اضافه میکند. overloadهایی که همچنین یک نمونه 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 غیرفعال رها شده بود | هنگام ساخت ImageWatermarkOptions، IsWashout را به true تنظیم کنید |
| قلم واترمارک متنی با نوع قلم مورد نظر مطابقت ندارد | TextWatermarkOptions.FontFamily تنظیم نشده بود (یا به اشتباه نوشته شده بود) | مقدار FontFamily را به نام فونتی که در محیط رندر موجود است تنظیم کنید |
FAQ
چگونه بررسی کنم که آیا یک سند قبلاً واترمارک دارد؟
متغیر Document.Watermark.Type را بخوانید؛ این مقدار WatermarkType.Text، WatermarkType.Image یا WatermarkType.None را بر میگرداند.
چگونه یک واترمارک را حذف کنم؟
متد Document.Watermark.Remove() را فراخوانی کنید.
آیا میتوانم شفافیت واترمارک را کنترل کنم؟
بله — برای واترمارکهای متنی، TextWatermarkOptions.IsSemitrasparent را تنظیم کنید؛ برای واترمارکهای تصویری، ImageWatermarkOptions.IsWashout را تنظیم کنید.
چگونه یک واترمارک تصویری را از دیسک بارگذاری کنم به جای Image در حافظه؟
از overload 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 |