$sales */ public function downloadSales(Tenant $tenant, Collection $sales): Response { $pdf = Pdf::loadView('pdf.adminapp.sales', [ 'tenant' => $tenant, 'sales' => $sales, 'generatedAt' => now(), 'confirmedSalesTotal' => number_format( (float) $sales->where('status', Purchase::STATUS_PAID)->sum('total'), 2, '.', '', ), ])->setPaper('a4', 'landscape'); $this->addPageNumbers($pdf); return $pdf->download( 'ventas_'.$tenant->codigo.'_'.now()->format('Ymd_His').'.pdf' ); } /** @param Collection $modifications */ public function downloadModifications(Tenant $tenant, Collection $modifications): Response { $pdf = Pdf::loadView('pdf.adminapp.sale-modifications', [ 'tenant' => $tenant, 'modifications' => $modifications, 'generatedAt' => now(), ])->setPaper('a4', 'landscape'); $this->addPageNumbers($pdf); return $pdf->download( 'historial_modificaciones_'.$tenant->codigo.'_'.now()->format('Ymd_His').'.pdf' ); } private function addPageNumbers(DomPdf $pdf): void { $pdf->render(); $domPdf = $pdf->getDomPDF(); $font = $domPdf->getFontMetrics()->getFont('DejaVu Sans'); $domPdf->getCanvas()->page_text( 385, 575, 'Página {PAGE_NUM} de {PAGE_COUNT}', $font, 7, [0.48, 0.52, 0.49], ); } }