thanks
string.getBytes("utf-8");
solved my problem
> -----Urspr�ngliche Nachricht-----
> Von: Matthias Wessendorf [mailto:[EMAIL PROTECTED]
> Gesendet: Donnerstag, 19. Mai 2005 15:29
> An: [email protected]
> Betreff: AW: Strange problem, when generating PDF via Servlet
>
>
> sorry, I made a mistake
>
> driver.run();
>
> breaks my code.
>
> thanks again.
>
>
>
> > -----Urspr�ngliche Nachricht-----
> > Von: Matthias Wessendorf
> > Gesendet: Donnerstag, 19. Mai 2005 14:59
> > An: [email protected]
> > Betreff: Strange problem, when generating PDF via Servlet
> >
> >
> > Hi all,
> >
> > I have a Servlet that uses some Velocity templates and XSL-FO
> > as *Markup* language.
> >
> > Velocity calculates a String (that is XSL-FO with
> > *special/custom* content)
> >
> > The string I'd like to use to generate a PDF file inside of
> > my custom servlet like
> > (response is HttpServletResponse)
> >
> > <snip>
> > string = FooBar.createXSLFOviaVelocity();
> >
> >
> > /* FOP */
> > InputStream bais = new ByteArrayInputStream(string.getBytes());
> >
> > InputSource is = new InputSource(bais);
> > ByteArrayOutputStream out = new ByteArrayOutputStream();
> >
> > try {
> > Driver driver = new Driver(is, out);
> > driver.setRenderer(Driver.RENDER_PDF);
> > driver.run();
> >
> > response.setHeader("Cache-Control", "public, must-revalidate");
> > response.setContentType("application/pdf");
> > response.setContentLength(out.size());
> >
> > //Send content to Browser
> > response.getOutputStream().write(out.toByteArray());
> > response.getOutputStream().flush();
> >
> > } catch (Exception e) {
> > e.printStackTrace();
> > }
> >
> > </snip>
> >
> >
> > In Line where I call "driver.setRenderer()" it breaks
> > (see error log below)
> >
> > During debuging I *copy-and-pasted* the calculated String
> > stored it to a file (myNewFile.fo) and used FOP via comandline
> >
> > and strange, it works
> >
> > my *new* PDF contains the complete content (incl. German Umlauts)
> >
> >
> > Has anybody still an idea?
> >
> >
> > Best Regards
> > Matthias We�endorf
> >
> >
> >
> >
> > <error_log>
> >
> > [ERROR] Logger not set
> > [INFO] Using org.apache.xerces.parsers.SAXParser as SAX2 Parser
> > [INFO] building formatting object tree
> > [INFO] setting up fonts
> > org.apache.fop.apps.FOPException: Invalid byte 2 of 3-byte
> > UTF-8 sequence.
> > at org.apache.fop.apps.Driver.render(Driver.java:507)
> > at org.apache.fop.apps.Driver.run(Driver.java:565)
> > at com.foo.TemplateServlet.produceHtml(TemplateServlet.java:107)
> > at com.foo.TemplateServlet.doGet(TemplateServlet.java:51)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > er(ApplicationFilterChain.java:252)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > cationFilterChain.java:173)
> > at
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > rapperValve.java:213)
> > at
> > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > ontextValve.java:178)
> > at
> > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Aut
> > henticatorBase.java:482)
> > at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > Valve.java:126)
> > at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > Valve.java:105)
> > at
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > gineValve.java:107)
> > at
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > ter.java:148)
> > at
> > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > or.java:856)
> > at
> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> > r.processConnection(Http11Protocol.java:744)
> > at
> > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolT
> > cpEndpoint.java:527)
> > at
> > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(Le
> > aderFollowerWorkerThread.java:80)
> > at
> > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> > ThreadPool.java:684)
> > at java.lang.Thread.run(Thread.java:534)
> >
> > ---------
> >
> > java.io.UTFDataFormatException: Invalid byte 2 of 3-byte
> > UTF-8 sequence.
> > at
> > org.apache.xerces.impl.io.UTF8Reader.invalidByte(Unknown Source)
> > at org.apache.xerces.impl.io.UTF8Reader.read(Unknown Source)
> > at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
> > at
> > org.apache.xerces.impl.XMLEntityScanner.scanContent(Unknown Source)
> > at
> > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanCont
> > ent(Unknown Source)
> > at
> > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$Fragment
> > ContentDispatcher.dispatch(Unknown Source)
> > at
> > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocu
> > ment(Unknown Source)
> > at
> > org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> > at
> > org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> > at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> > at
> > org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
> > at org.apache.fop.apps.Driver.render(Driver.java:498)
> > at org.apache.fop.apps.Driver.run(Driver.java:565)
> > at com.foo.TemplateServlet.produceHtml(TemplateServlet.java:107)
> > at com.foo.TemplateServlet.doGet(TemplateServlet.java:51)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > er(ApplicationFilterChain.java:252)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > cationFilterChain.java:173)
> > at
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > rapperValve.java:213)
> > at
> > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > ontextValve.java:178)
> > at
> > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Aut
> > henticatorBase.java:482)
> > at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > Valve.java:126)
> > at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > Valve.java:105)
> > at
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > gineValve.java:107)
> > at
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > ter.java:148)
> > at
> > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > or.java:856)
> > at
> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> > r.processConnection(Http11Protocol.java:744)
> > at
> > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolT
> > cpEndpoint.java:527)
> > at
> > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(Le
> > aderFollowerWorkerThread.java:80)
> > at
> > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> > ThreadPool.java:684)
> > at java.lang.Thread.run(Thread.java:534)
> >
> > ---------
> >
> > java.io.UTFDataFormatException: Invalid byte 2 of 3-byte
> > UTF-8 sequence.
> > at
> > org.apache.xerces.impl.io.UTF8Reader.invalidByte(Unknown Source)
> > at org.apache.xerces.impl.io.UTF8Reader.read(Unknown Source)
> > at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
> > at
> > org.apache.xerces.impl.XMLEntityScanner.scanContent(Unknown Source)
> > at
> > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanCont
> > ent(Unknown Source)
> > at
> > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$Fragment
> > ContentDispatcher.dispatch(Unknown Source)
> > at
> > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocu
> > ment(Unknown Source)
> > at
> > org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> > at
> > org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> > at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> > at
> > org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
> > at org.apache.fop.apps.Driver.render(Driver.java:498)
> > at org.apache.fop.apps.Driver.run(Driver.java:565)
> > at com.foo.TemplateServlet.produceHtml(TemplateServlet.java:107)
> > at com.foo.TemplateServlet.doGet(TemplateServlet.java:51)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> > er(ApplicationFilterChain.java:252)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> > cationFilterChain.java:173)
> > at
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> > rapperValve.java:213)
> > at
> > org.apache.catalina.core.StandardContextValve.invoke(StandardC
> > ontextValve.java:178)
> > at
> > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Aut
> > henticatorBase.java:482)
> > at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> > Valve.java:126)
> > at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> > Valve.java:105)
> > at
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> > gineValve.java:107)
> > at
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap
> > ter.java:148)
> > at
> > org.apache.coyote.http11.Http11Processor.process(Http11Process
> > or.java:856)
> > at
> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> > r.processConnection(Http11Protocol.java:744)
> > at
> > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolT
> > cpEndpoint.java:527)
> > at
> > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(Le
> > aderFollowerWorkerThread.java:80)
> > at
> > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> > ThreadPool.java:684)
> > at java.lang.Thread.run(Thread.java:534)
> > </error_log>
> >
> > Best Regards
> > Matthias We�endorf
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]