目次
订单id
12346546
ホームページ PHPフレームワーク Laravel Laravel-snappyでPDFをエクスポートする方法を解説した記事

Laravel-snappyでPDFをエクスポートする方法を解説した記事

Aug 30, 2021 pm 03:27 PM
pdf

Laravel の次のチュートリアル コラムでは、Laravel-snappy を使用して PDF をエクスポートする方法を紹介します。

まえがき

フォーラムには Laravel-snappy の使用方法に関する記事が多数ありますが、その多くはインストールと基本的な例にのみ焦点を当てています。は使い方の説明がなく、いくつかの質問や疑問に対する回答もないので、ここで整理して記録として扱います。

インストール

ubuntu を例に挙げます

1. wkhtmltopdf を実行してインストールします:

composer require h4cc/wkhtmltopdf-amd64 0.12.x
composer require h4cc/wkhtmltoimage-amd64 0.12.x
ログイン後にコピー

名前が示すように、wkhtmltopdfと wkhtmltopdf がそれぞれインストールされます。

2. wkhtmltopdf を ubuntu 実行可能コマンドのディレクトリにコピーします

sudo cp vendor/h4cc/wkhtmltoimage-amd64/bin/wkhtmltoimage-amd64 /usr/local/bin/
sudo cp vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64 /usr/local/bin/
//并使其可执行:
sudo chmod +x /usr/local/bin/wkhtmltoimage-amd64 
sudo chmod +x /usr/local/bin/wkhtmltopdf-amd64
ログイン後にコピー

3. laravel-snappy をインストールします

composer require barryvdh/laravel-snappy
ログイン後にコピー

4. ServiceProvider を config/app.php に追加しますプロバイダー配列

Barryvdh\Snappy\ServiceProvider::class
ログイン後にコピー

5. config/app.php

'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class,
'SnappyImage' => Barryvdh\Snappy\Facades\SnappyImage::class,
ログイン後にコピー

のエイリアス配列にファサードを追加します。生成された設定ファイルを実行します

php artisan vendor:publish --provider="Barryvdh\Snappy\ServiceProvider"
ログイン後にコピー

デフォルトの設定が表示されます。ファイルは config/snappy.php:

return [
    'pdf' => [
        'enabled' => true,
        'binary'  => env('WKHTML_PDF_BINARY', '/usr/local/bin/wkhtmltopdf'),
        'timeout' => false,
        'options' => [],
        'env'     => [],
    ],
    'image' => [
        'enabled' => true,
        'binary'  => env('WKHTML_IMG_BINARY', '/usr/local/bin/wkhtmltoimage'),
        'timeout' => false,
        'options' => [],
        'env'     => [],
    ],
];
ログイン後にコピー

ここに落とし穴があることに注意してください。デフォルトのバイナリ構成は /usr/local/bin/wkhtmltopdf および /usr/local/bin/wkhtmltoimage です。初めて使用すると、/usr/local/bin/wkhtmltopdf が存在しないというエラーが報告されます。これは、Linux システムでは、wkhtmltopdf および wkhtmltoimage の実​​際のパスと名前が /usr/local/bin/ であるためです。 wkhtmltopdf-amd64 および /usr/local/bin/wkhtmltoimage-amd64。

Laravel-snappyでPDFをエクスポートする方法を解説した記事

したがって、構成情報を次のように変更する必要があります。

'pdf' => [
        ...
        'binary'  => env('WKHTML_PDF_BINARY', '/usr/local/bin/wkhtmltopdf-amd64'),
        ...
    ],
    'image' => [
        ...
        'binary'  => env('WKHTML_IMG_BINARY', '/usr/local/bin/wkhtmltoimage-amd64'),
        ...
    ],
ログイン後にコピー

使い始める

//使用方法1
$pdf = \PDF::loadView('welcome', $data);
return $pdf->download('welcome.pdf');
//使用方法2
$html = &#39;<html><head><meta charset="utf-8"></head><h1 id="订单id">订单id</h1><h2 id="">12346546</h2></html>&#39;;
$pdf = \PDF::loadHTML($html);
return $pdf->inline();
ログイン後にコピー

多くのブログではこれについて言及していません。方法 1 の場合、次のエラーが報告されます:

