Veran, tengo una lista de juegos en mi base de datos y quiero poder generar documentos PDF para cada juego.
Al pulsar el botón subrayado me llevara a la siguiente función:
public function imprimir(Juego $j){
$pdf = PDF::loadView('pdf.juego', compact('j'));
$salida=$pdf->output();
$ruta='C:/Users/pcx/Desktop/Juego '.$j->numero.' '.$j->nombre.'.pdf';
file_put_contents($ruta, $salida);
return back()->with('message',['success','El PDF con los datos del juego se han creado con exito. Buscalo en tu escritorio.']);
}
Y este es el código de la vista con la que imprimiremos el juego:
@extends('layouts.app')
<html lang="es">
<body>
<font size="15" style="display: inline;">Juego Nº {{$j->numero}}: {{$j->nombre}}</font> <img style="width: 68px; height: 68px;" align="right" src="{{url($j->ruta())}}"/>
<hr>
<div class="row justify-content-center">
<div class="col-md-5 card card-1">
<div class="card-body">
<p><b>Materiales:</b> {{$j->materiales}}</p><br>
<p><b>Agrupación de los jugadores:</b> {{$j->agrupacion->nombre}}</p><br>
<h3>Organización:</h3>
<p class="badge-primary" style="float: left; padding-left: 5px; padding-right: 4px; border-radius: 5px;">{{$j->organizacion}}</p>
<br><br><br>
<h3>Desarrollo del juego</h3>
<p class="badge-primary" style="float: left; padding-left: 5px; padding-right: 4px; border-radius: 5px;">{{$j->desarrollo}}</p>
@if($j->observaciones!="*")
<br><br>
<h3>Reglas y observaciones:</h3>
<p class="badge-primary" style="float: left; padding-left: 5px; padding-right: 4px; border-radius: 5px;">{{$j->observaciones}}</p>
@endif
@if($j->variantes!="*")
<br><br>
<h3>Variantes:</h3>
<p class="badge-primary" style="float: left; padding-left: 5px; padding-right: 4px; border-radius: 5px;">{{$j->variantes}}</p>
@endif
<?php
$contenidos=$j->enlaces;
?>
@if(count($contenidos))
<br><br><br>
<h3>Contenidos:</h3>
@foreach($contenidos as $contenido)
<span class="badge badge-cat badge-info">{{$contenido->contenido->nombre}}</span>
@endforeach
@endif
</div>
</div>
</div>
</body>
</html>
Pero me sale este mensaje de error:
Cuando lo hacia con localhost funcionaba.
Otra cosa que he intentado este código:
public function imprimir(Juego $j){
$pdf = PDF::loadView('pdf.juego', compact('j'));
return $pdf->download('Juego Nº '.$j->numero.': '.$j->nombre.'.pdf');
}
Y me sale esto: