phpwkhtmltopdfでbootstrap使おうとしたらcolが効いてない?

作業環境

php7.1
phpwkhtmltopdf

概要

phpでPDFを生成しようとして戦っていた。
bootstrap入れて、phpwkhtmltopdfでpdfを生成したものの、横並びのdivがなぜか再現されていなくて困った。
効いているcssをbootstrapファイルに突っ込んで効いているか確かめたり、PDF変換前のデータをhtml保存したりして調べたところ、bootstrapのcol-*-*系クラスを横並びにしてくれているbox-sizingが効いてないっぽい。

$file = '/var/www/html/pre_pdf.html';
file_put_contents($file, $html);

やったこと

wkhtmltopdfをコマンドラインで叩いたときは確か効いていた(気がする)ので、間に噛ませているphpwkhtmltopdfのせいかなと思っていたけどよくわからない。
snappyは2014年の時点で実装しようとしてたみたいだけど、今使ってるphpwkhtmltopdfはとくに情報が見つからないので実装していないのかも?

横並びのCSSを一つずつ試したけど、flex-boxとdisplay: inline-boxは効かなったのでdisplay:tableで試したら横並びにできた。
pdf-*系のクラスを作ってpdf作成時のcssを上書きして整形してなんとかPDFにしている。

.pdf-flex-box{
	display: table !important;
	width: 100% !important;
}
.pdf-cell{
	display: table-cell !important;
}
.col-sm-6{
	width: 48% !important;
}
<div class="pdf-display-table">
	<div class="col-sm-6 pdf-cell">
		■横並びにしたいdiv■
	</div>
	<div class="col-sm-6 pdf-cell">
		■横並びにしたいdiv■
	</div>
</div>
タイトルとURLをコピーしました