Related part of xhtml:
Code: Select all
<h:panelGrid>
<p:panel header="#{messages.exportAllData}">
<h:commandLink>
<p:graphicImage value="/img/excel.png" />
<pe:exporter target="memberList, memberList3, memberList2" type="xlsx" encoding="cp1254"
fileName="#{messages.retirementOperationsReport}" datasetPadding="4" />
</h:commandLink>
<h:commandLink>
<p:graphicImage value="/img/pdf.png" />
<pe:exporter type="pdf" target="memberList, memberList3, memberList2"
fileName="#{messages.retirementOperationsReport}"
preProcessor="#{retirementOperationsService.preProcessPDF}" datasetPadding="4" />
</h:commandLink>
</p:panel>
</h:panelGrid>
Code: Select all
public void preProcessPDF(Object document) throws IOException,
BadElementException, DocumentException {
Calendar c = Calendar.getInstance();
c.setTime(date);
byte month = (byte) (c.get(Calendar.MONTH) + 1);
short year = (short) c.get(Calendar.YEAR);
String title = "memberList";
String headerText = month + "/" + year + " "
+ messages.get("memberAndRetirementMovements");
TrustUtility.prepareHeader(document, title, headerText, date);
}
Code: Select all
public static void prepareHeader(Object document, String title,
String headerText, Date startDate) throws DocumentException,
IOException {
BaseFont times = BaseFont.createFont("Times-Bold", "cp1254",
BaseFont.NOT_EMBEDDED);
Font font = new Font(times, 15);
Document pdf = TrustUtility.preparePdfMetaData(document, Messages
.instance().get(title));
pdf.open();
Paragraph paragraphHeader1 = prepareHeader1(pdf.getPageSize()
.getRotation() == 0);
Paragraph paragraphHeader2 = prepareHeader2(pdf.getPageSize()
.getRotation() == 0);
Paragraph paragraphEmptyLine = prepareEmptyLine();
Paragraph paragraph3 = prepareHeaderdateRangeVerTwo(startDate);
Paragraph paragraph4 = prepareHeader(Messages.instance()
.get(headerText), font);
pdf.add(paragraphHeader1);
pdf.add(paragraphHeader2);
pdf.add(paragraphEmptyLine);
pdf.add(paragraph3);
pdf.add(paragraph4);
pdf.add(paragraphEmptyLine);
}