HTMLからPDFを出力できるPHPライブラリ「TCPDF」

会社では様々な書類を使用すると思います。
そういった書類を、使い方によっては簡略化できそうなPHPライブラリをみつけましたので、備忘録もかねてご紹介いたします。

TCPDF

PHPでPDFを生成できるフリーのライブラリで、GitHubでもダウンロード可能です。

https://github.com/tecnickcom/tcpdf

TCPDFの公式サイトにサンプルもあります。

http://tcpdf.penlabo.net/tcpdf/examples/

設置方法

①GitHubからZIPファイルをダウンロードします。

②解凍したファイルをサーバーの任意の場所にアップロード。

PDF出力方法

[php]
<?php
include "../TCPDF/tcpdf.php";
$tcpdf = new TCPDF();
$tcpdf->AddPage();
$tcpdf->SetFont("kozgopromedium", "", 10);
$html = <<< EOF
<style>
h1 {
font-size: 20px; // 文字の大きさ
text-align: center; // テキストを真ん中に寄せる
}
p {
font-size: 12px; // 文字の大きさ
color: #000000; // 文字の色
text-align: left; // テキストを左に寄せる
line-height:24px;
}
.tbl{
border:solid 1px #ccc;
width:100%;
}
.tbl th{
border:solid 1px #ccc;
padding:20px;
text-align:center;
}
.tbl td{
border:solid 1px #ccc;
padding:20px;
text-align:center;
}
li{
listy-style:none;
}
.num{
width:30px;
}
h3{
border-bottom:solid 1px #ccc;
}
h2{
font-size:12px;
}
</style>
<div class="wrapper">
<h1>御見積書</h1>
<p></p><p></p>
<table>
<tr><td>
<p>お客様名<br>ご住所<br>有効期限&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;年&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;月&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;日</p>
<p>※下記の通り御見積り申し上げます。</p>
</td>
<td class="box2">
<p>年&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;月&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;日</p>
<div class="company">
<h2>株式会社ファイブスターコーポレーション</h2>
<p>〒900-0021 沖縄県那覇市泉崎1丁目13−7<br>
TEL 098-988-0892<br>
FAX 098-988-0893</p>
</div>
</td></tr>
</table>
<h3>御見積金額 ¥</h3>
<p><br></p>
<table class="tbl">
<tr><th class="num">No.</th><th>品名</th><th>数量</th><th>単位</th><th>単価</th><th>金額</th><th>備考</th></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
</table>
</div>
EOF;
$tcpdf->writeHTML($html);
$tcpdf->Output(‘samurai.pdf’, ‘I’);
?>
[/php]

上記コードで生成したPDFはこちらです。

HTMLタグやCSSなどに制限があり、若干、自由な配置は行えません。
tableでレイアウトするなどの工夫が必要になります。

フォームと組み合わせて、入力値など動的に処理すると、Web上で御見積書や領収書やお申込書などを発行できると思います。

社内アプリやWebサービスのひとつとしても使用できそうです。

関連記事

お問い合わせINQUIRY

お気軽にご相談をください。

宿泊施設の運営にお困りの事業主様、これから宿泊施設を運営したいとお考えの方
ご質問・ご相談などお気軽にご相談ください。

お問い合わせはこちら

採用情報RECRUITMENT INFO.

私たちと一緒に働きませんか

明るく、人と接することが好きな人で向上心がある人をお待ちしております。
(ホテル業・観光業・旅行業・営業職の経験者を優遇)

募集概要・エントリー

TOP