iText - iText Font - ¿Como cambiar el tamaño de las letras/fuentes en iText? - ¿Como cambiar el color de las letras/fuentes en iText? - ¿Como cambiar el tipo de las letras/fuentes en iText? - ¿Como cambiar el estilo de las letras/fuentes en iText? ¿Como asignarle BOLD / ITALIC / UNDERLINE / STRIKETHRU / BOLDITALIC a letras/fuentes en iText?

Hola, hoy vamos ver mas sobre el tipo de letra en iText, cambiar color, tamaño, fuente, etc. Si bien hay muchísimas cosas para hablar vamos intentar llegar a un punto medio para no marear a nadie. (Por el momento)



iText Font


La clase Font en iText, contiene todas las especificaciones de la fuente, es decir: el tipo de fuente (fontfamily), tamaño(size), estilo de fuente (style) y color.
El tipo de fuente se puede modificar para la mayoría de los elementos (Chunk,Phrase, Paragraph, etc).
La clase Font utiliza por default el tipo de letra Helvetica con un tamaño de 12 pt. de alto, siendo su color negro.

Clases/Enumerados Relacionadas con la clase Font

  • BaseFont: Clase base que contiene los tipos de fuentes soportadas.
  • FontFamily: Enumerado que contiene los tipos de letras (FontFamily). Por default los tipos de letras soportadas son: COURIER, HELVETICA, TIMES_ROMAN, SYMBOL, ZAPFDINGBATS, UNDEFINED.
  • BaseColor: Clase que maneja del tipo de color en forma de RGB (Red, Green, Blue). También se puede usar las constantes que posee de manera estáticas, contiene por default los colores:  LIGHT_GRAY, GRAY, DARK_GRAY, BLACK, RED, PINK, ORANGE, YELLOW, GREEN, MAGENTA, CYAN, BLUE.


Constructores de la clase  Font


  • Font(): Constructor vació asigna los valores  sin definir a FontFamily, size,  style. Es asignado como nulo BaseColor.
  • Font(BaseFont): Constructor que recibe un BaseFont.
  • Font(Font): Constructor que recibe otro Font como parámetro.
  • Font(FontFamily): Constructor que recibe un tipo de letra.
  • Font(BaseFont, size): Constructor que recibe un BaseFont y el tamaño de letra. 
  • Font(FontFamily, size): Constructor que recibe el tipo de letra y el tamaño de letra. 
  • Font(BaseFont, size, style): Constructor que recibe un BaseFont, el tamaño de letra y el estilo de la misma.
  • Font(FontFamily, size, style): Constructor que recibe el tipo de letra, el tamaño de letra y el estilo de la misma.
  • Font(BaseFont, size, style, BaseColor): Constructor que recibe un BaseFont, el tamaño de letra, el estilo de la misma y el BaseColor.



Propiedades de la clase Font

La clase Font cuenta con siguientes propiedades relacionadas directamente con los estilos:
  • BOLD (Negrita): 1
  • ITALIC (Cursiva): 2
  • UNDERLINE (Subrayado): 4
  • STRIKETHRU (Tachado): 8

Bueno dejando de lado tanta especificación técnica vamos al código.


¿Como cambiar el tamaño de las letras/fuentes en iText?

Primero tenemos que obtener una instancia de la clase Font.

Font fuente= new Font();

Luego mediante el método setSize() asignamos el tamaño que queremos. A modo de ejemplo asignaremos 64.

fuente.setSize(64);

Finalmente asignamos esta font al elemento, pudiendo ser  Chunk,Phrase, Paragraph, etc.

documento.add(new Paragraph("iText", fuente));

Resultado:




¿Como cambiar el tamaño de las letras/fuentes en iText?


¿Como cambiar el color de las letras/fuentes en iText?

Primero tenemos que obtener una instancia de la clase Font.

Font fuente= new Font();

Luego mediante el método setColor() el color que deseamos. A modo de ejemplo asignaremos un verde fluor.

Usando RGB:

fuente.setColor(0, 255, 0);

Usando la clase BaseColor:

fuente.setColor(BaseColor.GREEN);

Finalmente asignamos esta font al elemento, pudiendo ser  Chunk,Phrase, Paragraph, etc.

documento.add(new Paragraph("iText", fuente));

Resultado:


¿Como cambiar el color de las letras/fuentes en iText?

¿Como cambiar el tipo de las letras/fuentes en iText?

Primero tenemos que obtener una instancia de la clase Font.

Font fuente= new Font();

Luego mediante el método setFamily() el tipo de fuente que deseamos. A modo de ejemplo asignaremos COURIER.

fuente.setFamily("COURIER");

Usando el enumerado FontFamily:

fuente.setFamily(FontFamily.COURIER.toString());

Debido a que el constructor soporta pasarle el tipo de fuente podemos hacer directamente:

Font fuente = new Font(FontFamily.COURIER);

Finalmente asignamos esta font al elemento, pudiendo ser  Chunk,Phrase, Paragraph, etc.

documento.add(new Paragraph("iText", fuente));

Resultado:


¿Como cambiar el tipo de las letras/fuentes en iText?


¿Como cambiar el estilo de las letras/fuentes en iText? ¿Como asignarle BOLD / ITALIC / UNDERLINE / STRIKETHRU / BOLDITALIC a letras/fuentes en iText?

Primero tenemos que obtener una instancia de la clase Font.

Font fuente = new Font();

Luego mediante el método setStyle() el estilo que deseamos pero de manera Integer primitivo (int). A modo de ejemplo asignaremos un BOLD.


fuente.setStyle(1);

Usando las propiedades de la clase Font:

fuente.setStyle(Font.BOLD);

También podemos combinar valores con el PIPE  "|" (alt+124).

fuente.setStyle(Font.BOLD | Font.UNDERLINE);

Finalmente asignamos esta font al elemento, pudiendo ser  Chunk,Phrase, Paragraph, etc.

documento.add(new Paragraph("iText", fuente));

Resultado:


¿Como cambiar el estilo de las letras/fuentes en iText? ¿Como asignarle BOLD / ITALIC / UNDERLINE / STRIKETHRU / BOLDITALIC a letras/fuentes en iText?
Con estilo Bold.

¿Como cambiar el estilo de las letras/fuentes en iText? ¿Como asignarle BOLD / ITALIC / UNDERLINE / STRIKETHRU / BOLDITALIC a letras/fuentes en iText?
Con estilo Bold y subrayado.

Código con todas las modificaciones:





Bueno gente espero que les haya resultado util y entendible saludos.

Link Relacionados:
iText - Introduccion a iText - ¿Que es el iText? - ¿Para que sirve el iText? - ¿Donde bajar el iText? 

iText - ¿Como generar un PDF con iText? - Clases fundamentales en iText - ¿Como ingresar texto a un PDF con iText? 





iText - iText Font - ¿Como cambiar el tamaño de las letras/fuentes en iText? - ¿Como cambiar el color de las letras/fuentes en iText? - ¿Como cambiar el tipo de las letras/fuentes en iText? - ¿Como cambiar el estilo de las letras/fuentes en iText? ¿Como asignarle BOLD / ITALIC / UNDERLINE / STRIKETHRU / BOLDITALIC a letras/fuentes en iText? iText - iText Font - ¿Como cambiar el tamaño de las letras/fuentes en iText? - ¿Como cambiar el color de las letras/fuentes en iText? - ¿Como cambiar el tipo de las letras/fuentes en iText? - ¿Como cambiar el estilo de las letras/fuentes en iText? ¿Como asignarle BOLD / ITALIC / UNDERLINE / STRIKETHRU / BOLDITALIC a letras/fuentes en iText? Reviewed by El lado oscuro de java on noviembre 21, 2013 Rating: 5

13 comentarios:

  1. Gracias amigo, esto es justo lo que estaba buscanco :)

    ResponderEliminar
  2. hola amigo me ayudo mucho, una pregunta, para modificar de un txt seria el mismo codigo?, gracias

    ResponderEliminar
    Respuestas
    1. Hola Jorge, no entiendo la pregunta, el txt es texto plano lo único que cambia es la configuracion del notepad que tengas.

      Eliminar
    2. bueno, esque lo que quiero que se cree un pdf pero con una fuente especial, pero cuando lo hago imprime igual, entonces queria ver si tal vvez en un txt se pueda, por eso mi pregunta si se puede generar un txt de la misma forma

      Eliminar
    3. Hola Jorge, gracias por pasar, te vuelvo a repetir el TXT no tiene formato, es texto plano es decir por mas que le pongas bolt, o cambies el tipo de letra, o la subrayes, no te lo va a tomar. Por otro lado se me ocurre que estas teniendo problemas con la generación del pdf si pudiste cambiarle el formato a un pdf y mostrarlo en pantalla por favor avísame y te paso un correo así me envías el ejemplo y lo podemos discutir.
      Saludos

      Eliminar
    4. hola amigo, muchas gracias por contestar, ya resolvi mi problema, solo agrege una fuente a fontfamily y con eso me imprimio con la fuente especial el pdf, gracias por la atencio de verdad, me ah sido de gran ayuda, saludos

      Eliminar
  3. Hola..
    Me gustaría si se puede colocar en negrilla una parte de una cadena de caracteres. ejemplos.
    El señor (Juan Garcia - Esto en negrilla ) natural de San jose...

    ResponderEliminar
  4. hola y como podría dar un formato distinto por ejemplo

    nombre: naya

    donde nombre este en negritas y naya en otro tipo de letra

    ResponderEliminar
  5. hola y como podría dar un formato distinto por ejemplo

    nombre: naya

    donde nombre este en negritas y naya en otro tipo de letra

    ResponderEliminar
  6. Buenos días, sabes como podría poner en negrita una palabra del párrafo?? html no funciona y las etiquetas de texto enriquecido tampoco... ya no se como hacerlo.. he dado vuelta internet...

    ResponderEliminar
  7. Este comentario ha sido eliminado por el autor.

    ResponderEliminar

Con la tecnología de Blogger.