勉強したことのメモ

webプログラマが勉強したことのメモ。

HTML / CSSで作成したコンテンツをPDFファイルで出力する方法(TCPDF)

   

HTML / CSSで作成したコンテンツをPDFファイルで出力させたい。以前mpdfを用いてPDF化する方法をメモったが今回はTCPDFというライブラリを使用してみたかった。以下に対応方法をメモ。

 

TCPDFライブラリに関して

以下よりダウンロードする。

https://github.com/tecnickcom/tcpdf

尚、リファレンスについては非公式かと思われるが以下サイトが参考になった。

http://www.t-net.ne.jp/~cyfis/tcpdf/index.html

http://tcpdf.penlabo.net/

 

ソースコード

<?php
include('./TCPDF/tcpdf.php');

$tcpdf = new TCPDF();
$tcpdf->AddPage();
$tcpdf->SetFont('kozminproregular', '', 10);
$html = <<< EOF
<style>
.fcolor-red{
    color: #f00;
}
</style>
<h1>テスト</h1>
<div class="fcolor-red">赤文字</div>
<img src="./001.jpg" width="50px">
EOF;
$tcpdf->writeHTML($html);
$tcpdf->Output('test.pdf');

 

注意点

HTML / CSSで作成したコンテンツを簡単にPDF化できるもののCSSに関しては制限が多い。そのため出力されるPDFは非常にシンプルなデザインになりがちで業務で使えるかと言われると微妙なところ。

テキストは問題無く表示されるので文章メインのサイトをスクレイピングし、そのデータをPDF化させるとかなら使えるかも。

 - PHP

  関連記事

PHPで文字列の操作(検索、置換、切り出し)

しばしば行う文字列の操作をまとめておく。 ----- ■文字列の長さを調べる e ...

PHP7.4でAPCuとOPcacheをインストールする方法

先日本ブログのサーバをCentOS6系から7系に移行し、その際にMySQLのバー ...

PHPでメルマガを配信する方法

※2016/04/07追記 1件ずつ小分けで送る方法の記事追加。   ...

PHPとStripeで定額課金(サブスクリプション)実装

PHPとStripeで1ヶ月ごとに500円でサイト内のサービスを使い放題のような ...

PHPでyoutubeから更新分の情報を取得する(スクレイピング)

「○○のサイトから自動更新分を持ってきて 自サイトに反映させらへん?」と以前に聞 ...

setcookieで「Cannot modify」エラー

PHPでsetcookieを使うと「Warning: Cannot modify ...

MySQLで使用するインデックスを指定する

ちゃんと指定してるのにインデックスが使用されていない場合、 オプティマイザに知ら ...

Facebookのタイムラインを取得して表示する方法

Facebookのタイムラインを取得してきて、表示させたいという案件があった。 ...

PHPで日時比較時の注意

PHPで日時を比較する際にミスがあったのでメモ。 基本形は下記。 $limit_ ...

PHPでファイルを添付してメール送信

PHPでファイルを添付の上、メールを送信したかった。方法を探したところphpma ...