ExcelファイルをPDFファイルへ変換
の編集
https://yassu.jp/pukiwiki/index.php?Excel%A5%D5%A5%A1%A5%A4%A5%EB%A4%F2PDF%A5%D5%A5%A1%A5%A4%A5%EB%A4%D8%CA%D1%B4%B9
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
[[PHPめも]] PhpSpreadsheetでExcelファイルをゴニョゴニョし、それをPDFファイルへ変換して出力したい。~ ゴニョゴニョは [[PHPでExcelファイルを読み込む]] を参考。 フリーソフトのLibreOffice(リブレオフィス)を使用すると簡単に実現できそう。 *LibreOfficeのインストール [#lc59fe2f] 大量に色々入ります。 # yum install libreoffice **AWSなどyumで入れられない場合 [#n668972a] [[公式サイト:https://ja.libreoffice.org/]]から安定版 Linux x64 (rpm) をダウンロードします。 $ tar xvzf LibreOffice_6.1.6_Linux_x86-64_rpm.tar.gz # rpm -ivh LibreOffice_6.1.6.3_Linux_x86-64_rpm/RPMS/*.rpm エラー: 依存性の欠如: libXinerama.so.1()(64bit) は libobasis6.1-core-6.1.6.3-3.x86_64 に必要とされています # cd LibreOffice_6.1.6.3_Linux_x86-64_rpm/RPMS/ # yum install *.rpm $ libreoffice6.1 -h /opt/libreoffice6.1/program/soffice.bin: error while loading shared libraries: libdbus-glib-1.so.2: cannot open shared object file: No such file or directory # yum install dbus-glib $ libreoffice6.1 -h /opt/libreoffice6.1/program/soffice.bin: error while loading shared libraries: libcairo.so.2: cannot open shared object file: No such file or directory # yum install cairo $ libreoffice6.1 -h /opt/libreoffice6.1/program/soffice.bin: error while loading shared libraries: libcups.so.2: cannot open shared object file: No such file or directory 泣きそう # yum install cups-libs $ libreoffice6.1 -h LibreOffice 6.1.6.3 *フォントの設置 [#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ページにうまく納まらない場合は、印刷の拡大縮小の設定を見直すと良いかも。
タイムスタンプを変更しない
[[PHPめも]] PhpSpreadsheetでExcelファイルをゴニョゴニョし、それをPDFファイルへ変換して出力したい。~ ゴニョゴニョは [[PHPでExcelファイルを読み込む]] を参考。 フリーソフトのLibreOffice(リブレオフィス)を使用すると簡単に実現できそう。 *LibreOfficeのインストール [#lc59fe2f] 大量に色々入ります。 # yum install libreoffice **AWSなどyumで入れられない場合 [#n668972a] [[公式サイト:https://ja.libreoffice.org/]]から安定版 Linux x64 (rpm) をダウンロードします。 $ tar xvzf LibreOffice_6.1.6_Linux_x86-64_rpm.tar.gz # rpm -ivh LibreOffice_6.1.6.3_Linux_x86-64_rpm/RPMS/*.rpm エラー: 依存性の欠如: libXinerama.so.1()(64bit) は libobasis6.1-core-6.1.6.3-3.x86_64 に必要とされています # cd LibreOffice_6.1.6.3_Linux_x86-64_rpm/RPMS/ # yum install *.rpm $ libreoffice6.1 -h /opt/libreoffice6.1/program/soffice.bin: error while loading shared libraries: libdbus-glib-1.so.2: cannot open shared object file: No such file or directory # yum install dbus-glib $ libreoffice6.1 -h /opt/libreoffice6.1/program/soffice.bin: error while loading shared libraries: libcairo.so.2: cannot open shared object file: No such file or directory # yum install cairo $ libreoffice6.1 -h /opt/libreoffice6.1/program/soffice.bin: error while loading shared libraries: libcups.so.2: cannot open shared object file: No such file or directory 泣きそう # yum install cups-libs $ libreoffice6.1 -h LibreOffice 6.1.6.3 *フォントの設置 [#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ページにうまく納まらない場合は、印刷の拡大縮小の設定を見直すと良いかも。
テキスト整形のルールを表示する