Adicionar selos de texto em PDF C#

Adicionar Carimbo de Texto com C#

Você pode usar a classe TextStamp para adicionar um carimbo de texto em um arquivo PDF. A classe TextStamp fornece propriedades necessárias para criar um carimbo baseado em texto como tamanho da fonte, estilo da fonte e cor da fonte, etc. Para adicionar um carimbo de texto, você precisa criar um objeto Document e um objeto TextStamp usando as propriedades necessárias. Depois disso, você pode chamar o método AddStamp da Página para adicionar o carimbo no PDF.

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

O seguinte trecho de código mostra como adicionar um carimbo de texto no arquivo PDF.

// Para exemplos completos e arquivos de dados, por favor acesse https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// O caminho para o diretório de documentos.
string dataDir = RunExamples.GetDataDir_AsposePdf_StampsWatermarks();

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

// Criar carimbo de texto
TextStamp textStamp = new TextStamp("Sample Stamp");
// Definir se o carimbo é de fundo
textStamp.Background = true;
// Definir origem
textStamp.XIndent = 100;
textStamp.YIndent = 100;
// Rotacionar carimbo
textStamp.Rotate = Rotation.on90;
// Definir propriedades do 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);
// Adicionar carimbo à página específica
pdfDocument.Pages[1].AddStamp(textStamp);

dataDir = dataDir + "AddTextStamp_out.pdf";
// Salvar documento de saída
pdfDocument.Save(dataDir);

Definir alinhamento para o objeto TextStamp

Adicionar marcas d’água a documentos PDF é uma das funcionalidades frequentemente solicitadas e o Aspose.PDF para .NET é totalmente capaz de adicionar marcas d’água de Imagem e de Texto. Temos uma classe chamada TextStamp que oferece a funcionalidade de adicionar carimbos de texto sobre o arquivo PDF. Recentemente, surgiu a necessidade de suportar a funcionalidade de especificar o alinhamento do texto ao usar o objeto TextStamp. Portanto, para atender a essa necessidade, introduzimos a propriedade TextAlignment na classe TextStamp. Usando esta propriedade, podemos especificar o alinhamento horizontal do texto.

Os seguintes trechos de código mostram um exemplo de como carregar um documento PDF existente e adicionar TextStamp sobre ele.

// Para exemplos completos e arquivos de dados, por favor, vá para https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// O caminho para o diretório dos documentos.
string dataDir = RunExamples.GetDataDir_AsposePdf_StampsWatermarks();

// Instanciar objeto Document com arquivo de entrada
Document doc = new Document(dataDir+ "DefineAlignment.pdf");
// Instanciar objeto FormattedText com string de exemplo
FormattedText text = new FormattedText("This");
// Adicionar nova linha de texto ao FormattedText
text.AddNewLineText("is sample");
text.AddNewLineText("Center Aligned");
text.AddNewLineText("TextStamp");
text.AddNewLineText("Object");
// Criar objeto TextStamp usando FormattedText
TextStamp stamp = new TextStamp(text);
// Especificar o Alinhamento Horizontal do carimbo de texto como Centralizado
stamp.HorizontalAlignment = HorizontalAlignment.Center;
// Especificar o Alinhamento Vertical do carimbo de texto como Centralizado
stamp.VerticalAlignment = VerticalAlignment.Center;
// Especificar o Alinhamento Horizontal do Texto do TextStamp como Centralizado
stamp.TextAlignment = HorizontalAlignment.Center;
// Definir margem superior para o objeto carimbo
stamp.TopMargin = 20;
// Adicionar o objeto carimbo na primeira página do documento
doc.Pages[1].AddStamp(stamp);

dataDir = dataDir + "StampedPDF_out.pdf";
// Salvar o documento atualizado
doc.Save(dataDir);

Preencher Texto com Contorno como Carimbo em Arquivo PDF

Implementamos a configuração do modo de renderização para cenários de adição e edição de texto. Para renderizar texto com contorno, por favor crie um objeto TextState e defina RenderingMode para TextRenderingMode.StrokeText e também selecione a cor para a propriedade StrokingColor. Posteriormente, vincule o TextState ao carimbo usando o método BindTextState().

O seguinte trecho de código demonstra a adição de Texto com Preenchimento e Contorno:

// Para exemplos completos e arquivos de dados, por favor, vá para https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// O caminho para o diretório de documentos.
string dataDir = RunExamples.GetDataDir_AsposePdf_StampsWatermarks();
// Criar objeto TextState para transferir propriedades avançadas
TextState ts = new TextState();
// Definir cor para o contorno
ts.StrokingColor = Color.Gray;
// Definir modo de renderização de texto
ts.RenderingMode = TextRenderingMode.StrokeText;
// Carregar um 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("PAGO EM CHEIO", System.Drawing.Color.Gray, "Arial", Facades.EncodingType.Winansi, true, 78));

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