Trabalhe com Watermark em PDF via C++

Trabalhe com marcas d’água em documentos PDF de forma programática usando Aspose.PDF para a biblioteca C++

Adicionar marca d'água com a biblioteca C++

Para adicionar marca d’água ao arquivo PDF, usaremos a API Aspose.PDF for C++, que é uma API de manipulação de documentos rica em recursos, poderosa e fácil de usar para a plataforma C++. Abra o gerenciador de pacotes NuGet, pesquise Aspose.pdf.cpp e instale. Você também pode usar o seguinte comando no Console do Gerenciador de Pacotes.

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

Adicione marca d’água usando C++


Você precisa do Aspose.PDF for C++ para testar o código em seu ambiente.

  1. Carregue o PDF com uma instância de Document.
  2. Crie uma instância de WatermarkArtifact.
  3. Defina as propriedades do objeto WatermarkArtifact.
  4. Adicione marca d’água usando o método Add da classe de coleção Aspose.Pdf.Page.Artifacts.
  5. Salvar arquivo PDF

Adicione marca d'água no PDF - C++

Este exemplo de código mostra como adicionar marca d'água a páginas PDF - C++

Input file:

File not added

Output format:

Output file:

void GettingWatermarks() {

    String _dataDir("C:\\Samples\\");
    String inputFileName("watermark.pdf");
    String outputFileName("watermark_out.pdf");

    auto document = MakeObject<Document>(_dataDir + inputFileName);

    auto artifact = MakeObject<WatermarkArtifact>();
    auto textState = MakeObject<TextState>();
    textState->set_FontSize(72);
    textState->set_ForegroundColor(Color::get_Blue());
    textState->set_Font(FontRepository::FindFont(u"Courier"));
    artifact->SetTextAndState(u"WATERMARK", textState);
    artifact->set_ArtifactHorizontalAlignment (HorizontalAlignment::Center);
    artifact->set_ArtifactVerticalAlignment (VerticalAlignment::Center);
    artifact->set_Rotation(45);
    artifact->set_Opacity(0.5);
    artifact->set_IsBackground(true);

    document->get_Pages()->idx_get(1)->get_Artifacts()->Add(artifact);

    document->Save(_dataDir + outputFileName);
}