Para realizar esto vamos a hacer uso de la librería ITextSharp.Net, la cual deben instalar primero mediante Nuget (si no sabes cómo utilizar Nuget yo te muestro aquí).
El código a continuación viene comentado paso a paso para que puedas entender cómo se puede insertar texto en un archivo PDF existente.
//rutas de nuestros pdf string pathPDF = @"C:\original.pdf"; string pathPDF2 = @"C:\con_texto.pdf"; //Objeto para leer el pdf original PdfReader oReader = new PdfReader(pathPDF); //Objeto que tiene el tamaño de nuestro documento Rectangle oSize = oReader.GetPageSizeWithRotation(1); //documento de itextsharp para realizar el trabajo asignandole el tamaño del original Document oDocument = new Document(oSize); // Creamos el objeto en el cual haremos la inserción FileStream oFS = new FileStream(pathPDF2, FileMode.Create, FileAccess.Write); PdfWriter oWriter = PdfWriter.GetInstance(oDocument, oFS); oDocument.Open(); //El contenido del pdf, aqui se hace la escritura del contenido PdfContentByte oPDF = oWriter.DirectContent; //Propiedades de nuestra fuente a insertar BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); oPDF.SetColorFill(BaseColor.RED); oPDF.SetFontAndSize(bf, 8); //Se abre el flujo para escribir el texto oPDF.BeginText(); //asignamos el texto string text = "HOLA SOY UN TEXTO ROJO EN UN PDF"; // Le damos posición y rotación al texto // la posición de Y es al revés de como estamos acostumbrados oPDF.ShowTextAligned(1, text, 30, oSize.Height-30, 0); oPDF.EndText(); //crea una nueva pagina y agrega el pdf original PdfImportedPage page = oWriter.GetImportedPage(oReader, 1); oPDF.AddTemplate(page, 0, 0); // Cerramos los objetos utilizados oDocument.Close(); oFS.Close(); oWriter.Close(); oReader.Close();