PHP(ピー・エイチ・ピー)

【PHP】エクセルをPDFへ変換する方法

PHPを使ったシステム上でエクセルをPDFへ変換する場合には、「LibreOffice」を利用するのが一番簡単です。

そこで、今回は、「LibreOffice」を使った変換方法についてまとめておきます。

LibreOfficeを準備する

まずは、LibreOfficeのインストールを行います。
といっても、Tera Termなどを立ち上げて以下のコマンドを実行するだけです。
# yum install -y libreoffice libreoffice-langpack-ja

これでエクセルをPDFへ変換する環境が整ったので、
実際にコマンドを実行して変換できるかテストしてみます。

実行するコマンドは以下になります。
# libreoffice --headless --nologo --nofirststartwizard --convert-to pdf --outdir 出力先ディレクトリ 変換元のエクセル

例えば、
/var/www/excel/直下のexample.xlsx

PDFに変換して、
/var/www/pdf/配下に出力したい場合には、以下を実行します。

# libreoffice --headless --nologo --nofirststartwizard --convert-to pdf --outdir /var/www/pdf /var/www/excel/example.xlsx

次は、PHP側の設定を説明します。

PHPのコード

PHPのスクリプ上でコマンドを実行させる場合には、exec()関数を使います。

例えば、以下のようなコードになります。

<?php
$command = "libreoffice --headless --nologo --nofirststartwizard --convert-to pdf --outdir /var/www/pdf /var/www/excel/example.xlsx";
exec($command, $out, $ret);
?>

ただ、これだと、PHP関数から実行した場合に「Warning: failed to read path from javaldx」というエラーが出る場合があります。

その場合には、
「export HOME=/tmp」のコマンドも追加します。

PHPコードは以下になります。

<?php
$command = "export HOME=/tmp && libreoffice --headless --nologo --nofirststartwizard --convert-to pdf --outdir /var/www/pdf /var/www/excel/example.xlsx";
exec($command, $out, $ret);
?>

基本的なコードはこれだけです。

エクセルをPDFへ変換する方法は他にもありますが、LibreOfficeを使った方法が一番簡単だと思います。

あと、変換後に作成されるPDFも綺麗です!

この記事を書いている人
株式会社ディープ

名前ダッチ

メールアドレスadachi@deep-deep.jp

Twitterはこちら >>

  • コメント: 0

関連記事

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

最近の記事

  1. 共用サーバ(レンタルサーバ)
  2. サーバー
  3. リマーケッター
  4. 不動産会社向けのWordPressテーマ
  5. レンタルサーバ:おすすめの共用サーバ
  6. ホームページを活用
  7. Perl(パール)
  8. Perl(パール)
  9. ホームページを活用
  10. データ転送
ConoHa WING 2周年キャンペーン中

アーカイブ

PAGE TOP