![]() |
Manejo de texto enriquecido (o HTML?)
Buen día
tengo la necesidad de crear algunos PDF a partir de texto e imágenes que debo almacenar en una BD MySQL... aquí tengo el primer problema, como debo almacenar un texto que contenga letras en Negrita o en otro color? Para crear los PDF, se me ocurrió usar la capacidad de ReportBuilder para generar PDFs, RB tiene componentes para tomar imágenes y (texto enriquecido) desde una tabla, asi que creo que si logro solventar el problema del guardado podre generar el PDF... Otra opción en la que he estado pensando es guardar el código HTML en la tabla (así lo hago para generar correos), pero... no se como poder tomar ese código HTML y ponerlo en RB o, generar a partir de ahí, un PDF sin usar RB. Espero haber planteado mi dilema claramente |
Creo entender que lo que quieres es guardar un pdf en la base de datos, ¿es eso?
Para eso se usan los campos del tipo BLOB, ahí puedes guardar lo que quieras. |
Cita:
Por el momento el problema que tengo es como guardar el texto (con efectos como negritas y colores ) en la tabla, para posteriormente generar un archivo PDF a partir de esa información. |
Hay varias opciones. Todas pasan por un lenguaje intermedio.
El mas basico es markdown: https://commonmark.org Asi guardas en "texto plano" y luego lo conviertes a otros formatos, como html o pdf. Este es util cuando necesitas es algo parecido a Word, donde necesitas texto para documentos. Para mas complicaciones HTML es lo mejor. Puedes ir de HTML a PDF, el lio es que porque html es mas complejo la conversion lo es mucho mas. Aun si limitas el html a unos cuantos tags el engine por defecto debe asumir que puede tener de todo. Asi que si es posible usa markdown o similar. Mas alla depende de requerimientos. |
Cita:
|
Cita:
Pandoc es una forma popular de hacerlo: https://pandoc.org Con Delphi no lo he hecho, pero la idea es la misma. Puedes hacer una invocación por terminal o usar algún componente (recordémoos uno bastante completo): https://www.trichview.com/features/files.html |
| La franja horaria es GMT +2. Ahora son las 21:39:59. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi