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); $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') ->setPaper('a4', 'landscape')
->setOptions([ ->setOptions([
'defaultFont' => 'sans-serif', 'defaultFont' => 'DejaVu Sans',
'isHtml5ParserEnabled' => true, 'isHtml5ParserEnabled' => true,
'isRemoteEnabled' => true, 'isRemoteEnabled' => true,
]); ]);

View File

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