es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Laravel DomPDF Fuente Personalizada Muestra Cuadros Cuadrados

Estoy intentando generar un PDF que contenga caracteres chinos usando dompdf y por lo tanto descargué el paquete de fuente y agregué el siguiente código en mi archivo blade.php.

@font-face {
    font-family: 'simhei';
    font-style: normal;
    font-weight: normal;
    src: url('{{base_path().'/public/fonts/'}}'simhei.ttf) format('truetype');
}

body {  
    font-family: 'simhei', 'DejaVu Sans', sans-serif; 
}

Luego, intenté la API de nuevo con Postman. El cuerpo de la respuesta muestra cuadros en lugar de caracteres chinos como se muestra a continuación.

Imagen enlace

Pero si resalto el texto, muestra los caracteres chinos.

Imagen enlace

Si guardo la respuesta como un archivo en Postman, también muestra cuadros en lugar de caracteres chinos cuando lo abro en WPS Office.
También he intentado con otros paquetes de fuentes, incluidos Firefly Sung y msyh. Todos dan el mismo resultado.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el paquete de fuentes que descargaste y agregaste a tu código no está siendo reconocido correctamente por dompdf, lo que resulta en la visualización de cuadros en lugar de los caracteres chinos al generar el PDF.

    Aquí hay algunas cosas que podrías probar para solucionar el problema:

    1. Asegúrate de que el archivo de fuente se encuentre en el directorio correcto y de que la ruta especificada en tu código sea precisa. También es recomendable verificar el nombre del archivo y la extensión.
    2. Intenta usar un paquete de fuentes diferente y verifica si eso resuelve el problema. Mencionaste que probaste Firefly Sung y msyh, pero aún enfrentas el mismo problema. De todas maneras, vale la pena experimentar con diferentes paquetes de fuentes para ver si hay alguno en particular que funcione mejor para tu caso de uso.

    3. Verifica la codificación de los caracteres chinos en tus datos. Dompdf podría tener problemas con ciertas codificaciones, por lo que es importante asegurarse de que tus datos estén codificados de manera que puedan ser procesados correctamente por la fuente y el generador de PDF.

    4. Experimenta con diferentes opciones de fuentes en tu código. Puede que necesites ajustar cosas como el peso o el estilo de la fuente para asegurarte de que pueda mostrar correctamente los caracteres chinos.

    5. Considera contactar a la comunidad de dompdf para obtener ayuda. Ellos podrían tener consejos más específicos sobre cómo solucionar problemas relacionados con las fuentes.

    En general, es importante asegurarse de que todos los componentes del sistema (dompdf, el paquete de fuentes y tus datos) interactúen correctamente para asegurarte de que los caracteres chinos se muestren correctamente en el PDF.

Comments are closed.