I have a page with line and pie charts and I would like to generate a PDF report with those charts. How can I achieve this? I tried with <p:dataExporter>
, but it works only on tables. Here is my code
<p:layoutUnit position="west" size="70%" >
<p:chart type="line" model="#{reportMscBean.model}" id="chart" style="width:700px;height:280px"/>
<p:separator></p:separator>
<p:chart type="line" model="#{reportMscBean.model2}" style="width:700px;height:280px" id="graphe2"/>
</p:layoutUnit>
<p:layoutUnit position="center" size="30%" style="border:0px;">
<p:chart type="pie" model="#{reportMscBean.pieModel2}" style="width:250px;height:280px" id="pie2" >
</p:chart>
<p:separator></p:separator>
<p:chart type="pie" model="#{reportMscBean.pieModel1}" style="width:250px;height:280px" id="pie1" >
</p:chart>
</p:layoutUnit>
I'm afraid this just is not possible. Exports are basic. For complex exports, try a real reporting tool
The
<p:dataExporter>
component you are using does only take data structured in a table, thus cannot work on an entire page. You could instead use some external libraries to achieve this. Take a look at iText for example, which is a common choice: iText example