以前HTMLから簡単にPDFを生成するツールWkhtmltopdfを紹介しました。
今回はPHPからwkhtmltopdfを簡単に実行させるライブラリを2つ紹介します。
※事前に日本語フォントのインストールとWkhtmltopdfがインストールされていることが前提です。
目次
Snappy
インストール
インストールはcomposerで行います。
$ composer require knplabs/knp-snappy
コード
今回は指定のサイトをPDF化して、ブラウザに表示するプログラムを紹介します。
require 'vendor/autoload.php'; use Knp\Snappy\Pdf; // wkhtmltopdfをインストールしている位置をコンストラクタに渡す $pdf = new Pdf('/usr/local/bin/wkhtmltopdf'); // エンコーディングをUTF-8にする $pdf->setOption('encoding', 'utf-8'); // PDF化したいサイトのURL $url = 'PDF化したいURL'; // PDFをブラウザに出力 header("Content-Type: application/pdf"); echo $pdf->getOutput($url);
phpファイルにアクセスするとPDFがブラウザに表示されます。
PHP WkHtmlToPdf
インストール
コマンドラインで以下のコマンドを実行してください。
$ composer require mikehaertl/phpwkhtmltopdf
コード
今回は指定のサイトをPDF化して、ブラウザに表示するプログラムを紹介します。
<?php //オートロードをインクルード include_once 'vendor/autoload.php'; use mikehaertl\wkhtmlto\Pdf; $pdf = new Pdf([ // wkhtmltopdfをインストールしている位置を指定 'binary' => '/usr/local/bin/wkhtmltopdf', // エンコード形式 'encoding' => 'utf-8', // 生成されるPDFの余白を指定 // 上の余白 'margin-top' => 10, // 右の余白 'margin-right' => 10, // 下の余白 'margin-bottom' => 10, // 左の余白 'margin-left' => 10, 'no-outline', ]); // ページを追加 $url = 'PDF化したいURL'; $pdf->addPage($url); // ブラウザにPDFを表示 $pdf->send();
phpファイルにアクセスするとPDFがブラウザに表示されます。
コメント