[[PHPめも]]

PhpSpreadsheetでExcelファイルをゴニョゴニョし、それをPDFファイルへ変換して出力したい。~
ゴニョゴニョは [[PHPでExcelファイルを読み込む]] を参考。

フリーソフトのLibreOffice(リブレオフィス)を使用すると簡単に実現できそう。

*LibreOfficeのインストール [#lc59fe2f]

大量に色々入ります。

 # yum install libreoffice

*フォントの設置 [#ceb22063]

そのまま使用すると日本語が文字化けするのでIPAexフォントを利用させていただきます。~
https://ipafont.ipa.go.jp/

IPAexfont00401.zip をダウンロードし、ipaexg.ttf, ipaexm.ttfの2ファイルを以下へ設置します。~
/usr/share/fonts/japanese/TrueType/

*変換 [#q278bbea]

outdirで指定した場所へ Book1.pdfとして出力されます。

 $ libreoffice --headless --nologo --nofirststartwizard --convert-to pdf --outdir ./ Book1.xlsx

PHPから実行する場合はHOMEディレクトリを指定してやります。

 exec('export HOME=/tmp;libreoffice --headless --nologo --nofirststartwizard --convert-to pdf --outdir ./ Book1.xlsx');

1ページにうまく納まらない場合は、印刷の拡大縮小の設定を見直すと良いかも。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS