Tambahkan watermark ke PDF menggunakan C#

Aspose.PDF for .NET memungkinkan menambahkan watermark ke dokumen PDF Anda menggunakan Artefak. Silakan periksa artikel ini untuk menyelesaikan tugas Anda.

Potongan kode berikut juga bekerja dengan Aspose.PDF.Drawing library.

Watermark yang dibuat dengan Adobe Acrobat disebut artefak (seperti yang dijelaskan dalam 14.8.2.2 Konten Nyata dan Artefak dari spesifikasi PDF). Untuk bekerja dengan artefak, Aspose.PDF memiliki dua kelas: Artifact dan ArtifactCollection.

Untuk mendapatkan semua artefak di halaman tertentu, kelas Page memiliki properti Artifacts. Topik ini menjelaskan cara bekerja dengan artefak dalam file PDF.

Bekerja dengan Artefak

Kelas Artifact memiliki properti berikut:

  • Artifact.Type: mendapatkan jenis artefak (mendukung nilai dari enumerasi Artifact.ArtifactType di mana nilai termasuk Latar Belakang, Tata Letak, Halaman, Penomoran dan Tidak Terdefinisi).
  • Artifact.Subtype: mendapatkan subtype artefak (mendukung nilai dari enumerasi Artifact.ArtifactSubtype di mana nilai termasuk Latar Belakang, Footer, Header, Tidak Terdefinisi, Watermark).
  • Artifact.Contents: Mendapatkan koleksi operator internal artefak. Tipe yang didukung adalah System.Collections.ICollection.
  • Artifact.Form: Mendapatkan XForm artefak (jika XForm digunakan). Watermark, header, dan artefak footer berisi XForm yang menunjukkan semua konten artefak.
  • Artifact.Image: Mendapatkan gambar artefak (jika gambar ada, jika tidak null).
  • Artifact.Text: Mendapatkan teks artefak.
  • Artifact.Rectangle: Mendapatkan posisi artefak di halaman.
  • Artifact.Rotation: Mendapatkan rotasi artefak (dalam derajat, nilai positif menunjukkan rotasi berlawanan arah jarum jam).
  • Artifact.Opacity: Mendapatkan opasitas artefak. Nilai yang mungkin berada dalam rentang 0…1, di mana 1 sepenuhnya tidak transparan.

Cara Menambahkan Watermark Pada File PDF

Potongan kode berikut menunjukkan cara mendapatkan setiap watermark di halaman pertama file PDF dengan 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");
    }
}