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も綺麗です!

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

名前ダッチ

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

Twitterはこちら >>

  • コメント: 0

関連記事

コメント

  • コメント (0)

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

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

最近の記事

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

Twitter

ダッチ@職業ブロガー兼プログラマー
@gatsu0000

アーカイブ

PAGE TOP