No estoy seguro de que esto sea posible, pero pensé que valdría la pena preguntar. He descubierto cómo configurar la fuente de un formfield usando los métodos pdfstamper y acrofields, pero me gustaría poder establecer la fuente de diferentes partes del texto en el mismo campo. Así es como estoy configurando el tipo de letra de los campos del formulario actualmente:Establecer diferentes partes de un campo de formulario para tener diferentes tipos de letra utilizando iTextSharp
// Use iTextSharp PDF Reader, to get the fields and send to the
//Stamper to set the fields in the document
PdfReader pdfReader = new PdfReader(fileName);
// Initialize Stamper (ms is a MemoryStream object)
PdfStamper pdfStamper = new PdfStamper(pdfReader, ms);
// Get Reference to PDF Document Fields
AcroFields pdfFormFields = pdfStamper.AcroFields;
//create a bold font
iTextSharp.text.Font bold = FontFactory.GetFont(FontFactory.COURIER, 8f, iTextSharp.text.Font.BOLD);
//set the field to bold
pdfFormFields.SetFieldProperty(nameOfField, "textfont", bold.BaseFont, null);
//set the text of the form field
pdfFormFields.SetField(nameOfField, "This: Will Be Displayed In The Field");
// Set the flattening flag to false, so the document can continue to be edited
pdfStamper.FormFlattening = true;
// close the pdf stamper
pdfStamper.Close();
Lo que me gustaría ser capaz de hacer cuando me puse el texto anterior está el "Este" en negrita y dejar la " Se mostrará en el campo "sin negrita". No estoy seguro de que esto sea realmente posible, pero pensé que valía la pena preguntar, porque realmente sería útil en lo que estoy trabajando actualmente.
¡Gracias de antemano!
¿Dónde se distingue entre el texto en el formulario de campo? ¿Cómo sabe establecer esto: a una fuente diferente? – Jake
@Jake Si va a la referencia de PDF vinculada en mi respuesta, sección 12.7.4.3, verá la descripción completa de lo que está permitido. Básicamente es un subconjunto de HTML. –