Ошибка генерации pdf из blade-файла в laravel 5

Я пытаюсь преобразовать вид лезвия в PDF. Если я использую обычный текст, я могу создать PDF. У меня есть несколько изображений в моем шаблоне лезвия, и с этим я не могу генерировать PDF.

Вот мой код шаблона лезвия.

<html>
<head>
<link href="{{ asset('css/bootstrap.min.css') }}" rel="stylesheet">
</head>
<body>
<div class="container">
<div class="row col-md-12">
<div class="col-md-5">
<table>
<tr>
<td>ID</td>
<td>:</td>
<td>CO12345</td>
</tr>
<tr>
<td>Date</td>
<td>:</td>
<td>CO12345</td>
</tr>
<tr>
<td>Contract/PO #</td>
<td>:</td>
<td>C122</td>
</tr>
<tr>
<td>Job ID</td>
<td>:</td>
<td>0001</td>
</tr>
<tr>
<td>Client Name</td>
<td>:</td>
<td>Hong</td>
</tr>
<tr>
<td>Project</td>
<td>:</td>
<td>Lake Nona Place</td>
</tr>
<tr>
<td>Address</td>
<td>:</td>
<td>123 Roy street, Suit 107, Lake Nona, FL 32817</td>
</tr>
</table>
</div>
<div class="col-md-7">
<img src="https://web-answers.ru/wp-content/uploads/2019/02/logo.jpg " class="float-right img-responsive img-thumbnail">
</div>
</div>
<div class="my-auto mx-auto text-center">
<h4>Change Order</h4>
</div>
<div class="row col-md-12">
<table class="table table-bordered">
<thead>
<tr>
<td><b><p class="text-md-center">Line</p></b></td>
<td><b><p class="text-md-center">Title</p></b></td>
<td><b><p class="text-md-center">Description</p></b></td>
<td><b><p class="text-md-center">Total</p></b></td>
</tr>
</thead>
<body>
<tr>
<td><p class="text-md-center">1</p></td>
<td><p class="text-md-center">B12, Unit 114</p></td>
<td><p class="text-md-center">Replace damage carpate in master bedroom.</p></td>
<td><p class="text-md-center">$250</p></td>
</tr>
<tr>
<td colspan="3"></td>
<td><p class="text-md-center">$250</p></td>
</tr>
</body>
</table>
</div>
<hr/>
<div class="col-md-12 row">
<div class="col-md-3">
<img src="https://web-answers.ru/wp-content/uploads/2019/02/logo.jpg " class="float-right img-responsive img-thumbnail">
</div>
<div class="col-md-3">
<img src="https://web-answers.ru/wp-content/uploads/2019/02/logo.jpg " class="float-right img-responsive img-thumbnail">
</div>
<div class="col-md-3">
<img src="https://web-answers.ru/wp-content/uploads/2019/02/logo.jpg " class="float-right img-responsive img-thumbnail">
</div>
<div class="col-md-3">
<img src="https://web-answers.ru/wp-content/uploads/2019/02/logo.jpg " class="float-right img-responsive img-thumbnail">
</div>
</div>
<hr/>
<div class="my-auto">
<p>
I hereby authorize <b>John</b> to perform the extra work listed above. I further state that I am authorized to
approve this extra work and that my signature below serves as a payment commitment of such.
</p>
</div>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="{{ asset('js/bootstrap.min.js') }}"></script>
</body>
<html>

Вот фрагмент кода из класса контроллера, который генерирует PDF.

public function generatePdf(){
$pdf = PDF::loadView('template1');
return $pdf->download('template1.pdf');
}

Я использую это https://github.com/barryvdh/laravel-dompdf для PDF

введите описание изображения здесь

0

Решение

Вы можете увеличить php max_execution_time. Но это не рекомендуется, потому что это может привести к сбою на вашем сервере, если многие пользователи генерируют PDF одновременно.
Что нужно попробовать:

  1. Убедитесь, что размер изображения небольшой, вам не нужно очень качественное изображение для PDF, верно?
  2. Удалить загрузку javascripts, это бесполезно в любом случае.
  3. Отдельный файл CSS только для PDF. Таким образом, есть только стиль, необходимый для загрузки PDF.

Дополнительная информация от laravel-dompdf GitHub: https://github.com/barryvdh/laravel-dompdf/issues/184

Надеюсь, поможет

0

Другие решения

использование public_path() вместо asset(),

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector