RE: some help..
can anybody give me description regarding FOP. like what it is actually and what it does? I presume you've seen the website http://xml.apache.org/fop and you know what XML is. It is an XSL-FO processor. It takes the XSL-FO as input (or generates it first using Xalan/Xerces from XML transformed using XSLT) http://www.w3.org/Style/XSL/ and converts it to other formats, primarily PDF. In English, it converts raw data (XML) to print formatted documents (PDF, PS etc) using stylesheets (XSL) or converts formatted data (XSL-FO) into print formatted documents. I hope this helps. Regards, Roland.
RE: some help..
Can you please describe me how to embedd equations inside FO style sheet. i render for PDF it doesn't takes MathML markups. As per W3C Draft Specification 15 October 2001 there is no information about incorporating MathML tags inside the FO. This is the main problem with any STM(science,technical and medicine) document formatting. Durai --- Roland Neilands [EMAIL PROTECTED] wrote: can anybody give me description regarding FOP. like what it is actually and what it does? I presume you've seen the website http://xml.apache.org/fop and you know what XML is. It is an XSL-FO processor. It takes the XSL-FO as input (or generates it first using Xalan/Xerces from XML transformed using XSLT) http://www.w3.org/Style/XSL/ and converts it to other formats, primarily PDF. In English, it converts raw data (XML) to print formatted documents (PDF, PS etc) using stylesheets (XSL) or converts formatted data (XSL-FO) into print formatted documents. I hope this helps. Regards, Roland. __ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com
RE: performance problem renedering nested fo-tables
Oops. I was testing a document without nested tables: Here are the correct values: PDF (104Kb) : 16 seconds xml (511Kb) : 7 seconds Sorry -Message d'origine- De : Hahn Kurt (CHA) [mailto:[EMAIL PROTECTED] Envoyé : vendredi, 21. juin 2002 08:27 À : '[EMAIL PROTECTED]' Objet : RE: performance problem renedering nested fo-tables Hi, I'm generating a very similar document, also with nested tables within a main, one-column table. Here's my values: PDF (144 Kb, about 30-40 pages): 15 seconds just the XML (62 Kb): 7 seconds. I wouldn't say that FOP slows down a lot. But: Maybe it's your browser that's slowing down. I did my tests from a command-line tool, since it wouldn't be very fair to blame FOP only because IE is a lame duck... Kurt -Message d'origine- De : Argyn Kuketayev [mailto:[EMAIL PROTECTED] Envoyé : samedi, 15. juin 2002 00:03 À : '[EMAIL PROTECTED]' Objet : RE: performance problem renedering nested fo-tables addition to a previous message: I'm using FOP 0.20.3 with Cocoon 2.0.1. As I already stated, time to generate XSL-FO and serialize it to view in the browser is under 3 sec. Full time to generate PDF is about 15 seconds.
keep line-breaks in PDF
I'm generating a document from a DB which contains fields of up to 2000 characters In those fields,any line-break is stored, and if I look at my XSL-FO in a text-editor, I see that all the line-breaks are still there. They're of the form: #13;. If process the document through FOP (the contents are displayed in table cells), Acrobat seems to ignore the line-breaks completely. Does FOP strip away the #13;? Or do I have to use another line-break character? Kurt
RE: some help..
The element for foreign xml is instream-foreign-object. You can put svg or any other xml markup in their. The processor, ie FOP, then needs to have a handler for that xml. Currently it has a handler for batik. The redesigned FOP has an extension that has a handler for mathml that converts the mathml into svg. Keiron On Fri, 2002-06-21 at 08:22, Durai Murugan wrote: Can you please describe me how to embedd equations inside FO style sheet. i render for PDF it doesn't takes MathML markups. As per W3C Draft Specification 15 October 2001 there is no information about incorporating MathML tags inside the FO. This is the main problem with any STM(science,technical and medicine) document formatting.
AW: Problem with servlet
The problem could be that WebSphere has an old version of xerces in its classpath. Did you change the static classpath of websphere ? Try to delete the old xerces entry in the admin.config file of websphere and add two new entries at the beginning for the fop versions of xerces and xalan. I got it to work by this. Michael Heinen Software Developer nexum GmbH strategy - media - technology Kalscheurener Str. 19 50354 Hurth -Ursprungliche Nachricht- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 20. Juni 2002 21:43 An: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Betreff: Problem with servlet I am having problem running the example servletFop. I have websphere3.5 and have the fop.jar, batik.jar, avalon-framework-4.0.jar, logkit-1.0.jar and xalan-2.0.0.jar in the lib directory. I am attaching the error. Thanks for help -Neeru (See attached file: err.rtf)
Re: some help..
Several people have been successful at embedding MathML using some tool that converts MathML to SVG. SVG can be easily embedded in XSL:FO. Have a look into the FOP mailing list archives and search for MathML. http://xml.apache.org/fop/resources.html Can you please describe me how to embedd equations inside FO style sheet. i render for PDF it doesn't takes MathML markups. As per W3C Draft Specification 15 October 2001 there is no information about incorporating MathML tags inside the FO. This is the main problem with any STM(science,technical and medicine) document formatting. Cheers, Jeremias Märki
Re: Problem with javax.xml.transform.Transformer
Subject: Re: Problem with javax.xml.transform.Transformer From: Wim Sandra [EMAIL PROTECTED] === I can process the first XSL-FO document. But the following XSL-FO documents fail with the same error: ClassNotFound on javax.xml.transform.Transformer. It seems -but I'm not sure yet- that I only have this problem when I process the following documents from a different thread. Wim
RE: Problem with javax.xml.transform.Transformer
tomcat 4.0.3 had some classloading issues, so if it works with 4.0.4, you probably should use it instead. 4.0.4 final is now available. Charlie -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, June 20, 2002 12:50 AM To: [EMAIL PROTECTED] Subject: Problem with javax.xml.transform.Transformer I have two instances of Tomcat. One that has my development webapps and it is Tomcat 4.0.3. Another is empty and it is 4.0.4-b3. I put the FopServlet in the 4.0.4-b3 version and tested it out and it worked fine after some problems were resolved. Now, I've simply moved it into the webapps for my development server (4.0.3) and I start getting an error with a ClassNotFound exception on javax.xml.transform.Transformer. Anybody have any ideas? In both cases the xalan.jar is in my WEB-INF/lib directory. Thanks, Mike For futher information, here is the stack trace: javax.servlet.ServletException: javax.xml.transform.Transformer at FopServlet.renderXML(FopServlet.java:127) at FopServlet.doGet(FopServlet.java:68) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilt er(Application FilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli cationFilterCh ain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardW rapperValve.ja va:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardP ipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipel ine.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardC ontextValve.ja va:190) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardP ipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipel ine.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContex t.java:2343) at org.apache.catalina.core.StandardHostValve.invoke(StandardHost Valve.java:180 ) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardP ipeline.java:5 66) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDi spatcherValve. java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardP ipeline.java:5 64) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport Valve.java:170 ) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardP ipeline.java:5 64) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValv e.java:468) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardP ipeline.java:5 64) at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSi gnOn.java:392) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardP ipeline.java:5 64) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipel ine.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEn gineValve.java :174) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardP ipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipel ine.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpP rocessor.java: 1012) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProce ssor.java:1107 ) at java.lang.Thread.run(Thread.java:484) root cause org.apache.fop.apps.FOPException: javax.xml.transform.Transformer at org.apache.fop.apps.XSLTInputHandler.getParser(XSLTInputHandle r.java:107) at FopServlet.renderXML(FopServlet.java:119) at FopServlet.doGet(FopServlet.java:68) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilt er(Application FilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli cationFilterCh ain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardW rapperValve.ja va:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardP ipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipel ine.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at
Embedded fonts.
Hi all, currently having the folowing minor problem when using fop 0.20.4rc fo:inline font-family=ZapfDingbats font-style=normal font-weight=normal font-size=8pt! abcdefghijklmnopqrstuvwxyz /fo:inline gives me only one character (part of a scissors) My own embedded font works just fine ... ;-) Is the ZapfDingbatsfont removed or replaced by another ? tia. Sven Taeymans
degree symbol in pdf
Hi, I'm unable to get the degree symbol('#xB0;') to be displayed properly in the pdf while displaying a temparature value, whereas i get the cubed symbol('#xB3') correctly displayed while showing a flow value such as meter cubed per hr. We have been sucessfully using FOP over the past six months for transforming xml into pdfs using fo transformations in websphere3.5.4 servlet environment and the browser as ie5.x. Any help is greatly appreciated. Vishnu Akkaraju.
RE: performance problem renedering nested fo-tables
Do u know any other ways besides nested tables to achieve the same goal? my goal is whenever the nested section brakes at the page end to have continuing headers on the next page. So, Right now for one nested table I've this: fo:table - with one cell - this is for one root table, or a chapter of the book. so, the chapter title will be on every continuing page. fo:table-row fo:table with one cell - this wraps every row of the root table, or a section of the chapter, so when it breakes, its title on the next page fo:table-row fo:block - this contains the content of the row, e.g. coulmn listed as bullet items fo:block - this contains the nested tables, or sub-section of a chapter fo:table with few cells - this is for the nested table, or for a sub-section of the section, so when it breakes, its title is on the next page fo:table-row - every row contains one row of the sub-section, e.g. tabular view of columns of the fo:block - this contains one more nested tables, or sub-section of a chapter fo:table with few cells - this is for the nested table, or for a sub-section of the section, so when it breakes, its title is on the next page fo:table-row - every row contains one row of the sub-section, e.g. tabular view of columns of the row ... AND SO ON, there can be any number of nested tables further I don't know how to get rid of these all nested tables yet. When I tried to profile FOP, I've seen that one class takes large amount of time to process, it's FOTreeBuilder.endElement() Argyn -Original Message- From: Hahn Kurt (CHA) [mailto:[EMAIL PROTECTED] Sent: Friday, June 21, 2002 2:34 AM To: '[EMAIL PROTECTED]' Subject: RE: performance problem renedering nested fo-tables Oops. I was testing a document without nested tables: Here are the correct values: PDF (104Kb) : 16 seconds xml (511Kb) : 7 seconds Sorry -Message d'origine- De : Hahn Kurt (CHA) [mailto:[EMAIL PROTECTED] Envoyé : vendredi, 21. juin 2002 08:27 À : '[EMAIL PROTECTED]' Objet : RE: performance problem renedering nested fo-tables Hi, I'm generating a very similar document, also with nested tables within a main, one-column table. Here's my values: PDF (144 Kb, about 30-40 pages): 15 seconds just the XML (62 Kb): 7 seconds. I wouldn't say that FOP slows down a lot. But: Maybe it's your browser that's slowing down. I did my tests from a command-line tool, since it wouldn't be very fair to blame FOP only because IE is a lame duck... Kurt -Message d'origine- De : Argyn Kuketayev [mailto:[EMAIL PROTECTED] Envoyé : samedi, 15. juin 2002 00:03 À : '[EMAIL PROTECTED]' Objet : RE: performance problem renedering nested fo-tables addition to a previous message: I'm using FOP 0.20.3 with Cocoon 2.0.1. As I already stated, time to generate XSL-FO and serialize it to view in the browser is under 3 sec. Full time to generate PDF is about 15 seconds.
Re: new fopper's question
Vanessa, the classes in JAR will only be found if you run the batch file/command you quoted when you are in the directory in which fop is installed. Notice that the refs to the JAR files are relative paths, e.g. build\fop.jar etc... Chris From: Yu, Vanessa [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: '[EMAIL PROTECTED]' [EMAIL PROTECTED] Subject: new fopper's question Date: Thu, 20 Jun 2002 11:50:23 -0400 Hi! I just downloaded fop-0.20.4rc, and try to run the simple command: fop -fo readme.fo -pdf But I got this error: Exception in thread main java.lang.NoClassDefFoundError: org/apache/avalon/framework/logger/Logger at org.apache.fop.apps.Fop.main(Unknown Source) The fop command is like this: java -classpath build\fop.jar;lib\batik.jar;lib\xalan-2.3.1.jar;lib\xercesImpl-2.0.1.jar;lib \xml-apis.jar;lib\avalon-framework-cvs-20020315.jar org.apache.fop.apps.Fop %1 %2 %3 %4 %5 %6 %7 %8 All jars are in place. I wonder why it did not find org.apache.avalon.framework.logger.Logger, because it is in the jar. Thanks! Vanessa _ MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx
Re: FW: keep-together in a multi-column document
Thibodeaux, Paul wrote: I'm using FOP to build a multi-column, multipage document that is essentially a directory of sorts, with names, addresses, and phone numbers. I'd like to keep all the lines of each entry together in the same column, but keep-together.within-column on the parent block doesn't seem to be working to do this for me. It seems to be ignored. Does anyone have any ideas on this? You need to use fo:region-body column-count=3/ (or 4 or 2 or 5 etc.) Here's a sample for a dictionary or directory which uses markers for the page headings etc. Chuck fo:root xmlns:fo=http://www.w3.org/1999/XSL/Format; fo:layout-master-set fo:simple-page-master master-name=page-first page-height=8.5in page-width=11in fo:region-body margin-top=5cm margin-bottom=.5in margin-left=.5in margin-right=.5in column-count=3/ fo:region-before extent=6cm/ /fo:simple-page-master /fo:layout-master-set fo:page-sequence master-reference=page-first fo:static-content flow-name=xsl-region-before fo:table table-layout=fixed fo:table-column column-width=5.5in/ fo:table-column column-width=5.5in/ fo:table-body fo:table-row fo:table-cell fo:block keep-together=auto first-starting-within-page: fo:retrieve-marker retrieve-class-name=entry retrieve-boundary=page retrieve-position=first-starting-within-page/ /fo:block /fo:table-cell fo:table-cell fo:block keep-together=auto text-align=end first-including-carryover : fo:retrieve-marker retrieve-class-name=entry retrieve-boundary=page retrieve-position=first-including-carryover/ /fo:block /fo:table-cell /fo:table-row fo:table-row fo:table-cell fo:block keep-together=auto last-starting-within-page : fo:retrieve-marker retrieve-class-name=entry retrieve-boundary=page retrieve-position=last-starting-within-page/ /fo:block /fo:table-cell fo:table-cell fo:block keep-together=auto text-align=end last-ending-within-page : fo:retrieve-marker retrieve-class-name=entry retrieve-boundary=page retrieve-position=last-ending-within-page/ /fo:block /fo:table-cell /fo:table-row /fo:table-body /fo:table /fo:static-content fo:flow flow-name=xsl-region-body fo:blockfo:marker marker-class-name=entryOne/fo:markerOne One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One One fo:marker marker-class-name=entryOnex/fo:marker/fo:block fo:blockfo:marker marker-class-name=entryTwo/fo:markerTwo Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two Two fo:marker marker-class-name=entryTwox/fo:marker/fo:block fo:blockfo:marker marker-class-name=entryThr/fo:markerThr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr Thr fo:marker marker-class-name=entryThrx/fo:marker/fo:block fo:blockfo:marker marker-class-name=entryFou/fo:markerFou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou Fou fo:marker marker-class-name=entryFoux/fo:marker/fo:block fo:blockfo:marker marker-class-name=entryFiv/fo:markerFiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv Fiv fo:marker marker-class-name=entryFivx/fo:marker/fo:block fo:blockfo:marker marker-class-name=entrySix/fo:markerSix Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six Six fo:marker marker-class-name=entrySixx/fo:marker/fo:block fo:blockfo:marker marker-class-name=entrySev/fo:markerSev Sev Sev Sev Sev Sev Sev Sev Sev Sev Sev Sev Sev Sev Sev Sev Sev Sev Sev Sev Sev
Re: degree symbol in pdf
[EMAIL PROTECTED] wrote: Hi, I'm unable to get the degree symbol('#xB0;') to be displayed properly in the pdf while displaying a temparature value, whereas i get the cubed symbol('#xB3') correctly displayed while showing a flow value such as meter cubed per hr. We have been sucessfully using FOP over the past six months for transforming xml into pdfs using fo transformations in websphere3.5.4 servlet environment and the browser as ie5.x. Any help is greatly appreciated. I was able to get the degree symbol just fine with fop0.20.3. Here's my fo fo:root xmlns:fo=http://www.w3.org/1999/XSL/Format; fo:layout-master-set fo:simple-page-master master-name=page-first page-height=8.5in page-width=11in fo:region-body margin-top=5cm margin-bottom=.5in margin-left=.5in margin-right=.5in/ fo:region-before extent=6cm/ /fo:simple-page-master /fo:layout-master-set fo:page-sequence master-reference=page-first fo:flow flow-name=xsl-region-body fo:block font-family=Edwardian Script ITC#xB0; - #xB3;/fo:block fo:block font-family=Viner Hand ITC#xB0; - #xB3;/fo:block fo:block font-family=Georgia#xB0; - #xB3;/fo:block fo:block font-family=Bookman Old Style#xB0; - #xB3;/fo:block fo:block font-family=Book Antiqua#xB0; - #xB3;/fo:block fo:block font-family=Helvetica#xB0; - #xB3;/fo:block fo:block font-family=Times-Roman#xB0; - #xB3;/fo:block fo:block- This font set does not have these glyphs/fo:blockfo:block font-family=ZapfDingbats#xB0; - #xB3; /fo:block fo:block font-family=Courier#xB0; - #xB3;/fo:block /fo:flow /fo:page-sequence /fo:root
Re: performance problem renedering nested fo-tables
Argyn, In your case it looks like you should investigate using fo:marker and fo:retrieve-marker to get your page headers. Each level of your table nesting would use a different marker-class-name. The page header can then retrieve the contents of that marker (The contents do not print in the page, are there only to be retrieved) in the fo:static-content flow-name=xsl-region-before put something like fo:block Chapter: fo:retrieve-marker retrieve-class-name=chapter retrieve-boundary=page retrieve-position=first-starting-within-page/ Section: fo:retrieve-marker retrieve-class-name=section retrieve-boundary=page retrieve-position=first-starting-within-page//fo:block And in the fo:flow flow-name=xsl-region-body put fo:marker marker-class-name=chapterOne/fo:marker at the beginning of each chapter etc. Chuck Argyn Kuketayev wrote: Do u know any other ways besides nested tables to achieve the same goal? my goal is whenever the nested section brakes at the page end to have continuing headers on the next page. So, Right now for one nested table I've this: fo:table - with one cell - this is for one root table, or a chapter of the book. so, the chapter title will be on every continuing page. fo:table-row fo:table with one cell - this wraps every row of the root table, or a section of the chapter, so when it breakes, its title on the next page fo:table-row fo:block - this contains the content of the row, e.g. coulmn listed as bullet items fo:block - this contains the nested tables, or sub-section of a chapter fo:table with few cells - this is for the nested table, or for a sub-section of the section, so when it breakes, its title is on the next page fo:table-row - every row contains one row of the sub-section, e.g. tabular view of columns of the fo:block - this contains one more nested tables, or sub-section of a chapter fo:table with few cells - this is for the nested table, or for a sub-section of the section, so when it breakes, its title is on the next page fo:table-row - every row contains one row of the sub-section, e.g. tabular view of columns of the row ... AND SO ON, there can be any number of nested tables further I don't know how to get rid of these all nested tables yet. When I tried to profile FOP, I've seen that one class takes large amount of time to process, it's FOTreeBuilder.endElement() Argyn
Re: AW: Problem with servlet
I made the changes but still getting the same error. It's driving me crazy. ANy help will be greatly appreciated. Thanks -Neeru Michael Heinen Michael.HeinenTo: '[EMAIL PROTECTED]' [EMAIL PROTECTED] @nexum.de cc: Subject: AW: Problem with servlet 06/21/2002 03:20 AM Please respond to fop-user The problem could be that WebSphere has an old version of xerces in its classpath. Did you change the static classpath of websphere ? Try to delete the old xerces entry in the admin.config file of websphere and add two new entries at the beginning for the fop versions of xerces and xalan. I got it to work by this. Michael Heinen Software Developer nexum GmbH strategy - media - technology Kalscheurener Str. 19 50354 Hurth -Ursprungliche Nachricht- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 20. Juni 2002 21:43 An: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Betreff: Problem with servlet I am having problem running the example servletFop. I have websphere3.5 and have the fop.jar, batik.jar, avalon-framework-4.0.jar, logkit-1.0.jar and xalan-2.0.0.jar in the lib directory. I am attaching the error. Thanks for help -Neeru (See attached file: err.rtf)
Re: Hyphenation
Is there a way to enforce TeX's behavior? Not prepackaged. You are invited to hack around in the files in layout/hyphenation. OK, I did: It is all in org.apache.fop.layout.LineArea.java. I altered the hyphenation strategie as follows: If there is a hyphen in a word and the character data before the hyphen will fit into the current line, hyphenation will be done at the existing hyphen and nowhere else in the word. If there is a hyphen but not enough space left do not hyphenate at all except for the case when this word is the first in a line (-the column/cell is not wide enough to hold the word in one piece). In the latter case fall back to the standard hyphenation strategie. There is also a bug (I think) in LineArea: If the word to be hyphenated is the first in a line an additional space is put in front of it. I tried to solve it by not assigning a 'space' as a spacer but a zero width space (\u200B) in this case. But I still end up with a visible space in the PDF document. I will post my LineArea.java as soon as I have it cleaned up a bit. :-) Ralf
Re: FOP build fails
I try to build FOP 0.20.3 via the build.bat script on win2k, jdk1.4.0_01 but the the build fails because some xml files can not be found. This *should* be fixed with Fop 0.20.4rc (I would be happy if you could test it) Yes it is. But acutal compilation fails with [javac] Compiling 717 source files to Z:\steppacher\Downloads\FOP\fop-0.20.4 rc-src.tar\fop-0.20.4rc\build\classes [javac] Note: sun.tools.javac.Main has been deprecated. [javac] Z:\steppacher\Downloads\FOP\fop-0.20.4rc-src.tar\fop-0.20.4rc\build\ src\org\apache\fop\svg\PDFGraphics2D.java:1199: nested class org.apache.fop.svg. PDFGraphics2D. PDFGraphicsConfiguration is an abstract class. It can't be instan tiated. [javac] return new PDFGraphicsConfiguration(); [javac]^ [javac] Z:\steppacher\Downloads\FOP\fop-0.20.4rc-src.tar\fop-0.20.4rc\build\ src\org\apache\fop\svg\PDFGraphics2D.java:1206: nested class org.apache.fop.svg. PDFGraphics2D. PDFGraphicsConfiguration must be declared abstract. It does not d efine java.awt.image.VolatileImage createCompatibleVolatileImage(int, int) from class java.awt.GraphicsConfiguration. [javac] static class PDFGraphicsConfiguration extends GraphicsConfigurat ion { [javac] ^ [javac] 2 errors, 1 warning Thanks! Ralf
RE: Using Xalan Transformer with FOP Driver problem
Try this. // --- // 1. Get a Source for XML document // --- // a) from string Source strSource = new StreamSource(new StringReader(xmlData)); // --- // 2. Get stylesheet transformer // --- // from file, see above examples for other types of XSL input //TransformerFactory TransformerFactory transformerFactory = TransformerFactory.newInstance (); Templates template = transformerFactory.newTemplates( new StreamSource( xslLayout )); // note - template object is multi-threaded and should be cached if you // plan to use the same XSL repeatedly Transformer transformer = template.newTransformer(); // --- // 3. Create FOP driver and set rendering mode and output stream // --- Driver driver = new Driver(); driver.setRenderer(driver.RENDER_PDF); ByteArrayOutputStream baos = new ByteArrayOutputStream (); driver.setOutputStream( baos); // initialize logger - see sample code on FOP website driver.setLogger(setLogger()); // --- // 4. Create SAXResult based on FOP Driver content handler // which will accept SAX events and build FOP tree // --- Result saxResult = new SAXResult( driver.getContentHandler() ); // 5. Use the Transformer to transform an XML Source and // send the output to a Result object. Implicitely it will // create the FOP tree by firing SAX events. transformer.transform( strSource, saxResult ); // 6. Your user is already viewing the PDF! response.getOutputStream().flush(); response.getOutputStream().close(); -Original Message- From: Anil R. Pinto [mailto:[EMAIL PROTECTED] Sent: June 21, 2002 1:35 PM To: '[EMAIL PROTECTED]' Subject: Using Xalan Transformer with FOP Driver problem Hi, I have been using FOP to create PDF files for sometime now. Mostly as embedded code within my Struts Action classes, as mentioned in http://xml.apache.org/fop/embedding.html and it has been working just fine. But this method requires the xml source to exist only as a java.io.File (if I am not mistaken), with no provision as an in memory object - like a Java String or Stream for example. So when I looked at the Xalan site and this mailing list I saw the in memory implementation possible with the TransformerFactory and Transformer classes in Xalan. So, I tried this with a simple xml and xsl to test the concept first. But, I seem to be getting the error building formatting object tree building formatting object tree javax.xml.transform.TransformerException at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerIm pl.java:1212) at org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:2894) at java.lang.Thread.run(Thread.java:484) - java.lang.NullPointerException at org.apache.fop.fo.FOTreeBuilder.startDocument(FOTreeBuilder.java:167) at org.apache.xalan.transformer.QueuedStartDocument.flush(QueuedStartDocume nt.java:108) at org.apache.xalan.transformer.ResultTreeHandler.flushPending(ResultTreeHa ndler.java:758) at org.apache.xalan.transformer.ResultTreeHandler.startElement(ResultTreeHa ndler.java:245) at org.apache.xalan.transformer.ResultTreeHandler.startElement(ResultTreeHa ndler.java:209) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.j ava:704) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Trans formerImpl.java:2154) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Trans formerImpl.java:2097) at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(Transfo rmerImpl.java:2029) at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerIm pl.java:1189) at org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:2894) at java.lang.Thread.run(Thread.java:484) javax.xml.transform.TransformerException at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerIm pl.java:1212) at org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:2894) at java.lang.Thread.run(Thread.java:484) - java.lang.NullPointerException at org.apache.fop.fo.FOTreeBuilder.startDocument(FOTreeBuilder.java:167) at org.apache.xalan.transformer.QueuedStartDocument.flush(QueuedStartDocume nt.java:108) at org.apache.xalan.transformer.ResultTreeHandler.flushPending(ResultTreeHa ndler.java:758) at org.apache.xalan.transformer.ResultTreeHandler.startElement(ResultTreeHa ndler.java:245) at org.apache.xalan.transformer.ResultTreeHandler.startElement(R esultTreeHandler.java:209) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.j ava:704) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Trans formerImpl.java:2154) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Trans
Re: Using Xalan Transformer with FOP Driver problem
I use 0.20.1 also with SAX events. I had to add this to get rid of the null pointer: //Hack fix for FOP bug. Might be unnecessary in FOP 0.20.3. StreamRenderer x = new StreamRenderer(outputStream, pdfDriver.getRenderer()); ((FOTreeBuilder)pdfDriver.getContentHandler ()).setStreamRenderer(x); Hope this helps, -Ryan
RE: Using Xalan Transformer with FOP Driver problem
Thanks Ryan, it works now !!! In fact when you said that this problem was not there in FOP 0.20.3 I tried that first :-) and it worked. Once I knew it did I went ahead to experiment with FOP 0.20.1 And the fix you suggested worked. So the code, just for reference (to others who may need it at a later time) is import java.io.*; import javax.xml.transform.*; import javax.xml.transform.stream.*; import javax.xml.transform.sax.*; import org.apache.fop.apps.Driver; import org.apache.fop.apps.StreamRenderer; import org.apache.fop.fo.FOTreeBuilder; public class TestXml { public static void main(String[] args) { try { // XML Will eventually be a Java String or Stream from another source. StreamSource xmlsource = new StreamSource(new FileReader(simple.xml)); Driver driver =new Driver(); FileOutputStream fos = new FileOutputStream(simple.pdf); driver.setOutputStream(fos); driver.setRenderer(Driver.RENDER_PDF); // Fix : ADDED this code as suggested by Ryan to work with FOP 0.20.1 (yeah, not required by FOP 0.20.3) StreamRenderer x = new StreamRenderer(fos, driver.getRenderer()); ((FOTreeBuilder) driver.getContentHandler()).setStreamRenderer(x); // Fix ends Transformer transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(new FileReader(simple.xsl))); // Previously threw error without above 2 line Fix transformer.transform(xmlsource, new SAXResult(driver.getContentHandler())); //For test purposes only //transformer.transform(xmlsource, new StreamResult(System.out)); } catch (Exception e) { e.printStackTrace(); } } } Ryan, Mehmood I really appreciate your help guys. It did help. Anil. -Original Message- From: [EMAIL PROTECTED] [SMTP:[EMAIL PROTECTED] Sent: Friday, June 21, 2002 2:56 PM To: [EMAIL PROTECTED] Subject:Re: Using Xalan Transformer with FOP Driver problem I use 0.20.1 also with SAX events. I had to add this to get rid of the null pointer: //Hack fix for FOP bug. Might be unnecessary in FOP 0.20.3. StreamRenderer x = new StreamRenderer(outputStream, pdfDriver.getRenderer()); ((FOTreeBuilder)pdfDriver.getContentHandler ()).setStreamRenderer(x); Hope this helps, -Ryan
Re: Problem with javax.xml.transform.Transformer
J.Pietschmann wrote: Tomcat 4.0.3 has problems with the classloader. If you have to use it, move the FOP jars into the Tomcat lib directory. It is recommended to upgrade to 4.0.4 btw, I'm also having this problem now :( My hosting has been upgraded from tomcat3 to 4.03 and fop stuck. But symptoms are rather bizarre - java.lang.NoClassDefFoundError: org/w3c/dom/svg/SVGDocument at com.multiconn.fop.TIFFRendererFactory.newTIFFRenderer(TIFFRendererFactory.java:22) Interestingly enough, TIFFRenderer.jar is in the same WEB-INF/lib directory as batik.jar, but it seems to me batik is not found, but TIFFRenderer is. Could you please point out any resources to confirm the bug I could forward my hosting admin to? -- Oleg Tkachenko Multiconn International Ltd
Re: Problem with javax.xml.transform.Transformer
Oleg Tkachenko wrote: btw, I'm also having this problem now :( My hosting has been upgraded from tomcat3 to 4.03 and fop stuck. But symptoms are rather bizarre - java.lang.NoClassDefFoundError: org/w3c/dom/svg/SVGDocument at com.multiconn.fop.TIFFRendererFactory.newTIFFRenderer(TIFFRendererFactory.java:22) Interestingly enough, TIFFRenderer.jar is in the same WEB-INF/lib directory as batik.jar, but it seems to me batik is not found, but TIFFRenderer is. Could you please point out any resources to confirm the bug I could forward my hosting admin to? I belive the Tomcat site itself mentions it. Other than that, read the installation instructions for Cocoon regarding Tomcat 4.0.3 and the Cocoon FAQ. The generally recommended workaround is to move everything into the Tomcat lib. Now that Tomcat 4.0.4 is out, your hoster should upgrade to this version. J.Pietschmann