-2

我正在使用 laravel-snappy 生成我的 html 页面的 pdf,但出现此错误:

The exit status code '-1073741819' says something went wrong:


stderr: "Loading pages (1/6)


[>                                                           ] 0%

[======>                                                     ] 10%

[======>                                                     ] 11%

Warning: Failed to load http://127.0.0.1:8000/css/app.css (ignore)

 ◀
Warning: Failed to load http://127.0.0.1:8000/fullcalendar/packages/core/main.css (ignore)


Warning: Failed to load http://127.0.0.1:8000/fullcalendar/packages/daygrid/main.css (ignore)


Warning: Failed to load http://127.0.0.1:8000/fullcalendar/packages/core/main.js (ignore)


Warning: Failed to load http://127.0.0.1:8000/fullcalendar/packages/interaction/main.js (ignore)


Warning: Failed to load http://127.0.0.1:8000/fullcalendar/packages/daygrid/main.js (ignore)


Warning: Failed to load http://127.0.0.1:8000/fullcalendar/packages/timegrid/main.js (ignore)


Error: Failed to load http://127.0.0.1:8000/js/jQuery.min.js, with network status code 99 and http status code 0 - Unknown error


"


stdout: ""


command: C:\xampp\htdocs\EDO_Roster\vendor\wemersonjanuario\wkhtmltopdf-windows\bin\wkhtmltopdf --lowquality --enable-javascript --javascript-delay "5000" --enable-smart-shrinking --no-stop-slow-scripts "C:\Users\razaz\AppData\Local\Temp\knp_snappy5d807944516442.29719528.html" "C:\Users\razaz\AppData\Local\Temp\knp_snappy5d80794451ccb4.67360917.pdf".

显然这是一个 URL 错误,我已经尝试了许多解决堆栈溢出问题的方法,但都是徒劳的。我的html页面如下:

<!DOCTYPE html>
<html>
<head>
    <title>EDO Roster</title>
    <link rel="stylesheet" href="{{ URL::asset('css/app.css') }}">          
    <link href='{{ URL::asset('fullcalendar/packages/core/main.css') }}' rel='stylesheet' />
    <link href='{{ URL::asset('fullcalendar/packages/daygrid/main.css') }}' rel='stylesheet' />
</head>
<body>


    <div class="col-md-9 m-lg-5">
          <div class="box box-primary p-sm-4">
            <div class="box-body">
              <!-- THE CALENDAR -->
                <h3>EDO Roster</h3>

                  <hr>
                  <div id="calendar" ></div>
            </div>
            <!-- /.box-body -->
          </div>
          <!-- /. box -->
        </div>

</body>
</html>
<script src="{{ URL::asset('fullcalendar/packages/core/main.js') }}"></script>
<script src="{{ URL::asset('fullcalendar/packages/interaction/main.js') }}"></script>
<script src="{{ URL::asset('fullcalendar/packages/daygrid/main.js') }}"></script>
<script src="{{ URL::asset('fullcalendar/packages/timegrid/main.js') }}"></script>
<script src="{{ URL::asset('js/jQuery.min.js') }}"></script>

<script>
$(document).ready(function() {
      var calendarEl = document.getElementById('calendar');
      var calendar = new FullCalendar.Calendar(calendarEl, {
          plugins: [ 'interaction', 'dayGrid', 'bootstrap', 'timeGrid' ],
          themeSystem: 'bootstrap',
           header: {
          left: false,
          center: 'title',
          },
          defaultView: 'dayGridMonth',
          validRange: {
            start: '2019-08-26',
            end: '2019-09-26',
          },   
          selectable: true,
          editable  : true,
          droppable : true,

          eventSources: [

            {
              url: '{{"roster/getEvents"}}',
              allDay: false,
              allDayMaintainDuration: false,
              textColor: 'black',

            },

            {
              url: '{{"roster/getGazette"}}',
              editable: false,
              id: 'a',
              overlap: false,
            },
          ],
        });

      calendar.render();
      });

</script>

我试过给它一个硬编码的 URL,但效果不佳。我假设 laravel-snappy 不加载 JS 和 CSS。请看看这个并帮助我。

PS:任何关于 html-to-pdf 的建议都非常感谢。

4

1 回答 1

1

没有人回答这个问题,所以我一直在研究它,我通过替换这种方式减少了错误,URL::assetfile:///complete-URL摆脱了“无法加载错误”,但它仍然没有加载文件,所以只是为了检查页面中删除的脚本和它工作,所以问题出在脚本中,这是荒谬的,因为 laravel-snappy 应该使用 javascript。

现在由于这个问题不再相关,所以我要结束这个问题。

于 2019-09-19T05:43:59.557 回答