Laravel: Reportes Estilizados con SnappyPDF

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ก.ย. 2024

ความคิดเห็น • 84

  • @darioesquina5516
    @darioesquina5516 10 หลายเดือนก่อน +1

    Pude implementarlo si estas usando windows descárgalo de forma global, no con composer luego en config/snappy.php lo configuras así 'binary' => '"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe"', y 'binary' => '"C:\Program Files\wkhtmltopdf\bin\wkhtmltoimage.exe"', asegurate que esa sea la ruta y puedes seguir el tutorial, Like si te ayudo. Excelente Luis gracias por el aporte.

    • @codewithluis
      @codewithluis  10 หลายเดือนก่อน

      Muchas gracias.
      Lo voy a dejar fijado para que los demas sepan.
      Saludos.

  • @fcomosan
    @fcomosan ปีที่แล้ว

    Desearia haber visto tu video antes de inatalar dompdf.
    Excelente video
    Saludos

    • @codewithluis
      @codewithluis  ปีที่แล้ว

      Ayer hice uno de DOMPDF con estilos por si te sirve. Lo puedes buscar en el canal.
      Y Snappy es bueno también.
      Saludos.

    • @fcomosan
      @fcomosan ปีที่แล้ว

      Hola @@codewithluis
      como haces cuando tienes que convertir un documento pdf a imagen?
      segun el paquete, dice que lo puede hacer, pero no aparecen ejemplos en la documentacion.

    • @codewithluis
      @codewithluis  ปีที่แล้ว

      @@fcomosan no lo he probado pero en lugar del facade PDF puedes usar SnappyImage y ver si te lo crea

  • @JoseRosadoCrespo
    @JoseRosadoCrespo 2 ปีที่แล้ว

    Viene de lujo, gracias 👌🏾🙌🏾

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว

      Gracias a ti tambien por estar pendiente de los videos que voy subiendo. Saludos.

  • @statuqo
    @statuqo 2 ปีที่แล้ว

    Vamos a probar, excelente opción, gracias Luis...

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว

      Gracias a ti por ver los videos y estar pendiente del canal. Saludos.

  • @statuqo
    @statuqo 2 ปีที่แล้ว +2

    ¡Gracias!

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว

      Muchas gracias por siempre estar atento y apoyar el contenido. Saludos.

  • @magicbeats330
    @magicbeats330 ปีที่แล้ว

    gracias como siempre por todo

    • @codewithluis
      @codewithluis  ปีที่แล้ว +1

      Muchas a ti por ver los videos.
      Saludos.

  • @luisguillermooviedoochoa6196
    @luisguillermooviedoochoa6196 2 ปีที่แล้ว +1

    Excelente voy a probar si no me da problema al cargarle unos qr que si me dio lio con el dompdf
    Gracias

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว +1

      Ojala que no, este paquete es un poco mas flexible en ese aspecto y no creo que vaya a darte problemas pero cualquier cosa avisas

  • @freddyquispetello8631
    @freddyquispetello8631 2 ปีที่แล้ว +1

    Genial Luis, imagino que funciona igual con tailwindcss una consulta. Cómo ocupar todo el ancho del PDF?

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว +1

      Si debería funcionar igual, si te fijas en la documentación puedes establecer el margen del pdf usando setOption, puedes revisar la doc la dejé en la descripción con eso deberías poder usar todo el espacio del PDF igual puedes establecer el tipo de papel como A4. Saludos.

  • @Radiosabines
    @Radiosabines 2 ปีที่แล้ว

    Magnifique !

  • @Avefenixfuego8
    @Avefenixfuego8 2 ปีที่แล้ว

    Genial muy buena opción. Yo estoy usando la última versión de Bootstrap 4, mi duda es si funcionará con Bootstrap 4. Gracias.

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว +1

      Si debería funcionar pero si tienes algún problema me avisas. Saludos.

  • @alextastico
    @alextastico ปีที่แล้ว

    Muy buen tutorial !! Pero que pasa si son varias tablas y se quisiera una por hoja?
    Por ejemplo, la ficha de matrículas de una escuela y quiero visualizar/descargar el pdf de todos los alumnos de un curso ¿cómo sería para sacar uno por hoja?

    • @codewithluis
      @codewithluis  ปีที่แล้ว

      Los haces por separado, creas un pdf para descargar los alumnos por curso y creas otro para ver todas las matriculas.
      No se si eso resuelve tu duda pero es mas facil.
      Cualquier cosa me avisas

  • @jonathankevinsandovalnunez4397
    @jonathankevinsandovalnunez4397 11 หลายเดือนก่อน

    Que bueno vídeo, se puede mostrar el listado entre tablas relacionadas? Para emitir reporte?

    • @codewithluis
      @codewithluis  11 หลายเดือนก่อน +2

      Si las puedes relacionar y mostrarlas.
      Saludos.

    • @jonathankevinsandovalnunez4397
      @jonathankevinsandovalnunez4397 11 หลายเดือนก่อน

      Hola@@codewithluis , estoy probando la libreia ya me trae los datos probando haciendo un dd; pero cuando trato de mostrar el pdf me sale error: The exit status code '1' says something went wrong: stderr: "El sistema no puede encontrar la ruta especificada. " stdout: "" command: C:\xampp\htdocs
      adiadores\vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64 --lowquality

    • @jonathankevinsandovalnunez4397
      @jonathankevinsandovalnunez4397 11 หลายเดือนก่อน

      @@codewithluis, asi tengo configura el archivo de snappy, lo instale usando composer: 'pdf' => [
      'enabled' => true,
      'binary' => base_path('vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64'),
      'timeout' => false,
      'options' => [],
      'env' => [],
      ],

      'image' => [
      'enabled' => true,
      'binary' => base_path('vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64'),
      'timeout' => false,
      'options' => [],
      'env' => [],
      ],

    • @codewithluis
      @codewithluis  11 หลายเดือนก่อน

      @@jonathankevinsandovalnunez4397 si te fijas la barra invertida esta al reves en la ruta, por ahi puede andar el problema

    • @jonathankevinsandovalnunez4397
      @jonathankevinsandovalnunez4397 11 หลายเดือนก่อน

      @@codewithluis , acomode la barra invetida pero persiste el proble,a instale usando composer en proyecto local estoy en windows, pero me sale el status 1, instale el paquete y luego publique los views

  • @Mariobros188
    @Mariobros188 5 หลายเดือนก่อน

    Buenas noches, pude realizar las instalación por medio de la descarga del Installer para Windows, pero tengo un pequeño problema con las imágenes, no me las muestra, solo muestra un recuardo con fondo blanco, ¿Hay alguna solución para ello?

    • @codewithluis
      @codewithluis  5 หลายเดือนก่อน

      Revisa si el path es correcto, tambien ejecuta si es necesario el php artisan storage link
      Me avisas cualquier cosa
      Saludos.

  • @darkorkos
    @darkorkos 8 หลายเดือนก่อน

    pregunta esto igual pagina el conetnido de manera automatica o hay que hacer alguna configuracion adicional ?

    • @codewithluis
      @codewithluis  8 หลายเดือนก่อน +1

      Se me fue probar esa parte, imagino que se debe configurar.

  • @jonathankevinsandovalnunez4397
    @jonathankevinsandovalnunez4397 11 หลายเดือนก่อน

    Hola Luis, esta bueno el video, consulta se puede poner pie de pagina numero en snappy y encabezado?

    • @codewithluis
      @codewithluis  11 หลายเดือนก่อน

      Yo creeria que si pero no probe eso

  • @RichardSDN
    @RichardSDN ปีที่แล้ว

    Hola Excelente tutorial, solo una duda, si imprimo una tabla que abarque 2 hojas, como le hago para que las 2 tengan el mismo encabezado con el logo y el mismo pie de pagina?

    • @codewithluis
      @codewithluis  ปีที่แล้ว +1

      Hola Ricardo.
      Te paso un link
      www.nicesnippets.com/blog/how-to-set-header-and-footer-in-laravel-pdf
      Es con dompdf pero la logica es la misma con eso vas poder tener el encabezado y el footer.
      Espero te funcione.
      Saludos.

  • @PhantomAce999
    @PhantomAce999 4 หลายเดือนก่อน

    una consulta ¿Funciona con laravel 9? y si no ¿Qué alternativa recomienda?.

    • @codewithluis
      @codewithluis  4 หลายเดือนก่อน

      Creería que sí, pero si puedes actualizar a Laravel 10 es mejor.
      Saludos

    • @PhantomAce999
      @PhantomAce999 4 หลายเดือนก่อน

      @@codewithluis Muchas gracias.

  • @lcjl312
    @lcjl312 ปีที่แล้ว

    hola buenas, alguna libreria de pdf que soporte php8.2?, estoy en busca de uno que me soporte eso para el backend, de lo contrario lo tendre que hacer por frontend, buen video

    • @codewithluis
      @codewithluis  ปีที่แล้ว +1

      Prueba con dompdf
      github.com/barryvdh/laravel-dompdf

  • @NicolasEzequielAlmonacid
    @NicolasEzequielAlmonacid 2 ปีที่แล้ว

    Hola Luis, no tendrás algún ejemplo de como pasar gráficas de Google charts a un PDF con snappy

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว +2

      No tengo un vídeo pero puedes usar está guía medium.com/@almestaadmicadiab/laravel-snappy-for-pdf-with-charts-e5c9b757d6dd

  • @anonimatrix6808
    @anonimatrix6808 2 ปีที่แล้ว

    Hola, muy buenos dias. Tengo una duda sobre laravel. Estoy desarrollando un proyecto muy grande yo solo. Tiene demasiadas funciones y no se bien como organizarme. No se si tenes tips o alguna manera para poder estar mas organizado, sabiendo en que orden ir haciendo las distintas funciones, teniendo una lista de las que ya realice y las que me faltan. Desde ya, muchas gracias

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว +2

      No se si me podrias dar un poco más de detalles de que tipo de funciones son, pero si te puedo tips en general, si los controladores están muy sobrecargados pueden dividir las funciones en services (servicios), traits o incluso observers, eso va a depender de lo que esperas de cada función.
      Si gustas me escribes al correo que dejo en la descripción para que me des más detalles.
      Saludos.

    • @newplays9840
      @newplays9840 ปีที่แล้ว +1

      Los proyecto grande es buenos primeros define un objetivo general luego los específicos. Y dividir las actividades e ir trabajando una por una.
      MIRA ESTE DE UN JUEGO EJEMPLO
      NAME: Nombre del proyecto.
      DESCRIPCIÓN : una breve descripción del proyecto por si necesita ayuda de alguien le puede mostrar esa descripción para que sepa de que trata el proyecto
      Objetivo general:
      crear un juego 2D arcade aventura.
      Objetivos específicos:
      1. Establecer un personaje que reciba y cause daño a los enemigos.
      2. Establecer enemigos que reciba y cause daño al personaje.
      3. Establecer escenarios dinámicos que permitan el desplazamiento del personaje y los enemigo sobre ellos.
      4. Establecer objeto que permitan interactuar al personaje con ellos.
      Variables
      * Player:
      * Enemigos:
      * Objetos interactivos:
      * Mapa o escenas:
      Herramienta :
      Blender: Herramienta de modelos 3d.
      Quixel Mixel texturing: herramienta para textura.
      Unity 3d: motor gráfico.
      Photoshop: coeditor de imagen para crear escenarios y personajes 2D
      3d scanner app™

  • @eduardosarmiento9757
    @eduardosarmiento9757 2 ปีที่แล้ว

    Hace unas semanas lo implemente para generar reportes de inventario, pero no me funciono , cuando procesaba mi documento el cual contenia 5mil datos no terminaba de procesarlo, los estilos no terminaba de procesarlos, sabes a que se debe esto ?

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว +1

      Puede ser la cantidad de datos, tendrías que revisar si en archivo log te genera un error, también prueba con unos 100 datos y ver si te funciona con eso podrías confirmar que puede ser la cantidad por algún tema de exceso de memoria o algo así.

    • @agarnoakanoa5416
      @agarnoakanoa5416 ปีที่แล้ว

      Fpdf es tu solución también tuve el mismo problema.

  • @JM-pu3ih
    @JM-pu3ih 2 ปีที่แล้ว

    E escuchado que ya se corrigio en su nueva versión de dompdf para imágenes

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว

      Como se corrio?

    • @JM-pu3ih
      @JM-pu3ih 2 ปีที่แล้ว

      @@codewithluis disculpa error ortográfico

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว +1

      @@JM-pu3ih si, hace poco salió la nueva versión y metieron muchas cosas nuevas donde arreglan varios problemas pero todavía no he probado la parte de imágenes

  • @juanxolin
    @juanxolin 2 ปีที่แล้ว

    Excelente tutorial, pero he probado de mil maneras y no me carga los estilos css :(

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว

      Te arroja algun error en la consola o en el log de Laravel?

  • @ricardoiraheta5342
    @ricardoiraheta5342 2 ปีที่แล้ว

    hola una pregunta esto es para trabajarlo local pero como seria para ponerlo ya en produccion

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว +1

      Tendrías que instalar wkhtmltopdf en el servidor y luego sigue los pasos para instalar y configurar snappy y debería funcionar

    • @ricardoiraheta5342
      @ricardoiraheta5342 2 ปีที่แล้ว

      @@codewithluis gracias lo intentaré y como puedo hacer para sacar el reporte de una lista de productos he estado intentando y siempre me saca los datos de un producto cuando generó el reporte

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว +1

      @@ricardoiraheta5342 así como muestro en el vídeo, pasas el listado a través de la consulta y luego usas el foreach

    • @ricardoiraheta5342
      @ricardoiraheta5342 2 ปีที่แล้ว

      @@codewithluis gracias ya me funciono,
      queria preguntar si sabes como crear notificaciones.
      osea estoy trabajando en un proyecto para una veterinaria y tengo un formulario de consultas que tiene fecha que hiso la consulta y fecha ppara la proxima consulta entonces quiero que en el proyecto me notifique cuando vaya hacer la proxima consulta no se si me doy a entender

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว +1

      @@ricardoiraheta5342 puedes crear un comando como el que hice en este video th-cam.com/video/wP01SjsejzQ/w-d-xo.html con la diferencia de que la funcion que vas a crear sera para mandar emails automaticos para recordarles a los usuarios.
      Espero que el video te ayude

  • @freddyquispetello8631
    @freddyquispetello8631 2 ปีที่แล้ว

    No funciona con Tailwindcss lamentablemente :c

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว

      Podrías intentar con este enlace está hecho para bootstrap pero funciona la misma lógica para tailwind
      github.com/barryvdh/laravel-snappy/issues/258#issuecomment-474707844

    • @freddyquispetello8631
      @freddyquispetello8631 2 ปีที่แล้ว

      @@codewithluis $html .= '';
      $html .= ' @import "local.ip.or.url:port/path/to/css/your.css";';
      $html .= ' @import "local.ip.or.url:port/path/to/css/bootstrap.min.css";';
      $html .= ''; donde pondria eso exactamente? en el head amigo? me sale como si no reconociera el primera linea y esa linea me muestra en el pdf

    • @codewithluis
      @codewithluis  2 ปีที่แล้ว

      @@freddyquispetello8631 si tiene que ser en el header pero si no funciona puedes intentar está otra solución
      laracasts.com/discuss/channels/general-discussion/loading-externalinternal-css-tailwindcss-if-possible
      Al final dice que uso un include y con esp pudo usar las clases de tailwind.
      Espero que te funcione

  • @chelitodelgado0
    @chelitodelgado0 ปีที่แล้ว

    Una consulta, yo instale wkhtmltopdf mediante composer ya que utilizo Arch linux y no logre hacer la instalación local por falta de una libreria. Ahora todo bien cuando genero reportes sin utilizar estilos pero cuando cargo los etilos de mi plantilla que usa bootstrap 4 o incluso cargando los estilos de css/app.css me arroja el siguiente error: vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64 --lowquality '/tmp/knp_snappy6381247de05382.17361704.html' '/tmp/knp_snappy6381247de05701.26703777.pdf'" exceeded the timeout of 60 seconds. alguna idea?

    • @chelitodelgado0
      @chelitodelgado0 ปีที่แล้ว

      Quiero suponer que me arroja este error ya que no instale wkhtmltopdf localmente y via composer me limita a cargar los estilos incluso imágenes

    • @codewithluis
      @codewithluis  ปีที่แล้ว +1

      Si, eso puede ser pero de igual forma prueba usando el timeout como lo puedes ver en este link stackoverflow.com/questions/44776592/timeout-issue-generate-wkhtmltopdf-in-symfony-2-4-knpsnappy-bundle
      Espero te funcione

    • @chelitodelgado0
      @chelitodelgado0 ปีที่แล้ว

      @@codewithluis Debe ser la algo de mi version uso la ^1.0 de snappy ya que si utilizo CDN si funciona pero no me carga las imágenes, de igual forma muchas gracias.

    • @codewithluis
      @codewithluis  ปีที่แล้ว

      @@chelitodelgado0 si es probable que sea algun problema con la version, intenta de nuevo con la instalacion en local quizas eso te resuelva el problema