簡體   English   中英

我如何在沒有包裝器的情況下將 dompdf 與 laravel 一起使用

[英]How i use dompdf with laravel without a wrapper

我正在嘗試使用沒有 barryvdh 包裝器的 dompdf,因為我的項目中安裝了 laravel 收銀員並收到消息:

 - Root composer.json requires barryvdh/laravel-dompdf ^0.9.0 -> satisfiable by barryvdh/laravel-dompdf[v0.9.0].
    - Conclusion: don't install dompdf/dompdf v0.8.4 (conflict analysis result)
    - Conclusion: don't install dompdf/dompdf v1.0.2 (conflict analysis result)
    - Conclusion: don't install dompdf/dompdf v0.8.5 (conflict analysis result)
    - Conclusion: don't install dompdf/dompdf v1.1.0 (conflict analysis result)
    - Conclusion: don't install dompdf/dompdf v0.8.6 (conflict analysis result)
    - Conclusion: don't install dompdf/dompdf v1.1.1 (conflict analysis result)
    - laravel/cashier is locked to version v10.7.1 and an update of this package was not requested.
    - laravel/cashier v10.7.1 requires dompdf/dompdf ^0.8.0 -> satisfiable by dompdf/dompdf[v0.8.0, ..., v0.8.6].
    - You can only install one version of a package, so only one of these can be installed: dompdf/dompdf[v0.8.0, ..., v0.8.6, v1.0.0, ..., v1.1.1].
    - barryvdh/laravel-dompdf v0.9.0 requires dompdf/dompdf ^1 -> satisfiable by dompdf/dompdf[v1.0.0, ..., v1.1.1].
    - Conclusion: don't install dompdf/dompdf v1.0.1 (conflict analysis result)

每當我嘗試安裝 package 時。 所以我使用收銀員附帶的 0.8.6 版本來生成我的 pdf。 我做了一個簡單的測試:

Route::get('manual-test-pdf', function () {
  $dompdf = new Dompdf();
  $html = view('pdf.test')->render();
  $dompdf->loadHtml($html);

  return $dompdf->stream();
});

嘗試渲染視圖:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Pdf test</title>
</head>

<body>
  <h1>Test one</h1>
</body>

</html>

但結果始終是空白頁。 ->render()->stream()給出了相同的結果。 我想我做錯了什么,但我沒有在網上找到任何關於使用純 dompdf 返回/渲染 pdf 的正確方法,因為每個人都使用 barryvdh 的版本。

誰能告訴我這個?

截至本文發布時,laravel/cashier 的最新穩定版本是v13.7.0 ,它需要:
"dompdf/dompdf": "^0.8.6|^1.0.1"
"php": "^7.3|^8.0"

barryvdh/laravel-dompdf 的最新穩定版本是v0.9.0 ,它需要: "dompdf/dompdf": "^1"
"php": "^7.1 || ^8.0"

對於最近的 PHP 版本,這些軟件包看起來很像彼此兼容。

您的 composer.json 文件已經指定:
"barryvdh/laravel-dompdf": "^0.9.0"
但是您的 composer.json 文件將 laravel/cashier 鎖定到 v10.7.1 版本。 所以基本上你只需要將你的 cachier 版本從 v10.7.1 更新到更新的版本,例如截至本文發布時的最新版本:v13.7.0

你應該能夠通過一個簡單的:
composer update

您還可以嘗試刪除您的 composer.lock 文件,這樣您就不會被鎖定到特定版本,然后使用composer installcomposer update重試安裝/更新。
如果您在刪除 composer.lock 文件后需要保留任何特定版本的內容,例如如果它破壞了代碼,請在您的 composer.json 文件中指定它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM