PHPプログラミング

最終更新日:
公開日:

レシピ

mPDFライブラリ

mPDFライブラリで保存(ダウンロード)する時のファイル名を指定する

mPDFライブラリを使って作成したPDFファイルを保存するときのファイル名を指定する方法を解説します。

この記事のポイント

  • PDFファイルを保存(ダウンロード)する時のファイル名を指定する
  • ファイル名を動的に作成する

目次

PDFファイルを保存(ダウンロード)する時のファイル名を指定する

今回は、mPDFライブラリで作成したPDFファイルを保存(ダウンロード)するときのファイル名を指定する方法について解説します。

mPDFライブラリは2018年10月時点の最新版であるv7.1を使用します。
ライブラリのインストールと基本的な使い方については「mPDFライブラリでPDFファイルを作成する」をご覧ください。

タイトルと保存時のファイル名は違う

mPDFライブラリは、作成したPDFファイルのタイトルと保存時のファイル名は異なります。
そのため、それぞれを指定する必要があります。
タイトルはsetTitleメソッドで指定し、保存時のファイル名はOutputメソッドで指定します。

mpdf.php

<?php
// ライブラリ読み込み
require_once __DIR__.'/vendor/autoload.php';

// mPDFクラス作成
$mpdf = new \Mpdf\Mpdf([
	'fontdata' => [
	    'ipa' => [
		    'R' => 'ipag.ttf'
		]
	]
]);

// タイトルを指定
$mpdf->setTitle("テスト");

// PDFの内容を出力
$mpdf->WriteHTML('<h1>PDFファイルの出力テスト</h1>');

// 保存時のファイル名を指定
$mpdf->Output("ダウンロード.pdf","I");
return;

こちらのコードを実行すると、タイトル部分には「テスト.pdf」と表示されます。

このPDFファイルを保存しようとすると、Outputメソッドで指定したファイル名が入力された状態になります。

このまま保存すると、実際にこのファイル名になります。

ちなみに、Outputメソッドでファイル名を指定しない場合は自動的に適当なファイル名が設定されます。

Outputメソッドは第1パラメータにファイル名、第2パラメータに「I」か、「\Mpdf\Output\Destination::INLINE」を指定します。

PDFファイルの内容をプレビュー表示しない場合は、第2パラメータに「D」か「\Mpdf\Output\Destination::DOWNLOAD」を指定すると直接ダウンロードする形になります。

Outputメソッドについてより詳しくは、mPDFライブラリの公式マニュアルをご覧ください。
Outputメソッド – mPDF Manual