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
ソースコード
<?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で配列データをCSVとしてダウンロードさせる方法
PHPでログ的なデータをCSV化したかった。ただ、複数の人間が使うのでCSVファ ...
-
-
PHPで他サーバにファイルをアップロードする2
formで画像を送信した後、他サーバにファイルをアップロードしたかった。以前はP ...
-
-
FPDIで「This PDF document probably uses~~」エラーの対処方法
FPIDであるPDFを読み込ませようとすると「This PDF document ...
-
-
ディレクトリに設置してあるフォルダをPHPで調べて表示
やりたい事はsampleというディレクトリがあったとして、その直下にあるフォルダ ...
-
-
PHPで=$hoge;?>みたいに省略して書く際の設定
さくらvpsで<?=$hoge;?>とか省略して書こうとしても書けな ...
-
-
PHPでHTMLメールを送信する方法(PHPMailerあり無しの2パターン)
PHPでHTMLメールを送信したい。また、メール関連の機能を実装する際は環境によ ...
-
-
CodeigniterでCSSやJSファイルを読み込む
CodeigniterでCSSやJSファイルを読み込みたかった。また、それをヘッ ...
-
-
PHPでExcelシートを出力する方法(PhpSpreadsheet)
PHPでエクセルシートを出力させたい。以前はPHPExcelを利用していたが現在 ...
-
-
ページング処理用PHP
/* @内容 ページング処理のfunction @使い方 //******親ペー ...
-
-
PHPでクエリ内容を取得する
エラーログを確認している際によく分からない動作に なっているところがあった。 ペ ...