サーバー上で excel ⇒ pdf の変換を行いたいと考えています。
Libreofficeでコマンドラインで変換できると聞き、それで対応しようかと考えていましたが、変換すると余白の調整ができず、意図しないところで改ページされた状態でPDF化されてしまいます。
【追記】
coco_bauerさんの指摘により、現状は下記のようになりました。
※2ページ目あり、縦幅が狭まるのが問題
(コマンドライン変換)
(原本をofficeで変換) ※この形式にしたい
--helpでヘルプを見たり、ドキュメントを調べましたが余白の調整等などの
オプションは無いように思えました。
ドキュメント
何か方法はないでしょうか?
【追記】
excel ⇒ pdf にする理由は下記二点となります。
①excelの生成処理を既に作成しているのでそれを利用することの工数短縮
②pdfを直接生成すると、excelと同じレイアウトに収まるかどうか不安がある
【追記2】
libreofficeでの変換以外にも、他にこういった方法があるよ と教えていただければ助かります。
- 環境
CentOs 7.3.1611
PHP 5.4.16
libreoffice 5.4.1.2
# /usr/lib64/libreoffice/program/soffice.bin --convert-to pdf --outdir /var/www/html/hoge/app/webroot/download/ --headless /var/www/html/hoge/app/webroot/excel/hoge.xlsx
何卒ご助力いただければと思います。
excelファイルで印刷時のページ設定ができますが、"縦横とも1ページに合わせて印刷(1枚に全部を印刷する)"という設定はされていますか?
回答ありがとうございます。
このシートですが、行数が多くなった場合、2ページにまたがるのでその設定は入れておりません。office2015で「すべての列を1ページに印刷」をすることで横幅がはみ出ることはなくなりました。
ただ、その調整によって、縦幅が縮小されてしまう問題が発生しました。
どのようになれば良いのですか? "意図しない場所での改行"を避けるには、改行せずに印刷されるように設定するしかないと思います。 Excelのデータの縦横比は印刷の際にも反映されます。横幅を1ページに印刷し、縦方向は引き伸ばして高さいっぱいに印刷したら読みにくいと思われますが、それをお望みなのですか?
目標は、「デスクトップでexcel ⇒ pdf に変換したときと同じ精度で変換したい」になります。
いまのコマンドラインでの変換では、縦幅に差がありすぎるため、それが現時点での課題になります。
※先ほど、質問文を編集し、目標物(原本のデスクトップでの変換)を追記しました。

回答3件
あなたの回答
tips
プレビュー