إضافة علامة مائية إلى PDF باستخدام C#
Aspose.PDF لـ .NET يتيح إضافة العلامات المائية لمستند PDF الخاص بك باستخدام الأدوات. يرجى مراجعة هذه المقالة لحل مهمتك.
الشفرة التالية تعمل أيضًا مع مكتبة Aspose.PDF.Drawing.
العلامة المائية المُنشأة بواسطة Adobe Acrobat تُسمى أداة (كما ورد في 14.8.2.2 المحتوى الحقيقي والأدوات في مواصفات PDF). من أجل العمل مع الأدوات، لدى Aspose.PDF فئتان: Artifact و ArtifactCollection.
للحصول على جميع الأدوات على صفحة معينة، فإن فئة Page لديها خاصية Artifacts. يشرح هذا الموضوع كيفية العمل مع الأداة في ملفات PDF.
العمل مع الأدوات
فئة Artifact تحتوي على الخصائص التالية:
Artifact.Type – يحصل على نوع الأداة (يدعم قيم تعداد Artifact.ArtifactType حيث تشمل القيم الخلفية، التخطيط، الصفحة، الترقيم، وغير محدد). Artifact.Type – يحصل على نوع العنصر (يدعم قيم تعداد Artifact.ArtifactType حيث تشمل القيم الخلفية، التخطيط، الصفحة، الترقيم وغير محدد). Artifact.Subtype – يحصل على نوع فرعي للعنصر (يدعم قيم تعداد Artifact.ArtifactSubtype حيث تشمل الخلفية، التذييل، الرأس، غير محدد، العلامة المائية).
Artifact.Contents – يحصل على مجموعة من المشغلات الداخلية للعنصر. نوع المدعوم هو System.Collections.ICollection. Artifact.Form – يحصل على XForm للعنصر (إذا تم استخدام XForm). تحتوي عناصر العلامات المائية والرأس والتذييل على XForm الذي يعرض كل محتويات العنصر. Artifact.Image – يحصل على صورة العنصر (إذا كانت الصورة موجودة، وإلا null). Artifact.Text – يحصل على نص العنصر. Artifact.Rectangle – يحصل على موقع العنصر على الصفحة. Artifact.Rotation – يحصل على دوران العنصر (بالدرجات، القيمة الموجبة تشير إلى الدوران عكس عقارب الساعة). Artifact.Rotation – يحصل على دوران العنصر (بالدرجات، القيمة الموجبة تشير إلى الدوران عكس عقارب الساعة). Artifact.Opacity – يحصل على شفافية العنصر. القيم الممكنة تتراوح بين 0…1، حيث 1 يعني العتامة التامة.
أمثلة برمجية: كيفية إضافة علامة مائية على ملفات PDF
الشفرة التالية توضح كيفية الحصول على كل علامة مائية في الصفحة الأولى من ملف PDF باستخدام C#.
public static void AddWatermarks()
{
Document document = new Document(_dataDir + "text.pdf");
WatermarkArtifact artifact = new WatermarkArtifact();
artifact.SetTextAndState(
"WATERMARK",
new TextState()
{
FontSize = 72,
ForegroundColor = Color.Blue,
Font = FontRepository.FindFont("Courier")
});
artifact.ArtifactHorizontalAlignment = HorizontalAlignment.Center;
artifact.ArtifactVerticalAlignment = VerticalAlignment.Center;
artifact.Rotation = 45;
artifact.Opacity = 0.5;
artifact.IsBackground = true;
document.Pages[1].Artifacts.Add(artifact);
document.Save(_dataDir + "watermark.pdf");
}