我想用來生成pdf數據導出器,使用方法預處理器插入一些內容。通過給字體大小頁面吸收文本格式。然後製作一個分頁符將圖表放在一個新頁面上,問題是生成其他大小的第二頁面,並找到更改導出表格文本字體大小的方法。在Primefaces中更改默認格式dataExporter
<h:commandLink>
<p:graphicImage value="/images/pdf.png"/>
<p:dataExporter type="pdf" target="dataTableAddDetalles" fileName="pdf" preProcessor="#{serviciosMB.preProcessPDF}"/>
</h:commandLink>
支持豆
public void preProcessPDF(Object document) throws Exception {
try {
Document pdf = (Document) document;
pdf.open();
pdf.setPageSize(PageSize.LETTER);
ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
String logo = servletContext.getRealPath("") + File.separator + "images" + File.separator + "header.gif";
// pdf.add(Image.getInstance(logo));
pdf.add(new Paragraph("EMNI", FontFactory.getFont(FontFactory.HELVETICA, 22, Font.BOLD, new Color(0, 0, 0))));
SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
pdf.add(new Phrase("Fecha: " + formato.format(new Date())));
pdf.newPage();
} catch (Exception e) {
//JsfUtil.addErrorMessage(e, e.getMessage());
}
}
謝謝,我試着從primefaces擴展出口,出口是好的,你可以做一個自定義PDF,但也是有限的,因爲你不能自定義表和更多的東西。我正在使用itext製作pdf,每件事情都可以......比你... – meyquel
是的,出口商是一個很好的幫助,但正如你所說,它是有限的。 – danRod
非常感謝。我喜歡PrimeFaces,但在PDF數據導出器中的支持並不好。這使得它很容易實現。 – Namphibian