The exit status code &#39;1&#39; says something went wrong: stderr: "Loading pages (1/6) [> ] 0% [======> ] 10% QSslSocket: cannot resolve CRYPTO_num_locks QSslSocket: cannot resolve CRYPTO_set_id_callback QSslSocket: cannot resolve CRYPTO_set_locking_callback QSslSocket: cannot resolve sk_free QSslSocket: cannot resolve sk_num QSslSocket: cannot resolve sk_pop_free QSslSocket: cannot resolve sk_value QSslSocket: cannot resolve SSL_library_init QSslSocket: cannot resolve SSL_load_error_strings QSslSocket: cannot resolve SSLv3_client_method QSslSocket: cannot resolve SSLv23_client_method QSslSocket: cannot resolve SSLv3_server_method QSslSocket: cannot resolve SSLv23_server_method QSslSocket: cannot resolve X509_STORE_CTX_get_chain QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf QSslSocket: cannot resolve SSLeay QSslSocket: cannot call unresolved function CRYPTO_num_locks QSslSocket: cannot call unresolved function CRYPTO_set_id_callback QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback QSslSocket: cannot call unresolved function SSL_library_init QSslSocket: cannot call unresolved function SSLv23_client_method QSslSocket: cannot call unresolved function sk_num [==================> ] 31% QSslSocket: cannot call unresolved function SSLv23_client_method QSslSocket: cannot call unresolved function SSL_library_init [============================================================] 100% Counting pages (2/6) [============================================================] Object 1 of 1 Resolving links (4/6) [============================================================] Object 1 of 1 Loading headers and footers (5/6) Printing pages (6/6) [> ] Preparing [============================================================] Page 1 of 1 Done Exit with code 1 due to network error: UnknownNetworkError QSslSocket: cannot call unresolved function CRYPTO_num_locks QSslSocket: cannot call unresolved function CRYPTO_set_id_callback QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback " stdout: "" command: /usr/local/bin/wkhtmltopdf-amd64 --lowquality &#39;/tmp/knp_snappy612c3edcdfc855.21787864.html&#39; &#39;/tmp/knp_snappy612c3edcdfce49.80482557.pdf&#39;.
ログイン後にコピー

実行:

sudo apt-get update
sudo apt install libssl1.0-dev
ログイン後にコピー

修復が完了し、ようこそページがエクスポートされます。

save () メソッドを使用して保存すると、デフォルトで /public フォルダーに保存されます。ファイル名が同じ場合、2 回目の保存時にファイルが既に存在することを示すメッセージが表示されます。

以上がLaravel-snappyでPDFをエクスポートする方法を解説した記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PDF ドキュメントを Excel ワークシートに埋め込む方法 PDF ドキュメントを Excel ワークシートに埋め込む方法 May 28, 2023 am 09:17 AM

通常、PDF ドキュメントを Excel ワークシートに挿入する必要があります。会社のプロジェクトリストと同じように、Excel のセルにテキストや文字データを瞬時に追加できます。しかし、特定のプロジェクトのソリューション設計を対応するデータ行に添付したい場合はどうすればよいでしょうか?さて、人はよく立ち止まって考えることがあります。解決策が単純ではないために、考えてもうまくいかないこともあります。この記事をさらに詳しく読んで、特定のデータ行とともに複数の PDF ドキュメントを Excel ワークシートに簡単に挿入する方法を学びましょう。シナリオ例 この記事に示されている例には、各セルにプロジェクト名をリストする ProductCategory という列があります。別の列 ProductSpeci

iPhoneでPDFを結合する方法 iPhoneでPDFを結合する方法 Feb 02, 2024 pm 04:05 PM

複数のドキュメントまたは同じドキュメントの複数ページを操作する場合、それらを 1 つのファイルに結合して他のユーザーと共有したい場合があります。共有を容易にするために、Apple では複数の PDF ファイルを 1 つのファイルに結合して、複数のファイルの送信を避けることができます。この記事では、iPhone で 2 つ以上の PDF を 1 つの PDF ファイルに結合するすべての方法を説明します。 iPhone で PDF を結合する方法 iOS では、ファイル アプリとショートカット アプリを使用する 2 つの方法で PDF ファイルを 1 つに結合できます。方法 1: ファイル アプリを使用する 2 つ以上の PDF を 1 つのファイルに結合する最も簡単な方法は、ファイル アプリを使用することです。 iPhoneで開く

iPhoneでPDFからテキストを取得する3つの方法 iPhoneでPDFからテキストを取得する3つの方法 Mar 16, 2024 pm 09:20 PM

