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)
そのため、コントローラーにそれを含めることも問題です。手がかりはありますか?