2014年11月19日水曜日

phpExcelでの画像サイズと、EXCELの印刷時の注意

写真サイズの、Lサイズ(89×127)の場合。
$hoge->setHeight(336.3);
$hoge->setWidth(479.8);

setHeightとsetWidthに対して、
上記のように指定すると、Lサイズで画像がEXCELに出力される。
しかしEXCELの印刷プレビューをすると、少し大きく表示されてしまう。
画像の間隔に余白がない状態だ。
(Microsoftには、シートの状態と印刷プレビューの状態で見え方が異なる状態を早く直して頂きたい・・)
なお、余白はデフォルトのままである。
※ 上下:1.9、左右:1.8、ヘッダ&フッタ:0.8

従って、上記の設定値の95%を設定するが、
これでは確かに印刷プレビューではおさまっているようにみえるが、
最後の3ページ目がなぜか4ページ目にはみでてしまうため、さらに縮小する必要があった。
$hoge->setHeight(319.5);
$hoge->setWidth(455.8);

最終的には、初めの設定値の92%に収まった。
※ 次のページに少し出ない、ぎりぎりのサイズ
$hoge->setHeight(309.4);
$hoge->setWidth(441.4);

さらにEXCELの中身も注意しなければならない。
シート全体を印刷範囲クリアをしたとしても、
以前に編集したことがあれば、その部分まで印刷されてしまう。
つまり3ページで画像が終わりだとしても、空白の状態で4・5ページ目が出力される。
よってそういうときは、該当行をすべて削除してしまえばいい。

0 件のコメント:

コメントを投稿