He estado tratando de obtener el PDF de una vista usando DOMPDF con una tabla llena de ingredientes de una tabla de base de datos.
Creé una función en mi controlador:
public function createPDF() { // retreive all records from db $data = Ingredients::all(); // share data to view view()->share('ingredients', $data); $pdf = PDF::loadView('printableingredientslist', $data); // download PDF file with download method return $pdf->download('printableingredientslist.pdf'); }Y la ruta en web.php se define como:
Route::get('/printpreviewingredients/pdf', [MealPlanDisplayController::class, 'createPDF']);Sin embargo, sigo recibiendo este error:
fopen(D:\mealplan\storage\fonts//nunito_normal_46b9b3b48cc3ddbae60da82f1c1c5d29.ufm): no se pudo abrir la transmisión: no existe tal archivo o directorio
Debe tener algo que ver con la 'lista de printableingredientslist ' como cuando la reemplacé con una plain view page simple con texto simple que funcionó. Sin embargo, estoy luchando por ver cómo hay un problema de ruta, ya que printableingredientslist.blade.php está simplemente en la carpeta de vistas. ¿Cuál puede ser el problema? Estoy usando tailwind.css , ¿podría ser un problema?
método setOptions para usar la fuente predeterminada. Por ejemplo, como a continuación
public function pdf() { $pdf = \PDF::loadView('contact')->setOptions(['defaultFont' => 'sans-serif']); return $pdf->download('invoice.pdf'); }o
Crear las fonts del directorio en el directorio de storage
Referencia: https://github.com/barryvdh/laravel-dompdf/issues/724
Referencia: https://github.com/barryvdh/laravel-dompdf/issues/176
Referencia: https://github.com/barryvdh/laravel-dompdf/issues/269