2012-02-04 16 views
9

Estoy intentando establecer una fuente personalizada en Párrafo, pero no puedo hacer que funcione. He intentado configurar .Font =, pero solo funciona en cuanto al tamaño, pero ignora la fuente. ¿Podrías ayudarme?ItextSharp (Itext): configure la fuente personalizada para el párrafo

Paragraph T = new Paragraph(newTempLine); 
iTextSharp.text.Font contentFont = iTextSharp.text.FontFactory.GetFont("Webdings", 12, iTextSharp.text.Font.NORMAL); 
T.Font = contentFont; 
myDocument.Add(T); 

Respuesta

12

puso en the constructor:

Font contentFont = FontFactory.GetFont(…); 
Paragraph para = new Paragraph(newTempLine, contentFont); 
+1

¿Por casualidad tiene ninguna información sobre por qué esto funciona y '' T.Font = ... no lo hace? – Nenotlep

+2

@Nenotlep No soy realmente una autoridad en iText internals y tendría que hurgar en la fuente o algo así, pero supongo que al establecer la propiedad de fuente solo cambia la fuente del texto que agregas al párrafo más adelante. (Esto se basa en el hecho de que 'Paragraph' tiene un método' add (Element) ', por lo que parece ser un elemento compuesto en sí.) – millimoose

+1

@Nenotlep Recuerde que PDF no es ** ** un marcado declarativo, es un derivado de PostScript, un lenguaje de dibujo imperativo optimizado para renderizar documentos muy grandes sin tener que mantenerlos completamente en la memoria. Para permitir el flujo de salida, iText tampoco construye una representación de documento en la memoria: creo que cuando agrega un elemento a un documento, generalmente se escribe de inmediato. Parece que está manipulando una representación lógica de una estructura de documento, pero la transmisión puede filtrarse a través de esta abstracción. – millimoose

Cuestiones relacionadas