fix: pdf impresión de constancia

This commit is contained in:
Juan Felipe Zapata Moreno 2026-01-26 10:23:53 -06:00
parent 64196c9d5b
commit b1f05e6267
2 changed files with 42 additions and 24 deletions

View File

@ -48,10 +48,24 @@ public function generatePdfConstancia($id)
{
$record = Record::with('vehicle.owner.municipality', 'user')->findOrFail($id);
$pdf = Pdf::loadView('pdfs.constancia', compact('record'))
// Preparar datos con conversión UTF-8 a mayúsculas
$data = [
'niv' => $record->vehicle->niv,
'placa' => mb_strtoupper($record->vehicle->placa, 'UTF-8'),
'marca' => mb_strtoupper($record->vehicle->marca, 'UTF-8'),
'linea' => mb_strtoupper($record->vehicle->linea, 'UTF-8'),
'modelo' => $record->vehicle->modelo,
'full_name' => mb_strtoupper($record->vehicle->owner->full_name, 'UTF-8'),
'callep' => mb_strtoupper($record->vehicle->owner->callep ?? '', 'UTF-8'),
'num_ext' => $record->vehicle->owner->num_ext,
'municipality' => mb_strtoupper($record->vehicle->owner->municipality->name ?? '', 'UTF-8'),
'tipo_servicio' => mb_strtoupper($record->vehicle->tipo_servicio, 'UTF-8'),
];
$pdf = Pdf::loadView('pdfs.constancia', $data)
->setPaper('a4', 'landscape')
->setOptions([
'defaultFont' => 'sans-serif',
'defaultFont' => 'DejaVu Sans',
'isHtml5ParserEnabled' => true,
'isRemoteEnabled' => true,
]);

View File

@ -11,8 +11,8 @@
}
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 10.5pt;
font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
font-size: 9.5pt;
margin: 0;
padding: 0;
}
@ -23,6 +23,10 @@
height: 297mm;
}
.left-col-linea-modelo, .right-col-linea-modelo {
font-size: 8.5pt;
}
/* COLUMNA IZQUIERDA */
.left-col-vin {
position: absolute;
@ -63,20 +67,20 @@
.left-col-propietario {
position: absolute;
left: 5mm;
top: 43mm;
top: 46mm;
}
.left-col-direccion {
position: absolute;
left: 5mm;
top: 48mm;
font-size: 8pt;
top: 51mm;
font-size: 7pt;
}
.left-col-municipio {
position: absolute;
left: 5mm;
top: 52mm;
top: 55mm;
}
/* COLUMNA DERECHA */
@ -119,7 +123,7 @@
.right-col-particular {
position: absolute;
left: 105mm;
top: 42mm;
top: 45mm;
}
</style>
</head>
@ -130,39 +134,39 @@
<!-- VIN -->
<div class="left-col-vin ">
{{ $record->vehicle->niv }}
{{ $niv }}
</div>
<!-- Placa -->
<div class="left-col-placa ">
{{ strtoupper($record->vehicle->placa) }}
{{ $placa }}
</div>
<!-- Marca -->
<div class="left-col-marca">
{{ strtoupper($record->vehicle->marca) }}
{{ $marca }}
</div>
<!-- Línea y Modelo -->
<div class="left-col-linea-modelo">
<span class="left-col-linea">{{ strtoupper($record->vehicle->linea) }}</span>
<span class="left-col-modelo">{{ $record->vehicle->modelo }}</span>
<span class="left-col-linea">{{ $linea }}</span>
<span class="left-col-modelo">{{ $modelo }}</span>
</div>
<!-- Propietario -->
<div class="left-col-propietario ">
{{ strtoupper($record->vehicle->owner->full_name) }}
{{ $full_name }}
</div>
<!-- Dirección -->
<div class="left-col-direccion">
{{ strtoupper($record->vehicle->owner->callep ?? '') }}
{{ $record->vehicle->owner->num_ext }}
{{ $callep }}
{{ $num_ext }}
</div>
<!-- Municipio -->
<div class="left-col-municipio ">
{{ strtoupper($record->vehicle->owner->municipality->name ?? '') }}, TAB
{{ $municipality }}, TAB
</div>
@ -170,28 +174,28 @@
<!-- VIN -->
<div class="right-col-vin ">
{{ $record->vehicle->niv }}
{{ $niv }}
</div>
<!-- Placa -->
<div class="right-col-placa ">
{{ strtoupper($record->vehicle->placa) }}
{{ $placa }}
</div>
<!-- Marca -->
<div class="right-col-marca">
{{ strtoupper($record->vehicle->marca) }}
{{ $marca }}
</div>
<!-- Línea y Modelo -->
<div class="right-col-linea-modelo">
<span class="right-col-linea">{{ strtoupper($record->vehicle->linea) }}</span>
<span class="right-col-modelo">{{ $record->vehicle->modelo }}</span>
<span class="right-col-linea">{{ $linea }}</span>
<span class="right-col-modelo">{{ $modelo }}</span>
</div>
<!-- PARTICULAR -->
<div class="right-col-particular ">
{{ strtoupper($record->vehicle->tipo_servicio) }}
{{ $tipo_servicio }}
</div>
</div>
</body>