Adicionar marca d'água em PDF usando C#

Aspose.PDF para .NET permite adicionar marcas d’água ao seu documento PDF usando Artefatos. Por favor, verifique este artigo para resolver sua tarefa.

O seguinte trecho de código também funciona com a biblioteca Aspose.PDF.Drawing.

Uma marca d’água criada com o Adobe Acrobat é chamada de artefato (conforme descrito em 14.8.2.2 Conteúdo Real e Artefatos da especificação do PDF). Para trabalhar com artefatos, Aspose.PDF tem duas classes: Artifact e ArtifactCollection.

Para obter todos os artefatos em uma determinada página, a classe Page possui a propriedade Artifacts. Este tópico explica como trabalhar com artefato em arquivos PDF.

Trabalhando com Artefatos

A classe Artifact contém as seguintes propriedades:

Artifact.Type – obtém o tipo de artefato (suporta valores da enumeração Artifact.ArtifactType onde os valores incluem Background, Layout, Page, Pagination e Undefined). Artifact.Type – obtém o tipo de artefato (suporta valores da enumeração Artifact.ArtifactType onde os valores incluem Background, Layout, Page, Pagination e Undefined). Artifact.Subtype – obtém o subtipo de artefato (suporta os valores da enumeração Artifact.ArtifactSubtype onde os valores incluem Background, Footer, Header, Undefined, Watermark).

Artifact.Contents – Obtém uma coleção de operadores internos do artefato. Seu tipo suportado é System.Collections.ICollection. Artifact.Form – Obtém o XForm de um artefato (se XForm for usado). Artefatos de marcas d’água, cabeçalho e rodapé contêm XForm que mostra todos os conteúdos do artefato. Artifact.Image – Obtém a imagem de um artefato (se uma imagem estiver presente, caso contrário, null). Artifact.Text – Obtém o texto de um artefato. Artifact.Rectangle – Obtém a posição de um artefato na página. Artifact.Rotation – Obtém a rotação de um artefato (em graus, valor positivo indica rotação no sentido anti-horário). Artifact.Rotation – Obtém a rotação de um artefato (em graus, valor positivo indica rotação no sentido anti-horário). Artifact.Opacity – Obtém a opacidade de um artefato. Os valores possíveis estão na faixa de 0…1, onde 1 é completamente opaco.

Exemplos de Programação: Como Adicionar Marca D’água em Arquivos PDF

O trecho de código a seguir mostra como obter cada marca d’água na primeira página de um arquivo PDF com 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");
}