ホームページ  >  記事  >  バックエンド開発  >  PHPでPDFを作成する

PHPでPDFを作成する

WBOY
WBOY転載
2024-02-28 10:16:461085ブラウズ

PHP での PDF の作成は、Web サイト開発者が請求書、レポート、証明書などのさまざまな種類の動的 PDF ファイルを生成するのに役立つ非常に便利なスキルです。 PHP のライブラリと拡張機能を使用すると、開発者はデータを簡単に PDF 形式に変換し、ユーザーがダウンロードまたは印刷できるように Web サイト上で利用できるようになります。この記事では、一般的なライブラリと拡張機能を使用して PHP で PDF ファイルを作成する方法と、いくつかの実用的なヒントと考慮事項について説明します。


phpmpdf ライブラリを使用して PDF

を作成します

外部ライブラリ mpdf を使用して、PHP で PDF を作成できます。 データベースからデータを取得し、PDFに保存して、そのPDFをダウンロードできます。このライブラリを使用すると、html ドキュメントから PDF を作成できます。 HTML ドキュメントは UTF-8 でエンコードする必要があります。 PDF に追加するデータをデータベースから HTML 形式で取得できます。コマンド composer require mpdf/mpd を使用して project ディレクトリからライブラリをダウンロードすることで、ライブラリを使用できます。このコマンドは、mpdf ライブラリをプロジェクト ディレクトリにインストールします。 vendor ファイルが作成されます。require() 関数を使用して、vendor## 内にあるファイル autoload.php をインクルードする必要があります。 # フォルダー。ライブラリがインストールされているディレクトリに書き込み権限があることを確認する必要があります。

Mpdf() コンストラクターからオブジェクトを作成し、WriteHTML()output() などのメソッドを使用して PDF を作成します。さまざまなモードで PDF を出力できます。 output() メソッドの 2 番目のパラメータでモードを指定できます。さまざまなモードは、DIF、および S オプションで表されます。オプション D は、スクリプトの実行後に PDF のダウンロードを強制します。スクリプトの実行後、オプション I によりブラウザに PDF が表示されます。また、オプション F は、ダウンロードした PDF を PHP ファイルに関連するフォルダーに保存します。最後に、オプション F は、output() メソッドが変数に割り当てられている場合にのみ、ブラウザーに PDF を出力します。

たとえば、

phprow という名前のデータベースがあり、このデータベースには Persons という名前のテーブルが含まれています。テーブル Peoples には次のデータが含まれています。 リーリー

まず、

require() 関数を使用して、vender/autoload.php ファイルをインクルードします。次に、データベース接続を作成して確立し、sql クエリを実行してデータベースからデータを選択し、$html 変数にテーブルを作成します。 . 演算子を使用して、$html 変数をテーブルの本体と結合します。ヘッダー IDName、および Address を持つテーブルを作成します。次に、Peoples テーブルから上記のデータを取得して、テーブルにデータを設定します。

サンプルコード:

リーリー

上の例では、データベースからのデータを変数

$html に保存しています。 . 演算子を使用してすべてのテーブル要素を結合しました。これで、HTML ドキュメントを PDF に書き込む準備が整いました。

次に、

$mpdf という名前の変数を作成します。 new キーワードを使用して、Mpdf() コンストラクターのオブジェクトを変数に割り当てます。 $html 変数をオブジェクトのパラメーターとして使用して、WriteHTML() 関数を呼び出します。次に、PDF を保存するための別の変数 $file を作成します。 files/time() 関数と連結し、再度 .pdf と連結してファイル名を作成します。それを $file 変数に保存します。最後に、最初の引数として $file を指定し、2 番目の引数としてオプション I を指定して、output() 関数を呼び出します。

そこで、データベースからデータを取得し、そのデータを使用して PDF を作成しました。次の例では、現在の時刻の名前と拡張子

.pdf を持つファイルを files フォルダーに作成します。スクリプトが実行されると、PDF がブラウザに表示されます。ブラウザからPDFをダウンロードできます。

サンプルコード:

リーリー


dompdf ライブラリを使用して PHP で PDF を作成する

dompdf ライブラリは、PHP で PDF を作成およびダウンロードするためのオプションでもあります。これにより、HTML を PDF にロードできるようになります。このライブラリは mpdf ライブラリとよく似ていますが、アプローチが異なるだけです。 loadHtml()render()stream() などのメソッドを使用します。コマンド composer require dompdf/dompdf を使用して、ライブラリを作業ディレクトリにダウンロードする必要があります。最初の方法と同様に、vendor フォルダーと composer.JSON<strong class="keylink"></strong> および composer.lock ファイルが作成されます。

例如,要求 vendor/autoload.php 作为程序中代码的第一行。然后编写 use 关键字以将 Dompdf 类导入为 use Dompdf/Dompdf。我们可以使用与上述方法相同的 HTML 表来加载 PDF。

<code>
<code class="language-php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">require</span> <span style="color:#ba2121">'vendor/autoload.php'</span>;
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">use</span> Dompdf\Dompdf;
</span></span></code></code>

将 HTML 存储在变量 $html 中后,创建另一个变量 $dompdf 以创建类 Dompdf 的对象。然后使用 $html 作为参数调用 loadHtml() 方法。接下来,调用 render() 函数,然后使用 $dompdf 对象调用 stream() 函数。

下面的示例将使用第一种方法中的表格创建 PDF。render() 方法将 HTML 呈现为 PDF 文件,而 stream() 方法将呈现的 HTML 输出到浏览器。因此,我们可以使用 PHP 中的 dompdf 库创建 PDF。

示例代码:

<code>
<code class="language-php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#19177c">$dompdf</span> <span style="color:#666">=</span> <span style="color:#008000;font-weight:bold">new</span> Dompdf();
</span></span><span style="display:flex;"><span><span style="color:#19177c">$dompdf</span><span style="color:#666">-></span><span style="color:#7d9029">loadHtml</span>(<span style="color:#19177c">$html</span>);
</span></span><span style="display:flex;"><span><span style="color:#19177c">$dompdf</span><span style="color:#666">-></span><span style="color:#7d9029">render</span>();
</span></span><span style="display:flex;"><span><span style="color:#19177c">$dompdf</span><span style="color:#666">-></span><span style="color:#7d9029">stream</span>();
</span></span></code></code>

以上がPHPでPDFを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlsjlt.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。