【问题标题】:Error generating pdf from blade file in laravel 5从 laravel 5 中的刀片文件生成 pdf 时出错
【发布时间】:2017-11-01 07:30:57
【问题描述】:

我正在尝试将刀片视图转换为 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="images/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="images/logo.jpg " class="float-right img-responsive img-thumbnail">
      </div>
      <div class="col-md-3">
        <img src="images/logo.jpg " class="float-right img-responsive img-thumbnail">
      </div>
      <div class="col-md-3">
        <img src="images/logo.jpg " class="float-right img-responsive img-thumbnail">
      </div>
      <div class="col-md-3">
        <img src="images/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的控制器类的代码sn-p。

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

我正在使用这个https://github.com/barryvdh/laravel-dompdf pdf。

【问题讨论】:

  • 你遇到了什么错误?您能否在您的问题中添加完整的错误消息?
  • @DharmaSaputra,问题更新错误。

标签: php laravel pdf laravel-5


【解决方案1】:

你可以增加 php max_execution_time。但不建议这样做,因为如果有许多用户同时生成 PDF,它可能会使您的服务器崩溃。 您需要尝试的事情:

  1. 确保图像尺寸小,您不需要非常高质量的 pdf 图像,对吧?
  2. 去掉javascripts加载,反正也没用。
  3. 为 pdf 单独的 css 文件。所以只有被加载的 pdf 需要的样式。

来自laravel-dompdfgithub的其他信息:https://github.com/barryvdh/laravel-dompdf/issues/184

希望对你有帮助

【讨论】:

    【解决方案2】:

    使用public_path() 而不是asset()

    【讨论】:

    • 你的意思是 吗?
    • 如果我将资产更改为 public_path 没有任何区别。但是,如果我删除 是的。它有效。
    • 你需要检查css路径是否没有损坏。
    • 它没有坏,它是按照 laravel doc。
    猜你喜欢
    • 2018-05-21
    • 2015-08-10
    • 2020-11-17
    • 2017-01-05
    • 2018-03-05
    • 2020-04-26
    • 2019-05-20
    • 2020-12-06
    • 1970-01-01
    相关资源
    最近更新 更多