www.state-it.info

Gran base de respuestas a las preguntas de los desarrolladores
Header decor

ITEXT7: Como crear un párrafo de mezcla de una variedad de fuentes?

iText_Q 2018-11-07 11:45:15

He utilizado iText 7 durante varios días para crear archivos pdf, y puedo decir que, lamentablemente, es muy diferente de iText 5 y documentación todavía no está suficientemente llena. Estoy tratando de crear un párrafo en el que se utilizan dos fuentes o dos de estilo (ejemplo: negrita el texto en mitad de un párrafo)

Cuando se utiliza el iText 5 se puede hacer con la ayuda de Chunks:

Font regular = new Font(FontFamily.HELVETICA, 12);
Font bold = Font font = new Font(FontFamily.HELVETICA, 12, Font.BOLD);
Phrase p = new Phrase("NAME: ", bold);
p.add(new Chunk(cc_cust_dob, regular));
PdfPCell cell = new PdfPCell(p);

En iText 7 y no ha encontrado la manera de hacerlo. Alguien consiguió hacerlo en la última versión de iText? Nota: Estoy usando C#, Java pero también será de utilidad.

Total answers: 1

iText_A 2018-11-07 12:02:21

por Favor, consulte la documentación que preste atención especial a la sección iText7: bloques de construcción "Capítulo 1: Introducción .... En este capítulo usted aprenderá que el uso de iText7, es mucho más fácil cambiar las fuentes, porque puede trabajar con el estándar de tipos de letra y su tamaño, se puede determinar, y volver a utilizar Style los objetos, etc.

Ejemplo:

PdfFont font = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN);
normal.setFont(font).setFontSize(14);
Style code = new Style();
PdfFont monospace = PdfFontFactory.createFont(FontConstants.COURIER);
code.setFont(monospace).setFontColor(Color.RED)
    .setBackgroundColor(Color.LIGHT_GRAY);
Paragraph p = new Paragraph();
p.add(new Text("The Strange Case of ").addStyle(normal));
p.add(new Text("Dr. Jekyll").addStyle(code));
p.add(new Text(" and ").addStyle(normal));
p.add(new Text("Mr. Hyde").addStyle(code));
p.add(new Text(".").addStyle(normal));
document.add(p);


para empezar vamos a definir el Style, lo llamaremos normal y será para él la fuente Times-Roman 14pt. Después de esto, vamos a definir el Style, que llamaremos code y le haremos rojo color de la fuente Courier, el tamaño 12pt con fondo gris. Después de esto, vamos a crear Paragraph, con la ayuda de Text los objetos, en las que intervienen estos estilos.

Tenga en cuenta que usted puede colgar add()los comentarios, como se hace en el siguiente ejemplo:

Text title1 = new Text("The Strange Case of ").setFontSize(12);
Text title2 = new Text("Dr. Jekyll and Mr. Hyde").setFontSize(16);
Text author = new Text("Robert Louis Stevenson");
Paragraph p = new Paragraph().setFontSize(8)
    .add(title1).add(title2).add(" by ").add(author);
document.add(p);


"Estableceremos el tamaño de la fuente para que se acaba de crear Paragraph en 8pt. El tamaño de la fuente se heredarán todos los objetos agregados a la Paragraph, si sólo los objetos no invalidan este tamaño por defecto. Esto se refiere a la title1, para el que hemos definido el tamaño de la fuente en 12pt y para title2, para el que hemos definido el tamaño de la fuente en 16pt. El contenido agregado como String (" by "), y el contenido agregado como Textel objeto para el cual no se ha definido el tamaño de la fuente, hereda el tamaño de la fuente en 8pt de Paragraph, en la que se han añadido."

Este es un extracto de un guía oficial, y espero que eso será suficiente para StackOverflow, donde las respuestas en la forma de un sólo las referencias no son bienvenidos. Sin embargo, creo que esto no debe llevar a la копипасту todo un capítulo del manual.

Preguntas relacionadas:

Footer decor

© www.state-it.info | Base of answers to questions for developers and programmers.