什么是想法?
- 将图形保存在图像中。
- 将二进制文件传递给服务器上的字符串。
- 从二进制(准备好)中识别图形。
- 创建包含数据和图形的 pdf(准备好,使用 itex)。
- 查看pdf(准备好)。
但我无法导出任何图形。这是因为我无法检测到它们。当我在数据表中包含图形时, widgetvar 会重复,所以我不能使用陈列柜的解决方案。
$('#output').empty().append(chartWidgetvar.exportAsImage());
这是我的代码的一部分。
<h:form id="reportePro">
<p:dataTable value="#{listas.reporteSeccionPro}" var="p"
selection="#{listas.reporteSeleccionadoSeccionPro}"
selectionMode="single" rowKey="#{p.idFila}"
emptyMessage="No existen coincidencias" id="reporteGeneral">
<p:column headerText="Chart">
<p:commandButton id="chartBtn" value="Gráficos" type="button" />
<p:overlayPanel id="chartPanel" for="chartBtn" hideEffect="fade"
showEffect="fade" appendToBody="true"
style="width:900px;height:450px;">
<p:pieChart id="pie"
styleClass="jqplot-table-legend jqplot-target"
value="#{p.pieModel}" extender="ext"
title="#{p.nomProSeccionPro}"
style="width:400px;height:450px;font-size:15px;"
showDataLabels="true" sliceMargin="5"
seriesColors="DB4C14, C0E9ED, A8CCED, C7B47F, F7F28F, 4DB0C4" />
</p:overlayPanel>
</p:column>
</p:dataTable>
</h:form>
我以为使用动态 id ,
<p:pieChart id="#{chart.idPie}" />
但不能设置。
我以为使用动态widgetvar,
<p:pieChart widgetvar="#{chart.idPie}" />
但不能设置。
我想只使用图形的id,
#{p:widgetVar ('ComponentId')}
但请记住,您不能使用动态 ID
另一种解决方案可能是使用 canvas.toDataURL,为此,我需要第一个画布的 id,但不会生成 primefaces ID。所以我不能使用这个解决方案。
花了几个小时并没有找到解决方案后,我问我。当图表在数据表中时,可以将图表导出到图像吗?