0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

cakephpでxkhtmltopdfをVPS(CentOS)で実行できるようにする

Last updated at Posted at 2014-12-26

CakePHPを利用しているとき、PDFを出力できるようにしたいとき、htmlからPDFを作成するプラグイン「wkhtmltopdf」を利用します。

  • VPSのOSをチェック
    cat /etc/ \ls /etc -F | grep "release$|version$"``

  • OSがLinuxのサーバーで、xkhtmltopdfを利用する

  • 以下のURLページで、Linux(CentOS6)の64bitをダウンロードすると以下が保存される
    http://wkhtmltopdf.org/downloads.html
    wkhtmltox-0.12.1_linux-centos6-amd64.rpm

  • その後、解凍アプリケーションで、wkhtmltox-0.12.1_linux-centos6-amd64.rpmを解凍。

  • 実行ファイル「wkhtmltopdf」と「wkhtmltoimage」をサーバーの「/usr/local/bin/」直下にアップロードする

  • 以下のコマンドで、「/usr/local/bin/」の「wkhtmltopdf」ファイルの権限を変更する
    chmod a+w wkhtmltopdf

  • 解凍した他のファイルも、サーバーの各ディレクトリに配置する

usr/local/lib/
->libwkhtmltox.so.0.12.1、libwkhtmltotox.so.0、libwkhtmltox.so、libwkhtmltox.so.0.12

usr/local/include/
->/wkhtmltox/
->dllend.inc、pdf.h、image.h、dllbegin.inc

usr/local/share/
->.fonts、fonts、IPAexfont00201、man

Cache::config('default', array(
'engine' => 'File',
'mask' => 0666 //本番環境に合わせる
));

CakePlugin::load('CakePdf', array('bootstrap' => true, 'routes' => true));
Configure::write('CakePdf', array(
'engine' => 'CakePdf.WkHtmlToPdf', // 使用するPDFエンジン
'binary' => '/usr/local/bin/wkhtmltopdf', // WkHtmlToPdfバイナリファイルのパス
'options' => array(
'print-media-type' => false,
'outline' => true,
'dpi' => 96
),
'margin' => array(
'bottom' => 0,
'left' => 0,
'right' => 0,
'top' => 0
),
'orientation' => 'landscape', // landscape(横)指定もできる
'download' => false // 表示のみかダウンロードか
));

  • route.phpには以下を追加。
    これで、.pdfの拡張を利用できるようになる

Router::parseExtensions('pdf');

  • PDFを出力したいコントローラー内で、以下を追加する

    public $components = array('RequestHandler');

  • そして、Viewは以下のように用意する

View/モデル名/pdf/view.ctp
View/Layout/pdf/default.ctp

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?