ホームページ > バックエンド開発 > PHPチュートリアル > PHPを使用してPDFファイルを生成する方法

PHPを使用してPDFファイルを生成する方法

WBOY
リリース: 2023-05-11 16:22:02
オリジナル
7750 人が閲覧しました

現代のインターネット技術の応用において、PDF ファイルはクロスプラットフォームの標準文書形式として広く使用されています。 PHP は最も人気のあるサーバーサイド プログラミング言語の 1 つであり、PDF ファイルの処理にも非常に実用的です。この記事では、PHPを使用してPDFファイルを生成する方法を紹介します。

1. 関連する拡張機能をインストールする

PDF ファイルを生成するには、PDF ライブラリを使用する必要がありますが、これは PDF 関連の拡張機能をインストールすることで実現できます。一般的に使用される PDF 拡張子には次のものがあります。

  1. TCPDF 拡張子

TCPDF は、PDF ファイルの生成に使用される PHP クラス ライブラリです。すべてPHP言語で書かれているので、PHP環境で簡単にPDFファイルを生成できます。

Composer を使用して TCPDF 拡張機能をインストールできます。次のコードをプロジェクトに追加します:

{
    "require": {
        "tecnickcom/tcpdf": "^6.2"
    }
}
ログイン後にコピー
  1. mPDF 拡張機能

mPDF は PHP ベースですTDCPDF クラス ライブラリでは、PDF ファイルを生成できるだけでなく、HTML、XHTML、CSS 形式のファイルも生成できます。

Composer を使用して mPDF 拡張機能をインストールし、次のコードをプロジェクトに追加できます。

{
    "require": {
        "mpdf/mpdf": "*"
    }
}
ログイン後にコピー

2. 単純な PDF ファイルを生成します

PDF ファイルの生成を開始する前にまず、単純な PDF ファイルを生成するために必要な手順を見てみましょう。

  1. PDF インスタンスの作成
  2. PDF ページの定義
  3. PDF コンテンツの出力
  4. PDF ファイルの保存
##次に、次の 4 つの手順に従って、単純な PDF ファイルを生成します。

    PDF インスタンスの作成
まず、ページ サイズや余白などのパラメータを定義する PDF インスタンスを作成する必要があります。以下は TCPDF インスタンスの作成例です。

require_once('tcpdf/tcpdf.php');

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
ログイン後にコピー

このうち PDF_PAGE_ORIENTATION はページの向きを定義するために使用されます。 PDF_UNIT はページ単位を定義するために使用されます。 PDF_PAGE_FORMAT は、ページ サイズを定義するために使用されます。 true は Unicode フォントを使用することを意味します。文字エンコーディングの定義には「UTF-8」が使用されます。 false は、アンチエイリアスを使用しないことを意味します。

    PDF ページの定義
PDF ページの定義とは、PDF ページのサイズ、余白、フォント、その他のスタイルを設定することを意味します。以下は、TCPDF ページを定義する例です。

// 设置页面信息
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Author');
$pdf->SetTitle('Title');
$pdf->SetSubject('Subject');
$pdf->SetKeywords('TCPDF, PDF, example');

// 设置页面边距和大小
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

// 设置默认字体
$pdf->SetFont('cid0cs', '', 12);
ログイン後にコピー

このうち、SetMargins、SetHeaderMargin、SetFooterMargin、および SetAutoPageBreak は、PDF ページのマージン、ヘッダー、フッター、およびページングを設定するために使用されます。 setImageScale は、PDF 画像の比率を設定するために使用されます。 SetFont は、PDF テキストのフォントとサイズを設定するために使用されます。

    PDF コンテンツの出力
PDF コンテンツの出力とは、HTML テキストを PDF ドキュメントに変換することを指します。 TCPDF では、writeHTML メソッドを使用してこれを実現できます。以下は TCPDF コンテンツの出力例です。

$pdf->AddPage();

$html = '<h1>My PDF</h1>';
$html .= '<p>This is my first PDF generated with TCPDF.</p>';

$pdf->writeHTML($html, true, false, true, false, '');
ログイン後にコピー

このうち、AddPage は新しい PDF ページを追加するために使用されます。 writeHTML は、HTML テキストを PDF ドキュメントに出力するために使用されます。

    PDF ファイルの保存
最後の手順では、PDF ファイルをディスクに保存します。 TCPDF では、Output メソッドを使用してこれを実現できます。次に、TCPDF ファイルを保存する例を示します。

$pdf->Output('my_pdf.pdf', 'D');
ログイン後にコピー

ここで、my_pdf.pdf は PDF ファイルの名前を表します。 「D」は、PDF ファイルがユーザーのブラウザに直接出力されることを意味します。他のパラメータを使用することもできます。たとえば、「I」は PDF ファイルをブラウザに出力することを意味し、「F」は PDF ファイルをディスクに保存することを意味します。

3. mPDF を使用して PDF ファイルを生成する

前回の記事では、TCPDF を使用して PDF ファイルを生成する方法を紹介しました。 mPDF を使用して PDF ファイルを生成する場合、単純に mPDF を使用して PDF ファイルを生成する例を次に示します。

require_once(__DIR__.'/vendor/autoload.php');

$mpdf = new MpdfMpdf();

$mpdf->WriteHTML('<h1>Hello world</h1>');

$mpdf->Output();
ログイン後にコピー
その中で、__DIR__.'/vendor/autoload.php' は mPDF ライブラリです。 Composer を通じて自動的にロードされます。 WriteHTML は、HTML テキストを PDF ドキュメントに出力するために使用されます。 Output は、PDF ファイルをブラウザまたはディスクに出力するために使用されます。

4. 結論

PHP は TCPDF または mPDF クラス ライブラリを使用して PDF ファイルを生成できます。まず関連する拡張機能をインストールしてから、以下の手順に従って PDF ファイルを生成する必要があります。

    PDF インスタンスの作成
  1. PDF ページの定義
  2. PDF コンテンツの出力
  3. PDF ファイルの保存
HTML ページを PDF ドキュメントに変換する必要がある場合は、まず HTML ページを TCPDF の writeHTML() 関数で mPDF の WriteHTML 関数に置き換えます。 。 PHP を使用した PDF ファイルの生成は非常に簡単で、ユーザーがダウンロードして共有できるように Web コンテンツを PDF ドキュメントに変換するなど、さまざまなシナリオで使用できます。

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート