
En algunas ocasiones se hace necesario añadir estampas en un PDF para marcarlo de alguna manera o dejar registro de que este fue procedo o aprobado, en internet se pueden encontrar diferentes alternativas para completar esta tarea, entre ellas están Epsilon AI y PDF.co ambas ofrecen paquetes de actividades para modificar PDFs fácilmente desde UiPath.
Epsilon AI
Epsilon AI ofrece varios paquetes de actividades, pero el que puntualmente nos sirve para modificar PDFs es Epsilon.AI.PDFWriter.Activities que lo puedes buscar en el manejador de paquetes de UiPath.

Para hacer uso de estas actividades basta con arrastrar la actividad PDF File Scope, agregar lo que queremos hacer al PDF, ya sea dibujar una imagen, dibujar una linea, un texto etc, y luego agregar la actividad Save File, con esto se guardaran los cambios sobre el PDF, ya sea sobre el mismo PDF o sobre un nuevo.

PDF.co
PDF.co por otra parte nos ofrece un paquete de actividades similar a Epsilon AI, que puedes encontrar en UiPath como PDF.co.API.Activities. El proceso es tan sencillo como arrastrar la actividad PDF.co Scope y luego insertar dentro de ella la actividad PDF Filtre. Es importante mencionar que esta actividad tiene un costo, al aplicar a una suscripción por la pagina nos dará la API Key para usar la aplicación.

Invoke Code C#
Existe una tercera alternativa que te puede llegar a servir y es llamando la actividad Invoke Code usando C# para llamar el siguiente código. Para esto debes terne presente que debes instalar el paquete iTextSharp ya hacer el llamado de iTextSharp.text, iTextSharp.text.pdf y System.IO
double PositionX = 200;
float rotation = 0;
float x = (float)PositionX;
float y = 100;
string stampText = "APPROVED";
float textSize = 25;
string oldFile = @"C:\Users\Fernan\source\repos\StampPDF\StampPDF\dummy.pdf";
string newFile = @"C:\Users\Fernan\source\repos\StampPDF\StampPDF\dummyAPPROVED.pdf";
PdfReader PDFReader = new PdfReader(oldFile);
PdfReader.unethicalreading = true;
FileStream Stream = new FileStream(newFile, FileMode.Create, FileAccess.Write);
PdfStamper PDFStamper = new PdfStamper(PDFReader, Stream);
for (int iCount = 0; iCount < PDFStamper.Reader.NumberOfPages; iCount++)
{
PdfContentByte PDFData = PDFStamper.GetOverContent(iCount + 1);
BaseFont baseFont = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED);
PDFData.BeginText();
PDFData.SetColorFill(CMYKColor.RED);
PDFData.SetFontAndSize(baseFont, textSize);
PDFData.ShowTextAligned(PdfContentByte.ALIGN_CENTER, stampText, x, y, rotation);
PDFData.EndText();
}
PDFStamper.Close();
PDFReader.Close();