Chart コンポーネントは Printer コンポーネントからの印刷は出来ないようです。
PrimeFaces Community Forum Printer doesn't print Flash charts
PrimeFaces Community Forum Printer not working for chart objects
2,3年前の回答ですが出来ないと書いています。
5.1 でも試してみましたが印刷出来ませんでした。*1
で、どうしても Printer コンポーネントを使って印刷したい場合は、Chart コンポーネントのクライアントサイド API に exportAsImage があるのでこれを使って乗り切りましょう。
exportAsImage は Chart から画像を返す API です。
画像なら Printer コンポーネントで印刷出来たので、画像を表示して Chart を消す方法を取りました。
<script type="text/javascript"> window.onload = function() { $('#form\\:imagePanel').empty().append(PF('chart').exportAsImage()); $('#form\\:chartPanel').remove(); } </script> <p:outputPanel id="chartPanel"> <p:chart type="line" model="#{backingBean.chartModel}" style="height:200px; " widgetVar="chart" /> </p:outputPanel> <p:outputPanel id="imagePanel" >
今回は チャートの動的な変更はなかったので onload でやっています。
動的な変更がある場合は、もうちょっと手間かもしれません。