検索
ホームページPHPフレームワークLaravelLaravel が laravel-snappy パッケージを使用して HTML を PDF および PNG に変換する方法

-次のチュートリアル列では、Laravel-Snappyパッケージを使用してHTMLをPDFとPNGに変換する方法を示します。困っている友人に役立つことを願っています。

Laravel が laravel-snappy パッケージを使用して HTML を PDF および PNG に変換する方法

まえがき

会社はクラウド コントラクトと呼ばれる新しいツールを開発したいと考えているため、事前に設定することができます。固定の契約書テンプレート(HTMLページ)を設定し、パラメータ入力方式で契約書のデータを柔軟に変更し、PDFとPNGを生成します。確認したところ、laravel-snappy

パッケージが見つかりました。使用するのは

wkhtmltopdf
wkhtmltopdfQT Webkit に基づいて構築され、QT WebkitWebkit に基づいています。 、ブラウザと同じレンダリング エンジン。 ##インストール

1. まず、システムが 32 ビットか 64 ビットかを確認します。

uname -a
2. インストールします。コンポーザー wkhtmltopdf
32位:
$ composer require h4cc / wkhtmltopdf-i386 0.12.x
$ composer require h4cc / wkhtmltoimage-i386 0.12.x
64位:
$ composer require h4cc/wkhtmltopdf-amd64 0.12.x
$ composer require h4cc/wkhtmltoimage-amd64 0.12.x
3. 次に、インストールした wkhtmltopdf を Linux システム実行可能コマンド

cp vendor/h4cc/wkhtmltoimage-amd64/bin/wkhtmltoimage-amd64 /usr/local/bin/
cp vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64 /usr/local/bin/
//并使其可执行:
chmod +x /usr/local/bin/wkhtmltoimage-amd64 
chmod +x /usr/local/bin/wkhtmltopdf-amd64

4 のディレクトリにコピーします。laravel-snappy パッケージ

composer require barryvdh/laravel-snappy
## をインストールします。

#Configuration

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

Barryvdh\Snappy\ServiceProvider::class,
2. config/app にファサードを追加します。 php
'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class,
'SnappyImage' => Barryvdh\Snappy\Facades\SnappyImage::class,
3 の配列。構成ファイルを生成します

php artisan vendor:publish --provider="Barryvdh\Snappy\ServiceProvider"

注: config フォルダー内の snappy.php はその構成ファイルであり、バイナリは wkhtml 関連の上にインストールされたものを指します。 path.

Use

PDF

//一、下载
$pdf = \PDF::loadView('welcome', $data);
return $pdf->download('welcome.pdf');

//二、渲染页面,在浏览器中显示
$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();

Image

//一、下载
$img = \SnappyImage::loadView(&#39;welcome&#39;, $data);
return $img->download(&#39;welcome.png&#39;);

//二、渲染页面,在浏览器中显示
$html = &#39;<html><head><meta charset="utf-8"></head><h1 id="订单id">订单id</h1><h2 id="">12346546</h2></html>&#39;;
$img = \SnappyImage::loadHTML($html);
return $img->inline();

トレーニング レコード

1. 生成の実行時に、プロンプト

libXrender

または が表示された場合、 libssl ライブラリが存在しないため、対応するライブラリをインストールする必要があります。

//apt-get 安装方法
apt-get install libXrender*
apt-get install libssl*

//yum 安装方法
yum install libXrender*
yum install libssl*

//若 yum 安装时最后报错 Error: GPG check FAILED
yum install libXrender* --nogpgcheck
yum install libssl* --nogpgcheck

2. 中国語表示が文字化けする問題 この問題は、Linux に中国語フォントをインストールすることで解決する必要があります。 システム フォントの表示 インストールを開始する前に、まずシステムにインストールされているフォントを確認します。システムにインストールされているフォントを確認するには、fc-list## を使用します。 # コマンドを使用して表示します。システムにそのようなコマンドがない場合は、最初に関連するソフトウェア パッケージをインストールする必要があります。

centos では、次のコマンドを使用してインストールします。

yum install -y fontconfig mkfontscale
インストールが完了すると、システムに既にインストールされているフォントを表示できます。

[root@8d079be5059a php]# fc-list
/usr/share/fonts/urw-base35/NimbusMonoPS-Italic.otf: Nimbus Mono PS:style=Italic
/usr/share/fonts/urw-base35/D050000L.t1: D050000L:style=Regular
...

中国語を表示したい場合は、システムにインストールされているフォント フォントの場合は、次のコマンドを使用できます。 <pre class="brush:php;toolbar:false">[root@8d079be5059a php]# fc-list :lang=zh</pre> 上の図から、システムに中国語フォントがないことがわかります。

Windows に入ります。フォント ディレクトリ

C:\Windows\Fonts
を変更し、simfang を変更します。ttf フォントをリモートでコピーするか、他の方法でサーバーのフォント ディレクトリに置きます

//远程复制
scp simfang.ttf root@ip:/usr/share/fonts

次に、フォント インデックス情報を作成し、フォント キャッシュを更新します

cd /usr/share/fonts/mkfontscale
mkfontdir
fc-cache
この時点で、フォントはインストールされています。次に、中国語フォントをチェックして、正常にインストールされたかどうかを確認してみましょう

[root@8d079be5059a php]# fc-list :lang=zh
/usr/share/fonts/simfang.ttf: FangSong,仿宋:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta

以上がLaravel が laravel-snappy パッケージを使用して HTML を PDF および PNG に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はlearnkuで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Laravel vs. Symfony:あなたに適したWebアプリケーションはどれですか?Laravel vs. Symfony:あなたに適したWebアプリケーションはどれですか?Apr 18, 2025 am 11:57 AM

LaravelとSymfonyは、PHPフレームワークを選択する際に、最も人気があり広く使用されているオプションの1つです。各フレームは、テーブルに独自のアイデア、機能、利点をもたらし、さまざまなプロジェクトやユースケースに適しています

Laravel(PHP)vs。Python:異なるユースケースとアプリケーションLaravel(PHP)vs。Python:異なるユースケースとアプリケーションApr 18, 2025 am 12:16 AM

LaravelまたはPythonの選択は、プロジェクトの要件に依存します。1)Webアプリケーションをすばやく開発し、ORMと認証システムを使用する必要がある場合は、Laravelを選択します。 2)データ分析、機械学習、または科学的コンピューティングが含まれる場合は、Pythonを選択します。

LaravelとPython:適切なツールを見つけるLaravelとPython:適切なツールを見つけるApr 18, 2025 am 12:14 AM

LaravelはWebアプリケーションを迅速に構築するのに適しており、Pythonは柔軟性と汎用性を必要とするプロジェクトに適しています。 1)Laravelは、PHPエコシステムに適したORMやルーティングなどの豊富な機能を提供します。 2)Pythonは、簡潔な構文と強力なライブラリエコシステムで知られており、Web開発やデータサイエンスなどのフィールドに適しています。

LaravelとPHP:動的なWebサイトの作成LaravelとPHP:動的なWebサイトの作成Apr 18, 2025 am 12:12 AM

LaravelとPHPを使用して、動的なWebサイトを効率的に楽しく作成します。 1)LaravelはMVCアーキテクチャに従い、ブレードテンプレートエンジンはHTMLの書き込みを簡素化します。 2)ルーティングシステムと要求処理メカニズムにより、URL定義とユーザー入力処理が簡単になります。 3)Eloquentormはデータベース操作を簡素化します。 4)データベースの移行、CRUD操作、ブレードテンプレートの使用は、ブログシステムの例を介して実証されています。 5)Laravelは、強力なユーザー認証と承認機能を提供します。 6)デバッグスキルには、ロギングシステムと職人ツールの使用が含まれます。 7)パフォーマンスの最適化の提案には、怠zyなロードとキャッシュが含まれます。

Laravelとフルスタック:フロントとバックを一緒にLaravelとフルスタック:フロントとバックを一緒にApr 18, 2025 am 12:07 AM

Laravelは、ブレードテンプレートエンジン、Eloquentorm、Artisan Tools、Laravelmixを介してフルスタック開発を実現します。1。ブレードは、フロントエンド開発を簡素化します。 2. Eloquentはデータベース操作を簡素化します。 3。職人は開発効率を向上させます。 4。Laravelmixは、フロントエンドリソースを管理します。

Laravel:現代のWeb開発のためのフレームワークLaravel:現代のWeb開発のためのフレームワークApr 18, 2025 am 12:05 AM

Laravelは、MVCアーキテクチャモデルに従い、豊富なツールと機能を提供し、Web開発プロセスを簡素化する最新のPHPベースのフレームワークです。 1)データベースインタラクション用のEloquentorm、2)高速コード生成のための職人コマンドラインインターフェイス、3)効率的なビュー開発のためのブレードテンプレートエンジン、4)URL構造を定義するための強力なルーティングシステム、5)ユーザー管理のための認証システム、6)リアルタイム機能のためのイベントリスニングとブロードキャスト、7)パフォーマンスを維持するためのパフォーマンスを維持します。

Laravel(PHP)vs。Python:長所と短所を計量しますLaravel(PHP)vs。Python:長所と短所を計量しますApr 17, 2025 am 12:18 AM

LaravelはWebアプリケーションを迅速に構築するのに適していますが、Pythonはより広い範囲のアプリケーションシナリオに適しています。 1.Laravelは、Web開発を簡素化するために、Eloquentorm、Bladeテンプレートエンジン、職人ツールを提供します。 2。Pythonは、その動的なタイプ、リッチ標準ライブラリ、サードパーティのエコシステムで知られており、Web開発、データサイエンス、その他の分野に適しています。

Laravel vs. Python:フレームワークとライブラリの比較Laravel vs. Python:フレームワークとライブラリの比較Apr 17, 2025 am 12:16 AM

LaravelとPythonにはそれぞれ独自の利点があります。Laravelは、機能が豊富なWebアプリケーションを迅速に構築するのに適しており、Pythonはデータサイエンスと一般的なプログラミングの分野でうまく機能します。 1.Laravelは、最新のWebアプリケーションの構築に適したEloquentormおよびBladeテンプレートエンジンを提供します。 2。Pythonには豊富な標準的な図書館とサードパーティライブラリがあり、DjangoとFlaskのフレームワークはさまざまな開発ニーズを満たしています。

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール