LAMPサーバで手っ取り早くPDFサーバ構築する方法
Linux Webサーバで手っ取り早く
動的な帳票などのPDFを出力する方法を実装できました。
WebサーバでPDF生成するとなるとFPDFやPDFlibが必用になりますが、
サーバ依存で文字化けがあったりとトラブルがやたらと多いです。
実際に自分も文字化けになやまされましたが、
この方法を利用すれば簡単に実装することができました。
利用したもの:wkhtmltopdf
適当なlinux webサーバ
PHP:system関数(外部プログラムをPHP内で実行できる環境)
続きはこちら
PDF変換にはコマンドラインから利用できるwkhtmltopdfを利用します。
$ wkhtmltopdf http://www.google.com output.pdf
こんな感じで利用すると対象のページがPDFで出力できます。
概要
http://localhost/topdf.phpへアクセスするとPDFがダウンロードできる
実装方法
1. wkhtmltopdfをダウンロードと設置
AMDとintelでは実行ファイルが違うようなので注意してダウンロード。
lzma形式(7zip)で圧縮しているので解凍注意。解凍
$ unlzma wkhtmltopdf* //解凍
$ mv /home/laddy/wkhtmltopdf /var/www/html/ //設置
2. PHPスクリプトの準備
topdf.phpを編集
<?php
//wkhtmltopdfまでのパスを記述、できればフルパスの方がいいかも
system('/var/www/html/wkhtmltopdf http://www.google.co.jp/ /tmp/output.pdf');
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="Output.pdf"');
readfile('/tmp/output.pdf');
?>
3. PDF書き出し方法とダウンロード
http://localhost/topdf.phpへブラウザから普通にアクセスします。
すると、Output.pdfと書かれたPDFがダウンロードできるはずです。
4. 応用方法
今は、Googleのページを取得してPDFにしましたが、
対象のページをPHPで帳票を出力するようなページを対象にすると
ブラウザでみたまま・スクリプトで表示したままの状態で
PDFに変換ができますのでかなり応用がきくのではないかと。
↓こんなURLでアクセスするページ
http://localhost/hoge.php?page=2&category=hobby
特に、wordpressのパーマリンクやcakephpで
特定のURLへアクセスして表示する動的なページの場合に
簡単にPDFが作成できると思います。
-
前の記事
xml-rpc fixテスト 2010.09.14
-
次の記事
しろい悪魔 2010.09.16