package java2word;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.log.Log;
import word.api.interfaces.IDocument;
import word.w2004.Document2004;
import word.w2004.elements.BreakLine;
import word.w2004.elements.Heading1;
import word.w2004.elements.Paragraph;
import java.io.IOException;
import java.io.PrintWriter;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletResponse;
@Name("reportCaller")
public class ReportCaller {
@Logger
protected Log log;
public void runReport() throws IOException {
log.info("Running Word Report...");
FacesContext fc = FacesContext.getCurrentInstance();
HttpServletResponse servletResponse = (HttpServletResponse) fc
.getExternalContext().getResponse();
servletResponse.setContentType("application/msword");
servletResponse.setHeader("Content-disposition", "inline; filename="
+ "myWordDocFromSeam.doc");
PrintWriter writer = servletResponse.getWriter();
//Create the word document
IDocument myDoc = new Document2004();
myDoc.getBody().addEle(new Heading1("Heading01"));
myDoc.getBody().addEle(new BreakLine(2)); //two break lines
myDoc.getBody().addEle(new Paragraph("This document is an example of paragraph"));
String myWord = myDoc.getContent();
writer.println(myWord);
fc.responseComplete();
}
}