Trabaja con Watermark en PDF a través de C++

Trabaje con marcas de agua en documentos PDF mediante programación utilizando Aspose.PDF para la biblioteca C++

Añade una marca de agua con la biblioteca C++

Para agregar Watermark al archivo PDF, usaremos la API Aspose.PDF for C++, que es una API de manipulación de documentos rica en funciones, potente y fácil de usar para la plataforma C++. Abra el administrador de paquetes NuGet, busque Aspose.pdf.cpp e instálelo. También puede usar el siguiente comando de la consola del administrador de paquetes.

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

Añade una marca de agua usando C++


Necesitas Aspose.PDF for C++ para probar el código en tu entorno.

  1. Cargue el PDF con una instancia de Document.
  2. Crea una instancia de WatermarkArtifact.
  3. Establezca las propiedades del objeto WatermarkArtifact.
  4. Agregue una marca de agua usando el método Add de la clase de colección Aspose.Pdf.Page.Artifacts.
  5. Guardar archivo PDF

Añade una marca de agua en el PDF - C++

Este código de ejemplo muestra cómo añadir marcas de agua 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);
}