HTMLファイルを元にPDFファイルを生成してくれるコマンドラインツールであるwkhtmltopdf。
そのwkhtmltopdfのGolangラッパーであるgo-wkhtmltopdfを使う中で、cssファイルを読み込む時に少し手間取ったので備忘録として投稿します。
前置き
最初はhtmlファイルにstyleタグでスタイルを記述していたのですが、複数フォーマットを作成する中でやはりcssファイルで管理したくなりました。
しかし通常のhtmlと同じ感覚でlinkタグで書いても読み込まれません。
手順
wkhtmltopdfでは--user-style-sheetというオプションでcssファイルの読み込みをサポートしてくれます。
そのため、生成するPageに対して以下のプロパティを設定するだけで、読み込まれるようになります。
page := wkhtmltopdf.NewPageReader(w)
// または page := wkhtmltopdf.NewPage()など
page.UserStyleSheet.Set("./export/formats/formats.css")
pdfg.AddPage(page)
if err := pdfg.Create(); err != nil {
return err
}
まとめ
投稿内容に誤った内容・気になった点などございましたら、ご指摘いただけますと幸いです。
閲覧いただき、ありがとうございました。