C#를 사용하여 PDF에 워터마크 추가

Aspose.PDF for .NET은 아티팩트를 사용하여 PDF 문서에 워터마크를 추가할 수 있습니다. 이 문서를 확인하여 작업을 해결하십시오.

다음 코드 스니펫은 Aspose.PDF.Drawing 라이브러리와 함께 작동합니다.

Adobe Acrobat으로 생성된 워터마크는 아티팩트라고 하며( PDF 사양의 14.8.2.2 실제 콘텐츠 및 아티팩트에 설명됨), 아티팩트와 함께 작업하기 위해 Aspose.PDF에는 두 개의 클래스가 있습니다: ArtifactArtifactCollection.

특정 페이지의 모든 아티팩트를 가져오기 위해 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 파일에 워터마크 추가하는 방법

다음 코드 스니펫은 C#을 사용하여 PDF 파일의 첫 페이지에서 각 워터마크를 가져오는 방법을 보여줍니다.

// 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");
    }
}