jsf - PrimeFaces 打印不适用于 p :chart

标签 jsf primefaces charts jqplot

我正在使用 primeface 打印,如下所示

 <ui:define name="content" id="content">
        <h:form id="common_chart_form" prependId="flase">
            <p:growl id="growl" showDetail="true" autoUpdate="true"
                sticky="false" />
                <p:outputLabel id="labelvalue" value="aaaaaaaaaa"/>

                <p:chart id="chart" type="bar"
                    model="#{commonChartController.barModel}" style="height:300px" />

            <p:commandButton value="Print" type="button" icon="ui-icon-print">
                <p:printer target="chart" />
            </p:commandButton>

            <p:commandButton value="Back" action="admin_sales_reports" />
        </h:form>
    </ui:define>

我需要打印图表,但不幸的是它无法打印。然后为了测试打印目标,我尝试打印“labelvalue”,它打印了我在这段代码中做的错误的事情

这是页面的屏幕截图

enter image description here

最佳答案

你可以用更优雅的方式做到这一点,而不需要在页面中声明outputPanel:

  1. Javascript 函数:

    function print(component){
        var out = document.createElement('div');
        out.appendChild(PF(component).exportAsImage()); 
        var innerHTML =  out.innerHTML;
        var openWindow = window.open('', 'Report', '');
        openWindow.document.write(innerHTML);
        openWindow.document.close();
        openWindow.focus();
        openWindow.print();
        openWindow.close();
    }
    
  2. 定义图表的 widgetVar:

    <p:chart widgetVar="chart2" type="bar" model="#{chartsBean.barModel2}" />
    
  3. 调用打印函数:

    <p:commandLink  id="lnk" onclick="print('chart2')"/>
    

关于jsf - PrimeFaces 打印不适用于 p :chart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25304803/

相关文章:

javascript - Apexcharts 条形图未出现在 Vue.js 项目中

javascript - 如何将值动态传递给图表

java - 如何防止显示 p :dialog when no row selected in p:datatable?

javascript - 执行 JavaScript 方法,当 p :outputLabel is rendered

java - Primefaces ajax 不工作

jsf - 使用 ui 迭代属性 :repeat

android - org.gradle.internal.resolve.ModuleVersionNotFoundException : Could not find com. android.tools.build :gradle:3. 0.1

javascript - 谷歌分析实验导致格式正确的字符数据或标记错误

java - af :Calendar component, 按列类型过滤

ajax - uiComponent树内存使用情况