Agregar sellos de texto en PDF C#

Añadir sello de texto con C#

Puedes usar la clase TextStamp para añadir un sello de texto en un archivo PDF. La clase TextStamp proporciona propiedades necesarias para crear un sello basado en texto como el tamaño de fuente, el estilo de fuente y el color de la fuente, etc. Para añadir un sello de texto, necesitas crear un objeto Document y un objeto TextStamp utilizando las propiedades requeridas. Después de eso, puedes llamar al método AddStamp de la Página para añadir el sello en el PDF.

El siguiente fragmento de código también funciona con la biblioteca Aspose.PDF.Drawing.

El siguiente fragmento de código te muestra cómo añadir un sello de texto en el archivo PDF.

// Para ejemplos completos y archivos de datos, por favor ve a https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_AsposePdf_StampsWatermarks();

// Abrir documento
Document pdfDocument = new Document(dataDir+ "AddTextStamp.pdf");

// Crear sello de texto
TextStamp textStamp = new TextStamp("Sello de muestra");
// Establecer si el sello es de fondo
textStamp.Background = true;
// Establecer origen
textStamp.XIndent = 100;
textStamp.YIndent = 100;
// Rotar sello
textStamp.Rotate = Rotation.on90;
// Establecer propiedades del texto
textStamp.TextState.Font = FontRepository.FindFont("Arial");
textStamp.TextState.FontSize = 14.0F;
textStamp.TextState.FontStyle = FontStyles.Bold;
textStamp.TextState.FontStyle = FontStyles.Italic;
textStamp.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Aqua);
// Añadir sello a la página específica
pdfDocument.Pages[1].AddStamp(textStamp);

dataDir = dataDir + "AddTextStamp_out.pdf";
// Guardar documento de salida
pdfDocument.Save(dataDir);

Definir la alineación para el objeto TextStamp

Agregar marcas de agua a documentos PDF es una de las características frecuentemente demandadas y Aspose.PDF para .NET es completamente capaz de agregar marcas de agua de imagen así como de texto. Tenemos una clase llamada TextStamp que proporciona la funcionalidad de agregar sellos de texto sobre el archivo PDF. Recientemente, ha surgido la necesidad de soportar la funcionalidad para especificar la alineación del texto cuando se utiliza el objeto TextStamp. Por lo tanto, para cumplir con esta necesidad, hemos introducido la propiedad TextAlignment en la clase TextStamp. Usando esta propiedad, podemos especificar la alineación horizontal del texto.

El siguiente fragmento de código muestra un ejemplo sobre cómo cargar un documento PDF existente y agregar un TextStamp sobre él.

// Para ejemplos completos y archivos de datos, por favor vaya a https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_AsposePdf_StampsWatermarks();

// Instanciar objeto Document con archivo de entrada
Document doc = new Document(dataDir+ "DefineAlignment.pdf");
// Instanciar objeto FormattedText con cadena de muestra
FormattedText text = new FormattedText("This");
// Agregar nueva línea de texto a FormattedText
text.AddNewLineText("is sample");
text.AddNewLineText("Center Aligned");
text.AddNewLineText("TextStamp");
text.AddNewLineText("Object");
// Crear objeto TextStamp usando FormattedText
TextStamp stamp = new TextStamp(text);
// Especificar la Alineación Horizontal del sello de texto como centrada
stamp.HorizontalAlignment = HorizontalAlignment.Center;
// Especificar la Alineación Vertical del sello de texto como centrada
stamp.VerticalAlignment = VerticalAlignment.Center;
// Especificar la Alineación Horizontal del Texto del TextStamp como centrada
stamp.TextAlignment = HorizontalAlignment.Center;
// Establecer margen superior para el objeto sello
stamp.TopMargin = 20;
// Agregar el objeto sello sobre la primera página del documento
doc.Pages[1].AddStamp(stamp);

dataDir = dataDir + "StampedPDF_out.pdf";
// Guardar el documento actualizado
doc.Save(dataDir);

Rellenar texto de trazo como sello en archivo PDF

Hemos implementado la configuración del modo de renderizado para escenarios de adición y edición de texto. Para renderizar texto de trazo, por favor cree un objeto TextState y establezca RenderingMode en TextRenderingMode.StrokeText y también seleccione color para la propiedad StrokingColor. Luego, vincule TextState al sello utilizando el método BindTextState().

El siguiente fragmento de código demuestra cómo agregar texto de relleno y trazo:

// Para ejemplos completos y archivos de datos, por favor vaya a https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// La ruta al directorio de documentos.
string dataDir = RunExamples.GetDataDir_AsposePdf_StampsWatermarks();
// Crear objeto TextState para transferir propiedades avanzadas
TextState ts = new TextState();
// Establecer color para el trazo
ts.StrokingColor = Color.Gray;
// Establecer modo de renderizado de texto
ts.RenderingMode = TextRenderingMode.StrokeText;
// Cargar un documento PDF de entrada
Facades.PdfFileStamp fileStamp = new Facades.PdfFileStamp(new Aspose.Pdf.Document(dataDir + "input.pdf"));

Aspose.Pdf.Facades.Stamp stamp = new Aspose.Pdf.Facades.Stamp();
stamp.BindLogo(new Facades.FormattedText("PAGADO COMPLETAMENTE", System.Drawing.Color.Gray, "Arial", Facades.EncodingType.Winansi, true, 78));

// Vincular TextState
stamp.BindTextState(ts);
// Establecer origen X,Y
stamp.SetOrigin(100, 100);
stamp.Opacity = 5;
stamp.BlendingSpace = Facades.BlendingColorSpace.DeviceRGB;
stamp.Rotation = 45.0F;
stamp.IsBackground = false;
// Agregar sello
fileStamp.AddStamp(stamp);
fileStamp.Save(dataDir + "ouput_out.pdf");
fileStamp.Close();