首先,我要告诉您我不是英语母语者,希望我能正确地解释我的问题。
我在使用PrimeFaces 3.5和Tomcat v7时,遇到了导出柱状图至PDF的问题。
经过一些调查,我了解到,不能直接将图表导出为PDF。但好像有一种方法可以将图表保存为像png或jpeg这样的图片。
我找到了这个网址:http://www.primefaces.org/showcase-labs/ui/chartExport.jsf,但这只是一个屏幕截图方式,我想把它保存下来以便在我的pdf报告中使用。
我也看到了JFreeChart的解决方案,但我真的想保持同样的图表在我的html页面和我的PDF报告中。
以下是我的代码:
我在使用PrimeFaces 3.5和Tomcat v7时,遇到了导出柱状图至PDF的问题。
经过一些调查,我了解到,不能直接将图表导出为PDF。但好像有一种方法可以将图表保存为像png或jpeg这样的图片。
我找到了这个网址:http://www.primefaces.org/showcase-labs/ui/chartExport.jsf,但这只是一个屏幕截图方式,我想把它保存下来以便在我的pdf报告中使用。
我也看到了JFreeChart的解决方案,但我真的想保持同样的图表在我的html页面和我的PDF报告中。
以下是我的代码:
<h:form id="finalreport">
<c:if test="#{treeBean.finalPrintReport.create == 1}">
<h1>
<h:outputText value="#{treeBean.finalPrintReport.namefinalreport}"
escape="false" />
</h1>
<p:dataTable id="dataTableReport" var="row"
value="#{treeBean.finalPrintReport.allData}" paginator="true"
rows="10">
<p:columns value="#{treeBean.finalPrintReport.column}" var="column"
columnIndexVar="colIndex">
<f:facet name="header">
<h:outputText value="#{column}" />
</f:facet>
<h:outputText value="#{row[colIndex]}" />
</p:columns>
</p:dataTable>
<br />
<h:commandLink>
<p:graphicImage value="/images/pdf.png" />
<p:dataExporter type="pdf" target="dataTableReport"
fileName="Report" preProcessor="#{treeBean.createPDF}" />
</h:commandLink>
</c:if>
</h:form>
<!-- Graph -->
<h:form id="graph">
<c:if test="#{treeBean.finalPrintReport.create == 1}">
<c:if test="#{treeBean.finalPrintReport.propertyOfFinalReport.graph == true}">
<p:barChart id="basic" value="#{treeBean.chartbar2d}"
legendPosition="ne" title="Basic Bar Chart"
style="height:300px" />
</c:if>
</c:if>
</h:form>
谢谢