web-dev-qa-db-ja.com

Laravel PDF:ブロックレベルの親が見つかりません。良くありません

私のコードは今日まで問題なく機能していました。何も変更しませんでしたが、突然PDFコードが機能しなくなりました。使ってます barryvdh/laravel-dompdfこのパッケージはlaravel 5.2

ローカルプロジェクトを削除してライブサーバーからダウンロードしましたが、それでもこの問題はローカルコンピューターで発生します。私のライブプロジェクトはこのコードで正常に動作します。

これが私のコードです

$pdf = App::make('dompdf.wrapper');
$pdf->loadView('back_end.pdf_template.make_invoice', ['order_info' =>$order_info, 'order_details' => $order_details]);
return $pdf->stream('inv-' . $order_info->invoice_id . '.pdf');

このエラーが発生します enter image description here

私もenable_html5_parsertrueに設定します。そしてこの後、私は別のエラーが発生しています enter image description here

7

ブロックレベルの親が見つかりません。良くない。これはパーサーエラーです

こんにちは友達、

以下に示すように、html、head、bodyタグの間のスペースを削除すると修正できます。

動作します:

<html><head>
...
</head><body>
...
</body></html>

失敗します:

<html>
  <head>
  ...
  </head>

  <body>
  ...
  </body>
</html>

Phpを5.6から7.0バージョンに更新したとき、同じlaravelバージョンで同じ問題が発生しました。

PDFファイルを生成しようとすると、次のメッセージがスローされました。

ブロックレベルの親が見つかりません。良くない。

このソリューションは、このgithubページで見つかりました

https://github.com/dompdf/dompdf/issues/1582#issuecomment-35944855

お役に立てば幸いです

10
Geraldo Novais

同じ問題がありました。私にとっては、htmlタグがブロックレベルの親として検出されなかったことが原因でした。それを修正するには、次のCSSを追加する必要がありました。

html, body {
    display: block;
}
0