The example that I give is only to explain
that you can perform the PDF in two distinc phase
1) perform a trasformation
2) use driver
You can use the "tranform method"
with input like Dynamic xml (Dom Document) or urlXML
and getting out a fo (Dom Document) or Writer object
YOU HAVE A LOT OF TRANSFORM TO USE!!!!!!
YOU HAVE TO SEE THE APIDOC FOR THE
COMPLETE DOCUMENTATION!!!!
For example in my project I use
xalan transform and with some
conversion I use the Fop driver
and my XML is dynamic.
WITH Transformer XALAN:
StringWriter SstringWriter = new StringWriter();
/* this is the fo file */
StreamResult SstreamResult = new StreamResult(SstringWriter);
transformer.transform(SstreamSourceXML, SstreamResult)
/* convert the fo file in a right format for driver
ByteArrayOutputStream outPDF = new ByteArrayOutputStream();
SResult = SstringWriter.toString();
ByteArrayInputStream str = new ByteArrayInputStream(SResult.getBytes());
Driver driver = new Driver(new InputSource(str), outPDF);
Is this performance????? I think yes!!
Bye
Amit wrote:
[EMAIL PROTECTED]"> Looking at your code I am guessing that you wrote the fo file out to the filesystem and then used the driver to convert it to PDF...how is performance on that?
Instead of writing the file out to the file system did you try converting into some sorta stream and use the driver??thanks for your help
AmitSemprini Davide wrote:
Hi,I have had the same problem!!!!!!!!
Nobody give me a response!This code in FOP Home page don't work (for me!) !!!!!
Driver driver = new Driver();
driver.setRenderer(Driver.RENDER_PDF);
InputHandler inputHandler = new XSLTInputHandler(xmlFile, xslFile);
XMLReader parser = inputHandler.getParser();
driver.setOutputStream(new FileOutputStream(outFile));
driver.render(parser, inputHandler.getInputSource());
I have solved the problem using 2 phase:1) generate the transformation using XSLTrasform, Xalan1Transform etc... (you can choose)
code:XSLTransform traXSLT = new XSLTransform();
traXSLT.transform(urlXML, urlXSL, urlFoFile);You can choose 4 transform type (see the api documentation)
2) Apply the result at the driver
FileInputStream file = new FileInputStream(urlFoFile);
response.setContentType("application/pdf");
Driver driver = new Driver(new InputSource(file), out);
driver.setRenderer(Driver.RENDER_PDF);
driver.run();
byte[] content = out.toByteArray();
response.setContentLength(content.length);
response.getOutputStream().write(content);
response.getOutputStream().flush();THIS CODE WORK FINE!!!
Bye
Amit wrote:
[EMAIL PROTECTED]">I am trying to generate PDFs using FOP-0.20.1. The input files are xml
and xsl files
I am using JRun3.0 with java1.2.2
Here is the error I get
WARNING: Unknown formatting object ^root
Anybody any ideas?
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]