primefaces 5.1.6 <p:printer>打印数据格式问题</p:printer>

时间:2015-01-08 20:51:53

标签: primefaces printing datatable formatting

我们的项目最近从primefaces v4.0.24升级到primefaces v5.1.6。

在测试时发现,当数据表打印到打印机或PDF时,存在格式问题。列标题未正确对齐,尤其是具有较长值的列标题。 但是,如果我将布局更改为横向,则它可以正确匹配。 我希望数据在纵向模式下正确对齐。

这不是以前版本的primefaces的问题。

该页面由commandlink和datatable组成。 当用户单击commandlink时,数据表的id将传递给p:printer。

这是代码

<h:commandLink styleClass="ui-icon-export-print" title="#{webmsg['action.export.print.hint']}">
    <p:printer target="companyTable" />
</h:commandLink>

<p:dataTable id="companyTable" widgetVar="companyTable" var="company" value="#{companies}"
                sortBy="#{company.shortName}" sortOrder="ascending" filterEvent="enter"
                filteredValue="#{companyForm.filteredCompanies}">

    <f:facet name="header">
        <h:outputText value="#{appmsg['label.companies']}" />
    </f:facet>

    <p:column sortBy="#{company.shortName}" filterBy="#{company.shortName}"   filterMatchMode="contains" >
        <f:facet name="header">
             <h:outputText value="..." />
        </f:facet>
        <h:outputText value="#{company.shortName}" />
    </p:column>
.....
</p:dataTable>

数据是cuttoff或接触列边框。 如果我打印选项并将纸张的默认尺寸从A4更改为Tabloid,则数据正确地适合列。

应该有一些方法可以使用默认纸张尺寸自动调整数据。

任何想法或线索来修复格式问题都将不胜感激。感谢。

1 个答案:

答案 0 :(得分:-1)

是的,您可以使用css。它有media types,因此您可以只调整打印设备的内容,并保持屏幕不受影响。您也可以在那里更改['纸张尺寸']