Apple の Live Text 機能は、写真やカメラ アプリ内のテキスト、手書きのメモ、数字を認識し、その情報を他のアプリに貼り付けることができます。しかし、PDF を操作していてそこからテキストを抽出したい場合はどうすればよいでしょうか?この記事では、iPhoneでPDFファイルからテキストを抽出する方法をすべて説明します。 iPhone で PDF ファイルからテキストを取得する方法 [3 つの方法] 方法 1: PDF 上にテキストをドラッグ PDF からテキストを抽出する最も簡単な方法は、テキストを含む他のアプリと同じように、テキストをコピーすることです。 1. テキストを抽出する PDF ファイルを開き、PDF 上の任意の場所を長押しして、コピーするテキストの部分のドラッグを開始します。 2

PDFの署名を検証する方法 PDFの署名を検証する方法 Feb 18, 2024 pm 05:33 PM

私たちは通常、政府やその他の機関から PDF ファイルを受け取りますが、中にはデジタル署名が付いているものもあります。署名を検証すると、SignatureValid メッセージと緑色のチェック マークが表示されます。署名が検証されない場合、有効性は不明です。署名の検証は重要です。PDF で署名を検証する方法を見てみましょう。 PDF 形式の署名を検証する方法 PDF 形式で署名を検証すると、署名の信頼性が高まり、文書が受け入れられる可能性が高くなります。次の方法で PDF ドキュメントの署名を検証できます。 Adobe Reader で PDF を開きます。 署名を右クリックし、「署名プロパティの表示」を選択します。 「署名者証明書の表示」ボタンをクリックします。 「信頼」タブから信頼できる証明書リストに署名を追加します。 「署名の検証」をクリックして検証を完了します。

PHPを使用してPDFファイルを処理する方法 PHPを使用してPDFファイルを処理する方法 Jun 19, 2023 pm 02:41 PM

PDF ファイルは汎用ファイル形式として、電子書籍、レポート、契約書などのさまざまなアプリケーション シナリオで広く使用されています。開発プロセスでは、PDF ファイルの生成、編集、読み取りなどの操作が必要になることがよくあります。 PHP はスクリプト言語として、これらのタスクを簡単に実行することもできます。この記事では、PHPを使用してPDFファイルを処理する方法を紹介します。 1. PDF ファイルを生成する PDF ファイルを生成するにはさまざまな方法がありますが、最も一般的な方法は PDF ライブラリを使用することです。 PDF ライブラリは、PDF ドキュメントを生成するツールです。

pdgファイルをpdfに変換する方法 pdgファイルをpdfに変換する方法 Nov 14, 2023 am 10:41 AM

方法には、1. 専門的なドキュメント変換ツールを使用する、2. オンライン変換ツールを使用する、3. 仮想プリンターを使用するなどがあります。

Apple Notes に PDF をインポートして注釈を付ける方法 Apple Notes に PDF をインポートして注釈を付ける方法 Oct 13, 2023 am 08:05 AM

iOS 17 と MacOS Sonoma では、Apple は Notes アプリで PDF を開いて直接注釈を付ける機能を追加しました。それがどのように行われるかを知るために読んでください。 iOS および macOS の最新バージョンでは、Apple はインライン PDF をサポートするように Notes アプリを更新しました。つまり、PDF を Notes に挿入し、文書を読んだり、注釈を付けたり、共同作業したりできるようになります。この機能はスキャンされたドキュメントでも機能し、iPhone と iPad の両方で利用できます。 iPhone および iPad の Notes で PDF に注釈を付ける iPhone を使用していて、Notes で PDF に注釈を付けたい場合は、最初に PDF ファイルを選択します。

xmind ファイルを PDF ファイルにエクスポートする方法 xmind ファイルを PDF ファイルにエクスポートする方法 Mar 20, 2024 am 10:30 AM

xmind は、非常に実用的なマインド マッピング ソフトウェアです。人々の思考とインスピレーションを使用して作成されたマップ形式です。xmind ファイルを作成した後、通常、誰もが配布して使用できるように、PDF ファイル形式に変換します。次に、xmind ファイルをエクスポートする方法PDFファイルに?以下に具体的な手順を示しますので、ご参照ください。 1. まず、マインド マップを PDF ドキュメントにエクスポートする方法を説明します。 [ファイル]-[エクスポート]機能ボタンを選択します。 2. 新しく表示されたインターフェースで[PDFドキュメント]を選択し、[次へ]ボタンをクリックします。 3. エクスポート インターフェイスで、用紙サイズ、方向、解像度、ドキュメントの保存場所などの設定を選択します。設定が完了したら、[完了]ボタンをクリックします。 4. [完了]ボタンをクリックした場合

See all articles