basic-links, bug??
Hello, experimenting with FOP 0.20.3 I realize that basic-links are formatted far of. IE. the clickable-area is tranlated from the actual linked characters by such a large margin, that it is impossible to make a single character a working link (cause the clickable area is probably shifted in the surrounding whitespace and the whitespace is not clickable at all). Am I doing something wrong or is it a know problem. And when, when comes the fix?? With best regards, -- Dr. Frank Sven Nestel INA-Schaeffler KG, Information Services Communication (ISC) Industriestr. 1-3, D-91074 Herzogenaurach, Germany Phone:+49 (0) 91 32 / 82 - 46 11, Mailto:[EMAIL PROTECTED] Internet: http://www.ina.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
AW: Driver API Suggestion
Oops, ignore my post, I currently have a mixture of fop0.19 and fop0.20.2 round here. Very sorry, Frank > -Ursprüngliche Nachricht- > Von: Nestel, Frank [mailto:[EMAIL PROTECTED]] > Gesendet am: Donnerstag, 29. November 2001 13:31 > An: '[EMAIL PROTECTED]' > Betreff: Driver API Suggestion > > Hi, > > as a former (0.19 was running fine) and future user (hope I > get 0.20.2 up again, 0.20.1 was kind of a mess in my environment) > of fop I'd first like to thank for it. Great work! > > Second I have a question on the API of the Driver Object, which > is a bit about aesthetic > > Deep within a XSLT Framework we use, I have code like > > // -1- > Result outResult = obtainResult(mime, status, out); > transformer.setErrorListener(this); > transformer.transform(source, outResult); > // -2- > if ( status.getDriver() != null ) { > status.getDriver().format(); > status.getDriver().render(); > } > > with obtainResult() containing different branches e.g. like this > > Driver driver = new Driver(); > driver.setRenderer(Driver.RENDER_PDF); > driver.setOutputStream(out); > status.setDriver(driver); // <- -2- > return new SAXResult(driver.getContentHandler()); > > -1- is fairly generic in the sense that different kinds of > sources and different kinds of results can be processed. > > -2- is what I don't like. Actually the status object is the problem > since its main purpose in this sequence is to store additional > information about the Driver object, s.th. which is not needed for > most of the other Result objects used at this point within out > Framework. > > If the the driver.getContentHandler() would return an object which > would automatically start the format() and render() after the > endDocument() has been fired, this would be very convenient in above > use case. > > So I wonder if it would be useful for more people to have s.th. like a > Driver.getContentHandler(boolean autoRender) > method, which eigher returns a normal ContentHandler or one which > automatically formats and renders. Actually I haven't get a usecase > for autoRender = false arround here yet. > > Thanks for your patience and reading till here. > > Frank > > -- > Dr. Frank Sven Nestel > Principal Software Engineer > > COI GmbHErlanger Straße 62, D-91074 Herzogenaurach > Phone +49 (0) 9132 82 4611 > http://www.coi.de, mailto:[EMAIL PROTECTED] > COI - Solutions for Documents > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, email: [EMAIL PROTECTED] > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Driver API Suggestion
Hi, as a former (0.19 was running fine) and future user (hope I get 0.20.2 up again, 0.20.1 was kind of a mess in my environment) of fop I'd first like to thank for it. Great work! Second I have a question on the API of the Driver Object, which is a bit about aesthetic Deep within a XSLT Framework we use, I have code like // -1- Result outResult = obtainResult(mime, status, out); transformer.setErrorListener(this); transformer.transform(source, outResult); // -2- if ( status.getDriver() != null ) { status.getDriver().format(); status.getDriver().render(); } with obtainResult() containing different branches e.g. like this Driver driver = new Driver(); driver.setRenderer(Driver.RENDER_PDF); driver.setOutputStream(out); status.setDriver(driver); // <- -2- return new SAXResult(driver.getContentHandler()); -1- is fairly generic in the sense that different kinds of sources and different kinds of results can be processed. -2- is what I don't like. Actually the status object is the problem since its main purpose in this sequence is to store additional information about the Driver object, s.th. which is not needed for most of the other Result objects used at this point within out Framework. If the the driver.getContentHandler() would return an object which would automatically start the format() and render() after the endDocument() has been fired, this would be very convenient in above use case. So I wonder if it would be useful for more people to have s.th. like a Driver.getContentHandler(boolean autoRender) method, which eigher returns a normal ContentHandler or one which automatically formats and renders. Actually I haven't get a usecase for autoRender = false arround here yet. Thanks for your patience and reading till here. Frank -- Dr. Frank Sven Nestel Principal Software Engineer COI GmbHErlanger Straße 62, D-91074 Herzogenaurach Phone +49 (0) 9132 82 4611 http://www.coi.de, mailto:[EMAIL PROTECTED] COI - Solutions for Documents - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
AW: Problem with API change in fop 0.20.1
Well, thank you for your answer, the problem, is that I need to use fop in a different way than decribed on the embedding page, as a ContentHandler. But as pointed out by Michael Lehon, I'd look at the CVS or wait for the logger problem to be cleared in 0.20.2. > -Ursprüngliche Nachricht- > Von: Keiron Liddle [mailto:[EMAIL PROTECTED]] > Gesendet am: Mittwoch, 22. August 2001 09:38 > An: [EMAIL PROTECTED] > Betreff: Re: Problem with API change in fop 0.20.1 > > > http://xml.apache.org/fop/embedding.html > > On Wed, 22 Aug 2001 09:35:17 "Nestel, Frank" wrote: > > Hello, > > > > we've experimenting with fop as an PDF renderer and would like to > > upgrde to fop0.20. As this is only a part of a larger framework, > > we used to use the TraX Result Wrappers to pass along our input to > > fop. Somehow I do not understand the latest FOP-API changes: > > > > Before I start sifting thru the whole code, any quick clue > from a guru? > > is that a good enough guru? > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, email: [EMAIL PROTECTED] > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Problem with API change in fop 0.20.1
Hello, we've experimenting with fop as an PDF renderer and would like to upgrde to fop0.20. As this is only a part of a larger framework, we used to use the TraX Result Wrappers to pass along our input to fop. Somehow I do not understand the latest FOP-API changes: The call sequence we used succesfully with fop0.17(?), 0.18 and 0.19 was, like Result res = obtainResult(XMLServletRequestStatus status, OutputStream out) // // ... Do s.th. to "fill" the result // Driver driver = status.getDriver(); driver.format(); driver.render(); with the method obtainResult() defined like protected Result obtainResult(XMLServletRequestStatus status, OutputStream out) throws IOException { if(!status.isFOStyle()) { return new StreamResult(out); } else { Driver driver = new Driver(); String version = org.apache.fop.apps.Version.getVersion(); driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer",version); driver.addElementMapping("org.apache.fop.fo.StandardElementMapping"); driver.addElementMapping("org.apache.fop.svg.SVGElementMapping"); driver.addPropertyList("org.apache.fop.fo.StandardPropertyListMapping"); driver.addPropertyList("org.apache.fop.svg.SVGPropertyListMapping"); driver.setOutputStream(out); status.setDriver(driver); return new SAXResult(driver.getContentHandler()); } } as it turned out, some of those API ceased to exist, though marked as deprecated in the JavaDoc. So I reworked obtainResult() to this: protected Result obtainResult(XMLServletRequestStatus status, OutputStream out) throws IOException { if(!status.isFOStyle()) { return new StreamResult(out); } else { Driver driver = new Driver(); String version = org.apache.fop.apps.Version.getVersion(); // as of version 0.20.1 //driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer",version); org.apache.fop.render.Renderer rend = new org.apache.fop.render.pdf.PDFRenderer(); log.msg("Renderer = "+rend); driver.setRenderer(rend); driver.addElementMapping("org.apache.fop.fo.StandardElementMapping"); driver.addElementMapping("org.apache.fop.svg.SVGElementMapping"); // as of version 0.20.1 // driver.addPropertyList("org.apache.fop.fo.StandardPropertyListMapping"); // driver.addPropertyList("org.apache.fop.svg.SVGPropertyListMapping"); driver.setOutputStream(out); status.setDriver(driver); return new SAXResult(driver.getContentHandler()); } } This compiles, so at least it uses only known API's, but plugin it into the surrounding environment, I end up with this: java.lang.NullPointerException at org.apache.fop.fo.FOTreeBuilder.startDocument(FOTreeBuilder.java:167) at com.icl.saxon.output.ContentHandlerProxy.startDocument(ContentHandlerProxy.j ava:80) at com.icl.saxon.output.ProxyEmitter.startDocument(ProxyEmitter.java:61) at com.icl.saxon.output.Outputter.open(Outputter.java:58) at com.icl.saxon.output.GeneralOutputter.setOutputDestination(GeneralOutputter. java:70) at com.icl.saxon.Controller.changeOutputDestination(Controller.java:403) at com.icl.saxon.Controller.transformDocument(Controller.java:1036) at com.icl.saxon.Controller.transform(Controller.java:917) at de.coi.xml.xslt.FileTransformerPool$PoolableTransformer.transform(FileTransf ormerPool.java:562) at de.coi.servlet.XMLServlet.doGet(XMLServlet.java:302) at javax.servlet.http.HttpServlet.service(HttpServlet.java:102) at javax.servlet.http.HttpServlet.service(HttpServlet.java:83) at com.caucho.server.http.Invocation.service(Invocation.java:325) at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:121) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:239) at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:157) at com.caucho.server.TcpConnection.run(TcpConnection.java:140) at java.lang.Thread.run(Thread.java:484) Which looks like the streamRenderer member in FOTreeBuilder has not been initialized. Before I start sifting thru the whole code, any quick clue from a guru? You might also note that I actually don't think I need SVG, put I didn't get the older fops to works without it. Thank you very much, Frank -- Dr. Frank Sven Nestel Principal Software Engineer COI GmbHErlanger Straße 62, D-91074 Herzogenaurach Phone +49 (0) 9132 82 4611 http://www.coi.de, mailto:[EMAIL PROTECTED] COI - Solutions for Documents -