ど素人から毛を生やす。<延>

wkhtmltopdf で下に余白ができた話。

Web > Other 2020年3月12日(最終更新:8月前)

どもです。

wkhtmltopdf を使用した既存のPDF出力サービスの改修。
これまでA5横で出力していた2種類のPDFを、A4縦の1枚にまとめてPDFする機能の追加です。

下にかなりの余白ができている…

原因を調査したところ、なんと元の書類の横幅指定が間違っていました。
A5横なので210mmとしなければならないところを、220mmに設定していたのです。

210mmに修正した結果がこちら。

右と下に余白ができましたが、先ほどより下の余白が減少しています。

どうやら smart-shrinking を無理やり無視しようとして、横幅の設定を大きくしていたようですね。
しかしそうすると、縮小機能が狂って下の余白が大きくなってしまった模様。A5サイズのときこそ結果的なPDFは良い感じになっていたのですが、 wkhtmltopdf の自動調整でできる余白はPDFが大きくなるほど如実に影響が出ます。

というわけで改めて --disable-smart-shrinking を設定! 自動余白機能を解除します!

しかしどうしたことか、自動余白が無くなってくれない。

実は、無理やり幅を広げていたのを直したことで、要素が1つ右にはみ出てしまっていたんですね。
どうやら wkhtmltopdf は、横に要素がはみ出ている分には smart-shrinking の設定と無関係に、勝手にページを縮めて中に収めてしまうようです。

というわけではみ出ていた要素を修正。
これで漸く下の余白が消えてくれました。やったぜ。

この記事は役に立ちましたか?
  • _(:3」∠)_ 面白かった (0)
  • (`・ω・´) 役に立った (0)
  • (・∀・) 参考になった (1)