You will need to download the following package from Apache.

fop.jar
batik.jar
avalon.jar

Import the following classes into your servlet where you are doing your
translation

import org.apache.fop.apps.Driver;
import org.apache.fop.messaging.MessageHandler;
import org.apache.fop.tools.DocumentInputSource;
import org.apache.fop.apps.FOPException;


Document document = whatever;

style =
factory.newStylesheet((String)request.getAttribute(REQUEST_XSL_FILE));
streamTransform = style.newStreamTransformer();

ByteArrayOutputStream oStream = new ByteArrayOutputStream();
streamTransform.transform(document, oStream);

ByteArrayInputStream iStream = new
ByteArrayInputStream(oStream.toByteArray());
InputSource iSource = new InputSource(iStream);
parser.parse(iSource);

DocumentInputSource domIn = new DocumentInputSource(parser.getDocument());

// error logging object and handler
org.apache.avalon.framework.logger.Logger foplogger = new NullLogger();
MessageHandler.setScreenLogger(foplogger);

//pdf rendering
Driver driver = new Driver();
driver.setLogger(foplogger);
oStream = new ByteArrayOutputStream();
driver.setOutputStream(oStream);
driver.setRenderer(Driver.RENDER_PDF);
driver.setInputSource(domIn);
driver.setOutputStream(oStream);
response.setContentType(CONTENT_TYPE_PDF);
driver.run();

// setting response
byte[] content = oStream.toByteArray();
response.setContentLength(content.length);
response.getOutputStream().write(content);
response.getOutputStream().flush();


-----Original Message-----
From: Yan, Charlene [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, January 21, 2003 3:07 PM
To: Struts Users Mailing List
Subject: XML to PDF


Hello all,

I just got assigned to convert XML to pdf to do reports.  Is any of you
working on it?  Any insights where I should get started my research?  I am
looking at xmlmil and aparche xml home right now.

Thanks in advance for your help!

Charlene

--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to