إضافة علامة مائية إلى PDF باستخدام C#

Aspose.PDF for .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.Subtype: يحصل على نوع العنصر الفرعي (يدعم قيم تعداد Artifact.ArtifactSubtype حيث تشمل القيم الخلفية، والتذييل، والرأس، وغير محدد، والعلامة المائية).
  • Artifact.Contents: يحصل على مجموعة من العمليات الداخلية للعنصر. نوعه المدعوم هو System.Collections.ICollection.
  • Artifact.Form: يحصل على XForm للعنصر (إذا تم استخدام XForm). تحتوي العلامات المائية والرؤوس والتذييلات على XForm الذي يظهر جميع محتويات العنصر.
  • Artifact.Image: يحصل على صورة العنصر (إذا كانت الصورة موجودة، وإلا null).
  • Artifact.Text: يحصل على نص العنصر.
  • Artifact.Rectangle: يحصل على موضع العنصر على الصفحة.
  • Artifact.Rotation: يحصل على دوران العنصر (بالدرجات، القيمة الإيجابية تشير إلى دوران عكس عقارب الساعة).
  • Artifact.Opacity: يحصل على شفافية العنصر. القيم الممكنة تتراوح بين 0…1، حيث 1 تعني غير شفاف تمامًا.

كيفية إضافة علامة مائية على ملفات PDF

تظهر مقتطفات الشيفرة التالية كيفية الحصول على كل علامة مائية في الصفحة الأولى من ملف PDF باستخدام C#.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddWatermarks()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_StampsWatermarks();
    
    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "AddWatermarksInput.pdf"))
    {
        // Create a new watermark artifact
        var artifact = new Aspose.Pdf.WatermarkArtifact();
        artifact.SetTextAndState(
            "WATERMARK",
            new Aspose.Pdf.Text.TextState()
            {
                FontSize = 72,
                ForegroundColor = Aspose.Pdf.Color.Blue,
                Font = Aspose.Pdf.Text.FontRepository.FindFont("Courier")
            });
        // Set watermark properties
        artifact.ArtifactHorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
        artifact.ArtifactVerticalAlignment = Aspose.Pdf.VerticalAlignment.Center;
        artifact.Rotation = 45;
        artifact.Opacity = 0.5;
        artifact.IsBackground = true;
        // Add watermark artifact to the first page
        document.Pages[1].Artifacts.Add(artifact);
        // Save PDF document
        document.Save(dataDir + "AddWatermarks_out.pdf");
    }
}