LoginSignup
3
0

More than 5 years have passed since last update.

tFPDFでjapanese.phpを利用する

Last updated at Posted at 2018-08-08

はじめに

FPDFで日本語でPDF出力を行おうとして,ググると大体出てくる japanese.php を利用する方法。

FPDF公式ページに日本語対応パッチへのリンクが消えているため,今それを利用する方法をまとめる。

今までは各言語ごとに対応パッチを配布していたのだが,公式がUTF-8に対応したライブラリtFPDFを配布することになり,各言語へのパッチはリンクが消えている模様。

tFPDFのダウンロード

まずはtPDFのダウンロードを行う。

FPDF公式ページの,

スクリーンショット 2018-08-08 16.40.33.png

このリンクを飛んだ先の

スクリーンショット 2018-08-08 16.44.03.png

一番下のZIPダウンロードから。

ダウンロードしたらディレクトリ名を「tfpdf」へと書き換えて好きな場所へと配置する。
(僕はプロジェクト内に lib ディレクトリ作ってその下に置いた)

直リンク

フォーラムの中には残ってるらしいので直接飛ぶ

japanese.zip をクリックし,ダウンロードを行う。

中に入っているのは

  • japanese.php (本体)
  • ex.php (サンプル)

の2つなので japanese.php を tFPDFの中に入れる。

japanese.php の変更

そのままだと,FPDFを利用する形になっているので,tFPDFを利用するように書き換える必要がある。

2行目と15行目の, fpdfFPDF を,それぞれ tfpdftFPDF へ書き換える

japanese.php
- 2: require('fpdf.php');
+ 2: require('tfpdf.php');

- 15: class PDF_Japanese extends FPDF
+ 15: class PDF_Japanese extends tFPDF

以上で準備が完了。

利用法

japanese.php はShift-JISしか対応していない?ため, mb_convert_encoding を使ってShift-JISへと変換する必要がある。

<?php
require('./lib/tfpdf/japanese.php'); // ←自分の環境に応じて書き換えを

$pdf = new PDF_Japanese();
$pdf->AddSJISFont();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('SJIS','',18);
$pdf->Write(8, mb_convert_encoding('FPDFの日本語対応サンプルです', 'SJIS'));
$pdf->Output();

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0