0

wkhtmltopdf ( https://github.com/ignited/laravel-pdf )のサービス プロバイダーをインストールしました。

Route::get('/', function() {
    $pdf = PDF::make();
    $pdf->addPage('<html><head></head><body><b>Hello World</b></body></html>');
    $pdf->send();
});

私のroutes.phpでは、pdfファイルが生成されます。

私がやろうとしているのは、div全体をコントローラーに POST し、そこからPDFを生成することです。

私のフォーム:

<form id="convert" action="{{{ URL::to('') }}}/pdf" method="post">
<input type="hidden" name="body" id="body">
<input type="submit" class="btn btn-success pdf" value="Done? Convert to PDF!">
</form>

jQuery:

$('form#convert').submit(function(){
                  $("input#body").val($("#preview").html());
              });

ルート.php:

Route::post('pdf', 'PdfController@index');

そして最後に私のコントローラー(PdfController):

<?php

class PdfController extends BaseController {

    /**
     * Display a listing of the resource.
     *
     * @return Response
     */
    public function index()
    {

        $data = Input::get('body');


                $pdf = PDF::make();
            $pdf->addPage($data);
            $pdf->send('test.pdf');
            if(!$pdf->send())
        return $pdf->getError();
    }



}

どういうわけか私はそれを考えます;基本的なPOSTとGETのこと、または私は正しいことをしていません。今、私はエラーが発生しますCould not run command '/var/www/docassembly/vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64'

しかし、コントローラー内の変数をストレートhtmlに置き換えると、同じエラーが発生します。

フォームとルートで GET を使用し、パラメーターとしてストレート html を渡すと、エラーは異なります。

Could not run command '/var/www/docassembly/vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64' test /tmp/tmp_WkHtmlToPdf_Hq98EZ: Loading pages (1/6) [> ] 0% [======> ] 10% [============================================================] 100% Error: Failed loading page http://test (sometimes it will work just to ignore this error with --load-error-handling ignore) 

そのため、コントローラーにそれを含めることも問題です。手がかりはありますか?

4

2 に答える 2