wkhtmltopdf+PHPで簡単にPDFを生成してくれるライブラリ「snappy」「PHP WkHtmlToPdf」

以前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がブラウザに表示されます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください