Re: Passing page numbers to an external servlet
Kevin Pearcey wrote: This won't work as it attempts to place the fo:page-number as an attribute of fo:external-graphic. This is the problem I have and as far as I can tell there is no way of solving it. It seems like xsl:fo just doesn't have the power to do much page conditional things without separate page masters. This is correct. Note that fo:page-number does not return the page number for use elsewhere, there is no such concept in XSLFO. It isn't some sort of macro language where fo:page-number is replaced by the actual page number either. The fo:page-number element *renders* the page number. You can implement a FOP extension element to do what you want. J.Pietschmann
RE: Current date integration
Hi Oleg J.Pietschmann, Sandrine Pilon wrote: OK ! But a problem persists. when I compile with FOP, It returns me errors about the line: 'exclude-result-prefixes=user' in stylesheet and I don't understand why. What is the error message ? Here is the result when I compiled with FOP: ** [INFO]: FOP 0.20.3 file:///D:/Program Files/FOP/fop-0.20.3/MCCFdConfig_FO_2.xsl; Line 7; Column 40; [ERROR]: null ** and the line 7 is this: 'extension-element-prefixes=date' Column 40 is lhe last column. I also tried J.Pietschmann advises, but the same error occurred with his example: ** ?xml version=1.0 encoding=utf-8? xsl:stylesheet xmlns:xsl=http://www.w3.org/1999/XSL/Transform; xmlns:fo=http://www.w3.org/1999/XSL/Format; xmlns:date=java.util.Date xmlns:format=java.text.SimpleDateFormat exclude-result-prefixes=date format xsl:template match=/ xsl:variable name=pattern.MM.dd G 'at' hh:mm:ss a zzz/xsl:variable xsl:variable name=SimpleDateFormat select=format:new($pattern) / xsl:variable name=Date select=date:new() / xsl:value-of select=format:format($SimpleDateFormat, $Date) / /xsl:template ** Thank you because 'I'm stumped'. ;o) Sandrine
Re: FOP memory consumption
On 2002.05.01 16:34 Bernd Brandstetter wrote: So, I have two questions/suggestions: 1) Wouldn't it be possible to let FOP create the output in two steps like for instance (La)TeX does. Doing a dry run first only to calculate the page references, store them somewhere, and then produce the actual output in a second run. As outlined on this page this is the approach that we are heading for: http://xml.apache.org/fop/design/optimise.html This should make any size document possible. 2) Are there plans to port FOP to C/C++ sometime? I guess that at least part of the memory consumption is to be blamed on Java and IIRC the underlying Xerces and Xalan are already available as C++ versions, so why not FOP? The issue of implementing FOP is not about the language. Since using java means we already have a large number of services available and reduced debugging effort then this is a logical choice (this doesn't prevent other choices). The issue is dealing with the large number of elements, properties and layout issues. Once the real problem is solved then it will be a more relevant question.
Page Sequencing to conserve memory
I'm pretty new to XSL-FO and FOP and having problems with serious memory usage on 500-1000 page docuements using tables as a reporting tool. Being that I populate the data into the page sequence from my XML data file, does anybody know of a way to end the page sequence after a screen full of data and start a new page sequence. I restrict my data in the XML to placing a screen full between FormFeed/FormFeed tags. Ideally I would like to end the page sequence when hitting a /FormFeed and start a new page sequence for an open FormFeed all within my stylesheet. Any ideas? John Bourke *** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorised distribution or copying is strictly prohibited. Whilst Cedar Plc takes steps to prevent the transmission of viruses via e-mail, we can not guarantee that any email or attachment is free from computer viruses and you are strongly advised to undertake your own anti-virus precautions. Cedar Plc grants no warranties regarding performance, use or quality of any e-mail or attachment and undertakes no liability for loss or damage, howsoever caused.
Re: Current date integration
Sandrine Pilon wrote: ** [INFO]: FOP 0.20.3 file:///D:/Program Files/FOP/fop-0.20.3/MCCFdConfig_FO_2.xsl; Line 7; Column 40; [ERROR]: null ** and the line 7 is this: 'extension-element-prefixes=date' Column 40 is lhe last column. I also tried J.Pietschmann advises, but the same error occurred with his example: ** ?xml version=1.0 encoding=utf-8? xsl:stylesheet xmlns:xsl=http://www.w3.org/1999/XSL/Transform; xmlns:fo=http://www.w3.org/1999/XSL/Format; xmlns:date=java.util.Date xmlns:format=java.text.SimpleDateFormat exclude-result-prefixes=date format xsl:template match=/ xsl:variable name=pattern.MM.dd G 'at' hh:mm:ss a zzz/xsl:variable xsl:variable name=SimpleDateFormat select=format:new($pattern) / xsl:variable name=Date select=date:new() / xsl:value-of select=format:format($SimpleDateFormat, $Date) / /xsl:template ** xsl:stylesheet element must have version attribute - that's probably your error. And that stylesheet doesn't generate any fo elements also, is it test only one? -- Oleg Tkachenko Multiconn International, Israel
Re: [ERROR]: Don't know what to do with
I had the same error message since I use fop 0.20.2 and later fop 0.20.3, but I had no problems with fop 0.20.1 and earlier versions. I don't know what EXACTLY is the problem but the problem solved itself after I changed my OS from Windows ME to Windows 2000 (using the SAME UNMODIFIED fop installation!!!). Now it works fine. L'eau [EMAIL PROTECTED] schrieb am 02.05.2002, 10:55:54: Ok, so I had the time to download an old FOP version, and was glad to see it had a jimi-1.0.jar in it! It works to a degree. I did this: C:\xsl\buildFop list.fo list.pdf Now I get the following error message now: [ERROR]: Don't know what to do with .and that's it. It doesn't even tell me what it doesn't know what to do with. I'm stumped and baffled. Devon PS. who would I write to, to let Apache know that their latest FOP package is missing a jimi-1.0.jar? I can only imagine how many other people are having a problem and giving up. __ Do You Yahoo!? Yahoo! Health - your guide to health and wellness http://health.yahoo.com
Re: [ERROR]: Don't know what to do with
I'm glad I'm not the only one with this problem. Interesting you noticed a problem when using it on Windows ME (i'm using that OS myself). I just found Fop 0.20.1 works exactly as expected, but Fop 0.20.3 still gives me that strange error. I'm not sure how the OS could possibly affect a java program's ability to run though. Anyway, I'd much prefer to use 0.20.3, but I'll have to use the older version too until an update is made or something is figured out. Thank you all. I'm going to poke around the Apache site now and figure out who to e-mail about the missing jimi-1.0.jar the way Windows ME affects 0.20.3. Devon --- [EMAIL PROTECTED] wrote: I had the same error message since I use fop 0.20.2 and later fop 0.20.3, but I had no problems with fop 0.20.1 and earlier versions. I don't know what EXACTLY is the problem but the problem solved itself after I changed my OS from Windows ME to Windows 2000 (using the SAME UNMODIFIED fop installation!!!). Now it works fine. __ Do You Yahoo!? Yahoo! Health - your guide to health and wellness http://health.yahoo.com
Re: Current date integration
hmmm, well, with version attribute the transformation works fine with saxon and xalan, but it produces no fo elements, how do you use it with fop? Sandrine Pilon wrote: Version 1.0 stylesheet is included but it's a copy/paste problem . Also fo element are included but I wanted to be concise. I still have error 'null'. -- Oleg Tkachenko Multiconn International, Israel
Re: [ERROR]: Don't know what to do with
L'eau wrote: Ok, so I had the time to download an old FOP version, and was glad to see it had a jimi-1.0.jar in it! It works to a degree. I did this: C:\xsl\buildFop list.fo list.pdf Now I get the following error message now: [ERROR]: Don't know what to do with .and that's it. It doesn't even tell me what it doesn't know what to do with. I'm stumped and baffled. Strange, this error happens if you give three commandline arguments and in your case this seems to be blank (really strange .. which OS are you using?) You could try fop list.fo list.pdf (with quotes) Devon PS. who would I write to, to let Apache know that their latest This is the appropriate place but we had to remove jimi because we are not allowed to distribute it (it is mentioned in the release notes!) FOP package is missing a jimi-1.0.jar? I can only imagine how many other people are having a problem and giving up. Christian
OutOfMemory - What worked for me.
Hi guys, I had been having the memory issue over the last number of days. My fix that has worked and probably been posted before was to split up the pages of my file using a correct implementation of page sequences. Previously I had been pumping all data into one page sequence and breaking it using page breaks but FOP simply kept loading this into memory until eventually it ran out. Now I just load a page sequence at a time and this allows the garbage collector to run once all available memory has been allocated and thus free up memory used by earlier pages. As long as there is enough memory for a single page you shouldn't need much more as the collector can free this once the page has been rendered. John *** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorised distribution or copying is strictly prohibited. Whilst Cedar Plc takes steps to prevent the transmission of viruses via e-mail, we can not guarantee that any email or attachment is free from computer viruses and you are strongly advised to undertake your own anti-virus precautions. Cedar Plc grants no warranties regarding performance, use or quality of any e-mail or attachment and undertakes no liability for loss or damage, howsoever caused.
Re: [ERROR]: Don't know what to do with
did you try C:\xsl\buildFop -fo list.fo -pdf list.pdf ? Christian Geisert wrote: L'eau wrote: Ok, so I had the time to download an old FOP version, and was glad to see it had a jimi-1.0.jar in it! It works to a degree. I did this: C:\xsl\buildFop list.fo list.pdf Now I get the following error message now: [ERROR]: Don't know what to do with .and that's it. It doesn't even tell me what it doesn't know what to do with. I'm stumped and baffled. Strange, this error happens if you give three commandline arguments and in your case this seems to be blank (really strange .. which OS are you using?) You could try fop list.fo list.pdf (with quotes) Devon PS. who would I write to, to let Apache know that their latest This is the appropriate place but we had to remove jimi because we are not allowed to distribute it (it is mentioned in the release notes!) FOP package is missing a jimi-1.0.jar? I can only imagine how many other people are having a problem and giving up. Christian
Re: I get a mysterious NoClassDefFoundError
Devon- Check J.Pietschmann's reply to your problem. He explains why your original command wasn't working, and why Jimi isn't included in the FOP download. I believe you can just download Jimi from the Sun site if you want it, but I've been running with the batch file as is, with no problems. It appears that if you specify a bad classpath, it's simply ignored, rather than bringing everything to a halt. -Jeff L'eau [EMAIL PROTECTED]To: [EMAIL PROTECTED] o.com cc: Subject: Re: I get a mysterious NoClassDefFoundError 05/02/2002 04:24 AM Please respond to fop-user AAhh i see. Thanx. I ignored That batch file, because it had the jimi.jar in it's path, and since that jar didn't come with my download I assumed that batch was for something totally different. Any idea where I can get a copy of the jimi.jar? I'm thinking that if I simply have that, it will solve all my problems. If I download an old copy of FOP, and use THAT jimi.jar, might it work in the latest FOP? Devon --- [EMAIL PROTECTED] wrote: Devon- OK, I'm confused too. I don't have a jimi-1.0.jar (or any jimi*.jar, for that matter) I'm attaching the .bat that came with my download (I downloaded last Friday, so I would think they'd be the same, since the download directory we both pulled from shows the package being last uploaded on March 4th. I don't think it'll make any difference, though, since you seem to be including everything that is there. I'm not familiar enough with Java (I've done a little programming in it, but when apps start using multiple jars, it becomes black magic to me) to have any answer, other than using the .bat file that works for me. I do think you're correct in the assumption that your OS shouldn't matter (I'm on XP, BTW.) Here are the contents of my batch file: java -cp build\fop.jar;lib\batik.jar;lib\xalan-2.0.0.jar;lib\xerces-1.2.3.jar;lib\avalon-framework-4.0.jar;lib\logkit-1.0.jar;lib\jimi-1.0.jar org.apache.fop.apps.Fop -c conf/userconfig.xml %1 %2 %3 %4 %5 %6 %7 %8 It should be untouched from the time I downloaded it, other than the -c conf/userconfig.xml parameter I added to use some custom fonts. Hope that helps. If not, post back, and perhaps someone wiser than I can help. -Jeff __ Do You Yahoo!? Yahoo! Health - your guide to health and wellness http://health.yahoo.com
Re: Memory consumption with large images in FOP
J.Pietschmann- Thanks for your help. I think I may be running out of memory when viewing the PDF. I'll do some playing around on my end, but your explanations should help a lot. Thanks again, -Jeff J.Pietschman n To: [EMAIL PROTECTED] [EMAIL PROTECTED]cc: oo.de Subject: Re: Memory consumption with large images in FOP 05/01/2002 06:00 PM Please respond to fop-user [EMAIL PROTECTED] wrote: the resulting PDF has a black rectangle, where the image should be. In PDF, images are rendered at 1/72 inch per pixel, or roughly 3.53 cm per 100 pixel. Higher resolution images are scaled down during rendering, you may see a resampling artifact, or simply a bug (probably in the PDF viewer). Be aware that the PDF viewer will have to decompress your 4k*5k pixel images at 3 bytes per pixel, resulting in allocating nearly 60 MB or more. It is also possible that you run into an arithmetic overflow or some similar problem. Is there a limit to the resolution of raster images FOP (or PDFs in general) can handle, or this perhaps a problem with memory? In theory, there is no limit, at least not directly imposed by FOP. FOP will, however, hold the file in memory, decompressed for some formats. It appears the images contained within a PDF are compressed. Does anyone know if this compression is JPEG, and if so, does FOP just dump a given JPEG into the PDF file, or does it uncompress the original JPEG in memory, and then recompress it to go into the PDF? For JPEG images, the file is dumped into the PDF basically unchanged. Finally, I haven't found a definitive list of the image types allowed in an external-graphic src attribute. Does anyone know where I might find such a list. From the sources: GIF, BMP, EPS and JPEG are supported natively, in part through standard Java mechanisms. There are not necessarily all subformats supported (BMP has at least a dozen, some very obscure, and there are a few exotic JPEG subformats as well). SVG is supported through Batik. FOP can take advantage of the Jimi image library and of JAI. Jimi is no longer distributed with FOP because of license reasons, you can get it yourself (there are instructions in the docs), but for some odd reasons it may be possible that you'll have to rebuild FOP from the sources, even though this is very easy nowadays. Jimi supports: AFP (dunno), BMP, CUR (MS Windows cursor?), GIF, ICO (Windows icons), PCX, PICT (dunno), PNG, PSD (dunno), Sun raster (used by Sun), TGA, TIFF and XBM (X Windows bitmap). JAI is an interface specification, FOP will support whatever your JAI conformant implementation supports if you drop it in (may require rebuild). This list is not authoritative, apply usual disclaimers. J.Pietschmann
RE: OutOfMemory - What worked for me.
This is great if you have logical page breaks. Only one of our reports has any logical page breaks however. So I can insert new page-sequences every 1000 rows or so. But unless I start counting rows and trying to guess at when a cell wraps, I have no way of preventing page breaks that leave awkward-looking partially filled pages. Matt Savino -Original Message- From: John Bourke [mailto:[EMAIL PROTECTED] Sent: Thursday, May 02, 2002 4:24 AM To: Fop Users (E-mail) Subject: OutOfMemory - What worked for me. Hi guys, I had been having the memory issue over the last number of days. My fix that has worked and probably been posted before was to split up the pages of my file using a correct implementation of page sequences. Previously I had been pumping all data into one page sequence and breaking it using page breaks but FOP simply kept loading this into memory until eventually it ran out. Now I just load a page sequence at a time and this allows the garbage collector to run once all available memory has been allocated and thus free up memory used by earlier pages. As long as there is enough memory for a single page you shouldn't need much more as the collector can free this once the page has been rendered. John ** * This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorised distribution or copying is strictly prohibited. Whilst Cedar Plc takes steps to prevent the transmission of viruses via e-mail, we can not guarantee that any email or attachment is free from computer viruses and you are strongly advised to undertake your own anti-virus precautions. Cedar Plc grants no warranties regarding performance, use or quality of any e-mail or attachment and undertakes no liability for loss or damage, howsoever caused. ** **
Re: Basic-link problem in JSPs
Ralf Steppacher wrote: Are you, by any chance, using disable-output-escaping somewhere? Yes, but somewhere else in the stylesheet producing the fo document. It doesn't matter where. Do not use d-o-e if you expect your style sheet to work with short-circuit XSLT processor applications. XSLT doesn't del with tags, it uses a tree of nodes for input and output. What you think of as creating single tags is still plain text until serialization. A serialization never happens if the result is fed right into the XML consumer by using a DOM tree or a SAX event stream. Behaviour does not change if I comment out the two lines (that do not work with embedded fop either). If you delete the d-o-e stuff, dump the tree and check with the command line application, what happens? J.Pietschmann
Re: [ERROR]: Don't know what to do with
Christian Geisert wrote: You could try fop list.fo list.pdf (with quotes) Not a very good idea on Win95/98/ME (or any other system), it searches for a command file fop list.fo list.pdf.exe (with spaces) On Win95/98/ME, the command processor feeds the whole command line in one piece to the applications, therefore the JRE parses the command line. Either there is a bug in the parser, or the command processor appends some ugly invisible character. It's been years since i last delat with DOS based systems, but I believe the command line gets a \r\n ant the end, perhaps the JRE doesn't count the \r as white space and passes it as parameter. It would help to run a test program to see what happens: public class TestC { static final char[] hex={'0','1','2','3','4','5','6','7', '8','9','A','B','C','D','E','F'}; static public void main(String[] arg) { for( int i=0;iarg.length;i++ ) { byte[] b=arg[i].getBytes(); for( int j=0;jb.length;j++ ) { System.out.print(+hex[b[j]/16]+hex[b[j]%16]+' '); } System.out.println(); } } } J.Pietschmann
Re: Trying to resolve memory exception through correct use of pag e se quencing
John Bourke wrote: J. below is my layout-master-set followed by the way I start the page sequence for my repeatable page. fo:page-sequence-master master-name=reportDetails fo:repeatable-page-master-alternatives fo:conditional-page-master-reference master-name=detailPage blank-or-not-blank=not-blank/ /fo:repeatable-page-master-alternatives Here is the problem: You have a page master for non-blank pages, but none for blank pages. Somewhere you force a blank page, perhaps by break-before=page-even or something similar, and FOP falls over. Provide a page master for blank page, and this problem should go away. J.Pietschmann
Re: Page Sequencing to conserve memory
John Bourke wrote: I'm pretty new to XSL-FO and FOP and having problems with serious memory usage on 500-1000 page docuements using tables as a reporting tool. Being that I populate the data into the page sequence from my XML data file, does anybody know of a way to end the page sequence after a screen full of data and start a new page sequence. I restrict my data in the XML to placing a screen full between FormFeed/FormFeed tags. Ideally I would like to end the page sequence when hitting a /FormFeed and start a new page sequence for an open FormFeed all within my stylesheet. Try xsl:template match=FormFeed fo:page-sequence master-reference=... xsl:apply-templates/ /fo:page-sequence /xsl:template and use xsl:apply-templates in the context of the parent of the FormFeed elements. J.Pietschmann
Re: Setting a maximum number of charcaters in a line
Stéphane REYNIER wrote: Is there any solution for setting a maximum number of charcaters whitin a line ? I have to built two areas with 4 lines of 80 charcaters each, in a PDF document. You can't set a maximum for the number of characters in a line. You should already generate fo:block elements containing the 80 character lines. How this can be achieved depends heavily on your source and perhaps other circumstances. J.Pietschmann
RE: Trying to resolve memory exception through correct use of pag e sequencing
Excellent thanks J. -Original Message- From: J.Pietschmann [mailto:[EMAIL PROTECTED] Sent: 02 May 2002 21:39 To: [EMAIL PROTECTED] Subject: Re: Trying to resolve memory exception through correct use of pag e se quencing John Bourke wrote: J. below is my layout-master-set followed by the way I start the page sequence for my repeatable page. fo:page-sequence-master master-name=reportDetails fo:repeatable-page-master-alternatives fo:conditional-page-master-reference master-name=detailPage blank-or-not-blank=not-blank/ /fo:repeatable-page-master-alternatives Here is the problem: You have a page master for non-blank pages, but none for blank pages. Somewhere you force a blank page, perhaps by break-before=page-even or something similar, and FOP falls over. Provide a page master for blank page, and this problem should go away. J.Pietschmann *** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorised distribution or copying is strictly prohibited. Whilst Cedar Plc takes steps to prevent the transmission of viruses via e-mail, we can not guarantee that any email or attachment is free from computer viruses and you are strongly advised to undertake your own anti-virus precautions. Cedar Plc grants no warranties regarding performance, use or quality of any e-mail or attachment and undertakes no liability for loss or damage, howsoever caused.
How do I stop table cell wrapping?
Guys is there a way to stop cells in a table wrapping the text to the next line and simply cutting the data if it's longer than the cell width? I would think there may be some kind of attribute to do this? *** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorised distribution or copying is strictly prohibited. Whilst Cedar Plc takes steps to prevent the transmission of viruses via e-mail, we can not guarantee that any email or attachment is free from computer viruses and you are strongly advised to undertake your own anti-virus precautions. Cedar Plc grants no warranties regarding performance, use or quality of any e-mail or attachment and undertakes no liability for loss or damage, howsoever caused.
Re: How do I stop table cell wrapping?
You can do that whith the attribute wrap-option set to no-wrap like this : fo:table-cell fo:block wrap-option=no-wrap /fo:block fo:table-cell - Original Message - From: John Bourke [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, May 03, 2002 10:45 AM Subject: How do I stop table cell wrapping? Guys is there a way to stop cells in a table wrapping the text to the next line and simply cutting the data if it's longer than the cell width? I would think there may be some kind of attribute to do this? *** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorised distribution or copying is strictly prohibited. Whilst Cedar Plc takes steps to prevent the transmission of viruses via e-mail, we can not guarantee that any email or attachment is free from computer viruses and you are strongly advised to undertake your own anti-virus precautions. Cedar Plc grants no warranties regarding performance, use or quality of any e-mail or attachment and undertakes no liability for loss or damage, howsoever caused.
RE: How do I stop table cell wrapping?
Thanks Stephane I really appreciate that! -Original Message- From: Stéphane REYNIER [mailto:[EMAIL PROTECTED] Sent: 03 May 2002 10:16 To: [EMAIL PROTECTED] Subject: Re: How do I stop table cell wrapping? You can do that whith the attribute wrap-option set to no-wrap like this : fo:table-cell fo:block wrap-option=no-wrap /fo:block fo:table-cell - Original Message - From: John Bourke [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, May 03, 2002 10:45 AM Subject: How do I stop table cell wrapping? Guys is there a way to stop cells in a table wrapping the text to the next line and simply cutting the data if it's longer than the cell width? I would think there may be some kind of attribute to do this? *** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorised distribution or copying is strictly prohibited. Whilst Cedar Plc takes steps to prevent the transmission of viruses via e-mail, we can not guarantee that any email or attachment is free from computer viruses and you are strongly advised to undertake your own anti-virus precautions. Cedar Plc grants no warranties regarding performance, use or quality of any e-mail or attachment and undertakes no liability for loss or damage, howsoever caused.
AW: Problem after generating PDF
Hi! In my case, the following code worked: import java.io.*; import java.util.*; import org.xml.sax.InputSource; import org.xml.sax.XMLReader; import org.apache.fop.apps.Driver; import org.apache.fop.apps.Version; import org.apache.fop.apps.InputHandler; import org.apache.fop.apps.XSLTInputHandler; //import org.apache.log.*; public class generatePDF { public String Publish(String XMLfile, String XSLfile, String outFile) throws Exception { File MyXMLfile = new File(XMLfile); File MyXSLfile = new File(XSLfile); FileOutputStream MyOutputFile = new FileOutputStream(outFile); try { Driver driver = new Driver(); driver.setRenderer(Driver.RENDER_PDF); InputHandler inputHandler = new XSLTInputHandler(MyXMLfile, MyXSLfile); XMLReader parser = inputHandler.getParser(); driver.setOutputStream(MyOutputFile); driver.render(parser, inputHandler.getInputSource()); MyOutputFile.close(); } catch (Exception ex) { System.out.println(ex); } return built + outFile; } } Hope this helped you out, Tobi -Ursprüngliche Nachricht- Von: Ingo Peter [mailto:[EMAIL PROTECTED] Gesendet: Freitag, 3. Mai 2002 12:11 An: [EMAIL PROTECTED] Betreff: Problem after generating PDF Hi, I use fop embedded to generate pdf-files and it works very fine. But after generating the pdf, I have to close my java-application, because the the outputfile is still open. If I don't close my application acrobat tells me a locking-error. I use the example for empedding from apache: 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()); Is there any command to close the outputfile? thanks IP
Re: Problem after generating PDF
[..] Driver driver = new Driver(); driver.setRenderer(Driver.RENDER_PDF); InputHandler inputHandler = new XSLTInputHandler(xmlFile, xslFile); XMLReader parser = inputHandler.getParser(); / changes start here / FileOutputStream fos = FileOutputStream( outFile ); driver.setOutputStream( fos ); driver.render(parser, inputHandler.getInputSource()); fos.close(); / changes end here / Is that what you need? Ralf
Best coding practice.
Hi, Is there is any best practice for coding the XSL:FO, that is always 1. use xsl:template 2. check whether the element exist or not even for mandatory elements. My xsl is of 578 lines,Suddenly i felt that my code is not object oriented beacuse no where i have used xsl:template. I construct the PDF line after line.Does this affect the processing speed. Does using xsl:template increases the processing speed. Please comment. Regards Balaji http://messenger.yahoo.com.au - Yahoo! Messenger - A great way to communicate long-distance for FREE!
AW: Best coding practice.
Hello Balaji, I think if you don't use any xsl:template match=..., then the processing speed would be fastest, since the XSLT has nothing much to do just to write out what you have. If it is good practice is another story... Greetings, Patrick Dipl. Inform. Patrick Chaumette T-Systems ITS GmbH Service Prozesse Retail Hausanschrift: Fasanenweg 9, 70771 Leinfelden-Echterdingen Postanschrift: Postfach 100258, 70746 Leinfelden-Echterdingen Telefon: (0711)972-2437 Telefax: (0711)972-1949 E-Mail: [EMAIL PROTECTED] Internet: http://www.t-systems.de -Ursprüngliche Nachricht- Von: Balaji Loganathan [mailto:[EMAIL PROTECTED] Gesendet: Freitag, 3. Mai 2002 16:30 An: [EMAIL PROTECTED] Betreff: Best coding practice. Hi, Is there is any best practice for coding the XSL:FO, that is always 1. use xsl:template 2. check whether the element exist or not even for mandatory elements. My xsl is of 578 lines,Suddenly i felt that my code is not object oriented beacuse no where i have used xsl:template. I construct the PDF line after line.Does this affect the processing speed. Does using xsl:template increases the processing speed. Please comment. Regards Balaji http://messenger.yahoo.com.au - Yahoo! Messenger - A great way to communicate long-distance for FREE!
Re: Best coding practice.
Balaji, xsl:template mainly helps you split up your processing in handy parts that may even be reused instead of copy-pasted. Copy-Paste is often A Bad Thing (TM). That's probably one of the top ten best practices in every computer language. Processing speed is always one thing. Maintainability of code and code reuse are another. Sometimes they contradict each other. It does not always make sense to go for speed over maintenance costs. In the past I've often went for lower maintenance cost and it has almost always paid off. What I want to say is this: If you're doing quite a lot of XSLT you should learn how to work with templates. It will make life easier. As Patrick said xsl:template with a match attribute (probably!) won't be so fast, but a named template (xsl:template name=xy...) should be relatively fast. But don't take that as a definitive rule. Some things may be faster with one implementation of XSLT, slower with another. I know some people who have always asked for definitive and simple rules, but often they don't exist. Often you have to try something out and measure the performance. Then you change it if it's not good enough and measure again. Experimenting can help you get a feel on how fast certain things are. As for checking for mandatory elements there are several points to consider: - Structure checking (or in other words: Validation) is for DTDs and XML Schemas and the like... - ..., normally. You can of course let this checking code in your XSLT, but as soon as you're in production and you can rely on getting valid XML those checks are not really necessary. - If you have an unreliable source of XML (for example many different producers sending you XML Files of the Internet) then it's probably best to use XML Schema or DTD validation. My suggestion to you: Measure the performance of your current XSLT, then read into xsl:template and do a refactoring cycle structuring the code into handy parts using xsl:template, then measure again and decide which one of those two approaches you like more using the criterias: Speed, maintanability and possibility of code reuse. On 03.05.2002 16:29:35 Balaji Loganathan wrote: Hi, Is there is any best practice for coding the XSL:FO, that is always 1. use xsl:template 2. check whether the element exist or not even for mandatory elements. My xsl is of 578 lines,Suddenly i felt that my code is not object oriented beacuse no where i have used xsl:template. I construct the PDF line after line.Does this affect the processing speed. Does using xsl:template increases the processing speed. Please comment. Regards Balaji Cheers, Jeremias Maerki
Re: Basic-link problem in JSPs
Ralf Steppacher wrote: OK, I got rid of all the d-o-e. But the basic-links still are not present in the pdf generated by the embedded FOP but are if the .fo document is dumped to a file and then rendered using FOP from commandline. Can you post a trimmed down version of your source XML and the style sheet which demonstrates the problem? J.Pietschmann
Re: How do I stop table cell wrapping?
John Bourke wrote: Guys is there a way to stop cells in a table wrapping the text to the next line and simply cutting the data if it's longer than the cell width? I would think there may be some kind of attribute to do this? You probably want to use the overflow=clip property too, unfortunately, it isn't implemented yet in FOP. You'll have to clip at the XSLT level. There are various apporaches in the XSL list archive. J.Pietschmann
Re: Best coding practice.
Balaji Loganathan wrote: Hi, Is there is any best practice for coding the XSL:FO, that is always 1. use xsl:template 2. check whether the element exist or not even for mandatory elements. My xsl is of 578 lines,Suddenly i felt that my code is not object oriented beacuse no where i have used xsl:template. I construct the PDF line after line.Does this affect the processing speed. Does using xsl:template increases the processing speed. Please comment. For a start, you should be aware that you actually ask for coding XSLT, not XSLFO. They aren't the same things at all, even though they are usually used toghether. Another hint: using xsl:template has nothing to do with object orientation. XSLT is mainly a declarative language, the concept of object orientatitation is only relevant for advanced topics. However, using xsl:template usually makes transformations more robust, flexible, modular and easier to maintain. Regarding performance, using xsl:template will not improve processing speed. It will be slightly slower due to matching overhead, however, processors are specifically optimized for doing this, so there is no measurable performance loss from using xsl:template unless you have literally thousands of templates or hundreds of very badly designed templates. J.Pietschmann
RE: How do I stop table cell wrapping?
I seem to recall that the fo:block wrap-option=wrap | no-wrap attribute works in cells. -Original Message- From: J.Pietschmann [mailto:[EMAIL PROTECTED] Sent: Friday, May 03, 2002 4:12 PM To: [EMAIL PROTECTED] Subject: Re: How do I stop table cell wrapping? John Bourke wrote: Guys is there a way to stop cells in a table wrapping the text to the next line and simply cutting the data if it's longer than the cell width? I would think there may be some kind of attribute to do this? You probably want to use the overflow=clip property too, unfortunately, it isn't implemented yet in FOP. You'll have to clip at the XSLT level. There are various apporaches in the XSL list archive. J.Pietschmann
Re: Blank pages
Ralf Steppacher wrote: I wonder how I can procude legal empty pages (and then suppress them)? Forced blank pages are mainly created by page count constraints, for example a break-before=odd-page will insert a page break, and if the new page has an even page number, a blank page is inserted, and the flow continues on an odd page. You can also get blank pages by forcing page sequence to have an odd or even number of pages or to end with an odd or even page number by using the force-page-count property. I think there are a few more possibilities. You can define a page master specifically for blank pages in order to omit the usual headers and footers on such pages. You can use it also for creating This page is intentionally left blank markers and such stuff. Can I achieve an empty page not to be rendered? This could depend on what you mean by empty page. But i don't think so anyway. J.Pietschmann
RE: How do I stop table cell wrapping?
Now I get the whole picture thanks, -Original Message- From: J.Pietschmann [mailto:[EMAIL PROTECTED] Sent: Friday, May 03, 2002 5:20 PM To: [EMAIL PROTECTED] Subject: Re: How do I stop table cell wrapping? Matthew L. Avizinis wrote: I seem to recall that the fo:block wrap-option=wrap | no-wrap attribute works in cells. Yes, it works. However, if the content is too large for the cell, it will visibly overflow into whatever is further in inline progression direction (read: table cells to the right). The standard provides the property overflow=hidden (not =clip, sorry) to clip the overflowing content, and this doesn't work in FOP, at least for rendering PDF. J.Pietschmann
Absulute Pagenumber
Hi, first thanks for the last help generating pdf embedded. In the reference I find no reference for print the absolute pagecount on every page: Page: page-number of absolute-page Is there any solution for this problem...? thanks IP
Re: Blank pages
I wasn't precise enough in my first posting. Next try... I wonder how I can procude legal empty pages (and then suppress them)? Forced blank pages are mainly created by page count constraints, for example a break-before=odd-page will insert a page break [..]. My empty page results from missing content in the source XML file if the user does not select at least one topic on the web page to be rendered as pdf. The cover sheet with (an empty) TOC is generated OK by the stylesheet. Now the main content should be selected and put into the flow of a second page master: fo:page-sequence-master ... fo:page-sequence-master master-name=PageMasterTwo fo:repeatable-page-master-alternatives fo:conditional-page-master-reference master-reference=PageMasterTwoOne blank-or-not-blank=not-blank/ fo:conditional-page-master-reference master-reference=PageMasterTwoTwo blank-or-not-blank=blank/ /fo:repeatable-page-master-alternatives ... /fo:page-sequence-master fo:page-sequence master-reference=PageMasterTwo ... static content ... fo:flow flow-name=xsl-region-body xsl:apply-templates select=company_info/ xsl:apply-templates select=address_list/ ... other templates ... /fo:flow /fo:page-sequence The problem arises if there are no nodes company_info, address_list, etc.: The FO produced is an empty flow. fo:flow flow-name=xsl-region-body/ I thought this would result in an empty page and my page master with condition blank would be selected. Instead I get the error message from FOP (see my first posting). I played a bit with the fo and got the results stated in my first posting. Thanks again! Ralf
Re: Absulute Pagenumber
Ingo Peter wrote: In the reference I find no reference for print the absolute pagecount on every page: Page: page-number of absolute-page Is there any solution for this problem...? It's an old hat, the list archives as well as the FO part of the XSL FAQ have solutions. Put an id on some block element which will end up on the last page, for example an empty block, and refer to it. Code snippet: fo:page-sequence master-reference=... fo:static-content fo:block text-align=end fo:page-number/ of fo:page-number-citation ref-id=last/ /fo:block /fo:static-content fo:flow ... fo:block id=last/ /fo:flow /fo:page-sequence Be aware of some pitfalls: you'll get a page number, not a page count, so it won't work if you use multiple page sequences with discountinuous numbering. And worst of all: you are generating a forward reference, forcing FOP to hold all pages in memory. J.Pietschmann
Re: [ERROR]: Don't know what to do with
Because of a licensing issue, you now need to download jimi-1.0.jar from the sun website. Check the fop website for more information Carlos On 05/02/02 1:55, L'eau [EMAIL PROTECTED] wrote: Ok, so I had the time to download an old FOP version, and was glad to see it had a jimi-1.0.jar in it! It works to a degree. I did this: C:\xsl\buildFop list.fo list.pdf Now I get the following error message now: [ERROR]: Don't know what to do with .and that's it. It doesn't even tell me what it doesn't know what to do with. I'm stumped and baffled. Devon PS. who would I write to, to let Apache know that their latest FOP package is missing a jimi-1.0.jar? I can only imagine how many other people are having a problem and giving up. __ Do You Yahoo!? Yahoo! Health - your guide to health and wellness http://health.yahoo.com
How to start New page for every category
Hello everybody i have an xml file which contrain categories and each category cotain some article something like this : category category-nameCategory 1/category-name article article-no/article-no descriptionArticle-1 test desc/description cost amount15.25/amount unitEURO/unit /cost image3174.jpg/image /article article article-no/article-no descriptionArticle-2 test desc/description cost amount15.25/amount unitEURO/unit /cost image3174.jpg/image /article/category .. xml file contain more than one category and i'd ike to start a new page with every category in the PDF file anyone can help me thanx
RE: : XML - MS Word??
A little late but I'm sure this will end it anyway. Everything you need to know is the schemas microsoft is using (for Word, Excel, etc.) Go to http://msdn.microfost.com/library then navigate as follows on the left tree structure: Office Solutions Development Microsoft Office Microsoft Office 2000 Microsoft Office HTML and XML Reference Even if it is outside of the scope of FOP, still it is a kind market competitor. I always have the same deliver-me-in-excel request, specially from upper management. -Original Message- From: Bart Locanthi [mailto:[EMAIL PROTECTED] Sent: Monday, March 04, 2002 10:37 AM To: [EMAIL PROTECTED] Subject: Re: : XML - MS Word?? exactly how ghastly are you talking here? is the format [snort] published anywhere? Michiel Verhoef wrote: To top all: it is even quite simple. For a project we had to produce MS Excel files fromXML, using XSLT. As we didn't have a clue about Microsoft formats etc we figured: why not produce this ghastly MS-HTML and see what that does for us?
Re: Memory usage on lage documents
Memory usage is the weakness of FOP. But you should try to increase the memory available for your JVM, using java -Xms100m -Xmx250m (for example). And if tou have big tables, you should generate page-sequence breaks. Hi there folks! I've a question regarding the memory usage of the fop formatter with large documents. I'm rendering a large list with about 450 pages and 1 table entries. When i look ad the memory usage of the fop formatter in my win32 enrironment, i see that it consumes about 180 MBytes of memory and it needs a lot of time to complete its work! Is there any way to make it faster or to let it use not so much memory without throwing an out ot memory error? Is there any c++ formatter out there that is open source and can do the work faster and without so much memory usage? Thanks a lot Mirko
AW: Memory usage on lage documents
Hi there again! Thanks for your help. I think you are right and my extremly long page sequences are the matter. In fact, i have only one page-sequence. The problem is, i cannot create multiple page sequences because i do not know where to break my pages. Every table-row in my document is unique and so i do not know where to break. I could limit the page-sequence to let me say 20 rows per page, but this would destroy my cool report layout ( I know that sounds silly but you know customers whishes !!! ) Is there any other way? Bye Mirko -Ursprungliche Nachricht- Von: Cyril Rognon [mailto:[EMAIL PROTECTED] Gesendet: Montag, 6. Mai 2002 16:49 An: [EMAIL PROTECTED] Betreff: Re: Memory usage on lage documents Mirko, there are many post on this list that point out the weaknesses of the FOP engine. The main enemies are : long page sequence and forward references. If you use long tables, then you most certainly have long page sequences. If you have logical page break in your tables, please, change your XSLT code to generate page-sequence break in your tables. The shortest page sequence the least memory used. As for the lot of time to complete the work, it appear that forward reference may be responsible for this. I hav had the same proble for 400 to 1000 pages documents that have the famous total number of pages at the bottom of every pages. I have successfully set up an unclean workaround : I generate my total number of pages after PDF generation is complete using iText software. I even generate my toc at the end of the fo file and then I move it at the top of the document and then write the number of pages at the right place on every pages. This is pretty simple if you look at iText sample code (itext.sourceforge.net). The last thing : C++ or C or ASM formatter won't help much because it is the global design that makes FOP slow and memory consumer. The redesign is on it's way. The workarounds I have mentionned are just gizmo to allow one to wait for the next generation of FOP. Hope that helps, Cyril At 16:29 06/05/2002 +0200, you wrote: Hi there folks! I've a question regarding the memory usage of the fop formatter with large documents. I'm rendering a large list with about 450 pages and 1 table entries. When i look ad the memory usage of the fop formatter in my win32 enrironment, i see that it consumes about 180 MBytes of memory and it needs a lot of time to complete its work! Is there any way to make it faster or to let it use not so much memory without throwing an out ot memory error? Is there any c++ formatter out there that is open source and can do the work faster and without so much memory usage? Thanks a lot Mirko
Image resize problem
The BMP and GIF images in my PDFs look fine, but when I use the PCL renderer to print, my images shrink down about 50%. Has anyone seen this and is there a workaround? Thanks!
Java 1.1.x
I have a client who is using a Domino server. Domino only supports the Java 1.1.8 SDK. I have been unable to find a version of FOP that will run with this SDK. Does anyone have any suggestions? Thank you in advance, Kendall Adkins [EMAIL PROTECTED]
Re: DTD name retrieving
Marie Steinberg wrote: I would like retrieve DTD name (of xml) in my xsl stylesheet with solution that compile with FOP. Is there solution using Java class ? First question: what is the DTD name: the system identifier (usually a file name or URL), the optional public identifer, or the name of the document element? There is no standardized mechanism to get either the system or the public identifier from within XSLT. You'll have to pass it as a parameter, or use an extension function. There isn't a standard Java API method to retrieve them either. Why do you think you need it? There are not much use cases, and none in connection with generating FO that I am aware of. J.Pietschmann
Re: Java 1.1.x
Kendall Adkins wrote: I have a client who is using a Domino server. Domino only supports the Java 1.1.8 SDK. I have been unable to find a version of FOP that will run with this SDK. Does anyone have any suggestions? Recent FOP versions need JDK1.2, perhaps even 1.3. I think you should look for 0.18 or even 0.17 on the old versions archive. Pleas do not crosspost such questions to fop-dev. J.Pietschmann
RE: Memory usage on lage documents
If you know that none of your table cells are going to wrap you could count rows at the XSLT level and put in a new page sequence every x pages. This defeats a lot of the elegance of FOP, but could work. My problem is I have lots of random cell-wrapping, and I'm not about to start trying to calculate in my XSLT when FOP will wrap a cell. Matt Savino -Original Message- From: Mirko Sertic [mailto:[EMAIL PROTECTED] Sent: Monday, May 06, 2002 8:00 AM To: [EMAIL PROTECTED] Subject: AW: Memory usage on lage documents Hi there again! Thanks for your help. I think you are right and my extremly long page sequences are the matter. In fact, i have only one page-sequence. The problem is, i cannot create multiple page sequences because i do not know where to break my pages. Every table-row in my document is unique and so i do not know where to break. I could limit the page-sequence to let me say 20 rows per page, but this would destroy my cool report layout ( I know that sounds silly but you know customers whishes !!! ) Is there any other way? Bye Mirko -Ursprungliche Nachricht- Von: Cyril Rognon [mailto:[EMAIL PROTECTED] Gesendet: Montag, 6. Mai 2002 16:49 An: [EMAIL PROTECTED] Betreff: Re: Memory usage on lage documents Mirko, there are many post on this list that point out the weaknesses of the FOP engine. The main enemies are : long page sequence and forward references. If you use long tables, then you most certainly have long page sequences. If you have logical page break in your tables, please, change your XSLT code to generate page-sequence break in your tables. The shortest page sequence the least memory used. As for the lot of time to complete the work, it appear that forward reference may be responsible for this. I hav had the same proble for 400 to 1000 pages documents that have the famous total number of pages at the bottom of every pages. I have successfully set up an unclean workaround : I generate my total number of pages after PDF generation is complete using iText software. I even generate my toc at the end of the fo file and then I move it at the top of the document and then write the number of pages at the right place on every pages. This is pretty simple if you look at iText sample code (itext.sourceforge.net). The last thing : C++ or C or ASM formatter won't help much because it is the global design that makes FOP slow and memory consumer. The redesign is on it's way. The workarounds I have mentionned are just gizmo to allow one to wait for the next generation of FOP. Hope that helps, Cyril At 16:29 06/05/2002 +0200, you wrote: Hi there folks! I've a question regarding the memory usage of the fop formatter with large documents. I'm rendering a large list with about 450 pages and 1 table entries. When i look ad the memory usage of the fop formatter in my win32 enrironment, i see that it consumes about 180 MBytes of memory and it needs a lot of time to complete its work! Is there any way to make it faster or to let it use not so much memory without throwing an out ot memory error? Is there any c++ formatter out there that is open source and can do the work faster and without so much memory usage? Thanks a lot Mirko
Re: DTD name retrieving
First question: what is the DTD name: the system identifier (usually a file name or URL), the optional public identifer, or the name of the document element? The DTD name is the name of the DTD file, for example: 'foo.dtd'. is it the system identifier ? There is no standardized mechanism to get either the system or the public identifier from within XSLT. You'll have to pass it as a parameter, or use an extension function. There isn't a standard Java API method to retrieve them either. I used the following solution but it isn't run with fop: ** foo.xsl * ?xml version=1.0 ? xsl:stylesheet xmlns:xsl=http://www.w3.org/1999/XSL/Transform; xmlns:msxsl=urn:schemas-microsoft-com:xslt xmlns:utilitaires=urn:x-msxsl-script:mes-utilitaires exclude-result-prefixes=msxsl utilitaires version=1.0 msxsl:script language=JScript implements-prefix=utilitaires![CDATA[ function doctypeSystemID(domNodeList) { var result = domNodeList.item(0).doctype.xml, suffix_index, i, docURL, docPath; suffix_index = result.indexOf(.dtd\); i = result.substring(0, suffix_index).lastIndexOf(\); result = result.substring(i + 1, suffix_index + 4); docURL = domNodeList.item(0).url; docPath = docURL.substring(0, docURL.lastIndexOf(/) + 1); result = docPath + result; return ( result ); } ]]/msxsl:script xsl:template match=/ htmlbody h1Document source DTD :/h1 xsl:value-of select=utilitaires:doctypeSystemID(/) / /body/html /xsl:template /xsl:stylesheet Why do you think you need it? There are not much use cases, and none in connection with generating FO that I am aware of. I need it because I build a technical document within I must display it. Thank you, Marie -- Profitez des 2 offres exceptionnelles Tiscali ! Internet Gratuit le Jour et Modem ADSL remboursé Cliquez ici, http://register.tiscali.fr/forfaits_ls/ Offres soumises à conditions.
AW: Java 1.1.x
Hello, I had also problems compiling FOP-0.20.3 with JDK 1.2. For example some changes in AWTFontMetrics concerning Fonts are not portable on JDK1.2. The release notes should be changed to reflect this. They still say JDK 1.2(or later) is required. Since I didnt want i18n support I could take the older versions of those files and do a custom build. I also removed all batik related stuff, since I dont use any SVG, and so can use FOP on a Websphere in a EJB context. Greetings, Patrick Dipl. Inform. Patrick Chaumette T-Systems ITS GmbH Service Prozesse Retail Hausanschrift: Fasanenweg 9, 70771 Leinfelden-Echterdingen Postanschrift: Postfach 100258, 70746 Leinfelden-Echterdingen Telefon: (0711)972-2437 Telefax: (0711)972-1949 E-Mail: [EMAIL PROTECTED] Internet: http://www.t-systems.de -Ursprüngliche Nachricht- Von: Peter B. West [mailto:[EMAIL PROTECTED] Gesendet: Dienstag, 7. Mai 2002 02:30 An: [EMAIL PROTECTED] Betreff: Re: Java 1.1.x Kendall, You might want to examine this thread: http://marc.theaimsgroup.com/?l=fop-devm=101551941500565w=4 I don't know whether this is the only problem of the migration to 1.2/1.3. If it were, you could copy the source tree, and use a find and a perl one-liner to change all of the occurrences. Not nice, and nasty to keep up-to-date, but it may be a way out. If it were not, you will have to follow Joerg's suggestion. Does anyone else know what the relevant incompatibilities are? Peter J.Pietschmann wrote: Kendall Adkins wrote: I have a client who is using a Domino server. Domino only supports the Java 1.1.8 SDK. I have been unable to find a version of FOP that will run with this SDK. Does anyone have any suggestions? Recent FOP versions need JDK1.2, perhaps even 1.3. I think you should look for 0.18 or even 0.17 on the old versions archive.
Re: Basic-link problem in JSPs
First of all: Thank you very much for your help! fo:basic-link internal-destination=addressListHeading fo:page-number-citation color=blue ref-id=addressListHeading/ /fo:basic-link This is the real problem. You probably noticed that the link area is not the whole page number, in particular with multiple digit page numbers. Yes, that is right. I will follow your advise and use the headline text as link area. Your style sheet appear to be a bit more convoluted than usual. Some other hints: xsl:template match=address_list/row/* mode=address_list xsl:choose xsl:when test=local-name()='ZIP_CODE_CITY' xsl:call-template name=plzOrtRow If this comes directly from your original style sheet, you should better use matching precise templates instead of piping everything into a match-all and then use a choose in it. Is this just a matter of style or do exact templates perform better? There is not all that much value in abstracting really low-level stuff like table cell generation. Hm, I generate quite a lot of cells (the document contains only tables) and thought that a template for generating cells would reduce filesize and improve readability of the stylesheet. Thanks for your hints!!! Ralf
MissingResourceException
I'm trying to upgrade from FOP 0.20.1 to 0.20.3. I do my development within the VisualAge 3.5.3 IDE. When trying to create a PDF using FOP 0.20.3, I get the following error: java.lang.ExceptionInInitializerError: java.util.MissingResourceException: Can't find resource for base name org.apache.batik.util.resources.XMLResourceDescriptor, locale en_US The PDF is simple. There is only one graphic (repeated on every page header) and just text -- no SVG or anything. I have Batik, LogKit, and Avalon in my classpath as projects, so I don't think it is a classpath issue, but I'm just not sure. Any help is greatly appreciated. Thanks!!
MissingResourceException
I'm trying to upgrade from FOP 0.20.1 to 0.20.3. I'm developing within the VisualAge for Java 3.5.3 IDE. When trying to create a PDF using FOP 0.20.3, I get the following error message: java.lang.ExceptionInInitializerError: java.util.MissingResourceException: Can't find resource for base name org.apache.batik.util.resources.XMLResourceDescriptor, locale en_US The PDF itself is simple. There is only one graphic, appearing in the header of each page, and no SVG graphics, just text. I have Batik, LogKit, and Avalon in the classpath as projects, so I don't think it's a classpath issue, but I'm just not sure. Any help is greatly appreciated. Thanks!
Tables in Inline Object
Hello, I would like to have 2 tables side by side on a single page. +---+---+ +---+---+ | | | | | | | T1 | | T2 | | | | | | | +---+---+ +---+---+ I try to do this by using fo:inline but it doesn't work? Is there another solution? Thank!
X-Y Text positioning
Guys, Do you know if FOP explicitly supports absolute X-Y placement of data on a page, i.e. put this text right here, 6 cm down from the top left corner and 4 cm in from the left edge? John *** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorised distribution or copying is strictly prohibited. Whilst Cedar Plc takes steps to prevent the transmission of viruses via e-mail, we can not guarantee that any email or attachment is free from computer viruses and you are strongly advised to undertake your own anti-virus precautions. Cedar Plc grants no warranties regarding performance, use or quality of any e-mail or attachment and undertakes no liability for loss or damage, howsoever caused.
AW: X-Y Text positioning
Hello John I use with FOP 0.20.3 the following: fo:static-content flow-name=xsl-region-before fo:block-container position=absolute top=4.5cm left=13cm width=7.2cm height=0.8cm fo:block border-style=solid border-color=redI am here/fo:block /fo:block-container /fo:static-content It positions where I set it, relative to the xsl-region-before margins. Hope this helps, greetings, Patrick. Dipl. Inform. Patrick Chaumette T-Systems ITS GmbH Service Prozesse Retail Hausanschrift: Fasanenweg 9, 70771 Leinfelden-Echterdingen Postanschrift: Postfach 100258, 70746 Leinfelden-Echterdingen Telefon: (0711)972-2437 Telefax: (0711)972-1949 E-Mail: [EMAIL PROTECTED] Internet: http://www.t-systems.de -Ursprüngliche Nachricht- Von: John Bourke [mailto:[EMAIL PROTECTED] Gesendet: Dienstag, 7. Mai 2002 17:29 An: Fop Users (E-mail) Betreff: X-Y Text positioning Guys, Do you know if FOP explicitly supports absolute X-Y placement of data on a page, i.e. put this text right here, 6 cm down from the top left corner and 4 cm in from the left edge? John ** * This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorised distribution or copying is strictly prohibited. Whilst Cedar Plc takes steps to prevent the transmission of viruses via e-mail, we can not guarantee that any email or attachment is free from computer viruses and you are strongly advised to undertake your own anti-virus precautions. Cedar Plc grants no warranties regarding performance, use or quality of any e-mail or attachment and undertakes no liability for loss or damage, howsoever caused. ** **
step-by-step instructions how to print Chinese in PDF?
I have to print documents with Chinese (and other languages). I couldn't find a clear instruction how to do it. Can anybody help? \fop-0.20.3\docs\examples\advanced folder didn't help me much. thanx, Argyn
sup with fo
Hello, I have 5*10sup5/sup in my xml file and trying to do a superscript using the following xsl lines. Unfortunately, this does nothing. Any clue??? xsl:template match=//sup fo:inline baseline-shift=sup font-size=3px xsl:apply-templates/ /fo:inline /xsl:template Thanks Mathy
Re: MissingResourceException
I also get this error: java.lang.NoClassDefFoundError: XMLResourceDescriptor java.lang.Throwable(java.lang.String) java.lang.Error(java.lang.String) java.lang.LinkageError(java.lang.String) java.lang.NoClassDefFoundError(java.lang.String) void org.apache.fop.svg.SVGElementMapping.setupSVG() void org.apache.fop.svg.SVGElementMapping.setupSVG() void org.apache.fop.svg.SVGElementMapping.addToBuilder(org.apache.fop.fo.TreeBuilder) void org.apache.fop.apps.Driver.addElementMapping(org.apache.fop.fo.ElementMapping) void org.apache.fop.apps.Driver.addElementMapping(java.lang.String) void org.apache.fop.apps.Driver.setupDefaultMappings() org.apache.fop.apps.Driver() But I can't find any reference to an XMLResourceDescriptor class anywhere. [EMAIL PROTECTED] aul.com To: [EMAIL PROTECTED] cc: 05/07/2002 09:17 Subject: MissingResourceException AM Please respond to fop-user I'm trying to upgrade from FOP 0.20.1 to 0.20.3. I'm developing within the VisualAge for Java 3.5.3 IDE. When trying to create a PDF using FOP 0.20.3, I get the following error message: java.lang.ExceptionInInitializerError: java.util.MissingResourceException: Can't find resource for base name org.apache.batik.util.resources.XMLResourceDescriptor, locale en_US The PDF itself is simple. There is only one graphic, appearing in the header of each page, and no SVG graphics, just text. I have Batik, LogKit, and Avalon in the classpath as projects, so I don't think it's a classpath issue, but I'm just not sure. Any help is greatly appreciated. Thanks!
Re: Basic-link problem in JSPs
Ralf Steppacher wrote: If this comes directly from your original style sheet, you should better use matching precise templates instead of piping everything into a match-all and then use a choose in it. Is this just a matter of style or do exact templates perform better? A matter of robustness and maintainability. Just add templates instead of adding when-clauses, perhaps with ever more intricate conditions. In general, templates are slower but there is rarely a mesurable difference (you need hundreths of matching tamplates). Hm, I generate quite a lot of cells (the document contains only tables) and thought that a template for generating cells would reduce filesize and improve readability of the stylesheet. The verbose call-template syntax doesn't reduce the filesize either, and named template invocations can really hide what's going on. But it's your choice. Try both on a small part and see what fits you better. J.Pietschmann
Re: DTD name retrieving
Marie Steinberg wrote: The DTD name is the name of the DTD file, for example: 'foo.dtd'. is it the system identifier ? This is the system identifier. I used the following solution but it isn't run with fop: ** foo.xsl * ?xml version=1.0 ? xsl:stylesheet xmlns:xsl=http://www.w3.org/1999/XSL/Transform; xmlns:msxsl=urn:schemas-microsoft-com:xslt You need MSXML to run it. If you are runing your stuff from the command line, try to get the file name elswhere and pass it as a parameter to the style sheet: Xalan -in foo.xml -xsl foo-transform.xsl -out foo.fo -param dtdname 'foo.dtd' In the style sheet xsl:param name=dtdname/ Alternatively you can write your own wrapper, retrieving the system identifer from the DOM using JAXP. I have the code somewhere else, will post it tomorrow. J.Pietschmann
Re: MissingResourceException
[EMAIL PROTECTED] wrote: When trying to create a PDF using FOP 0.20.3, I get the following error: java.lang.ExceptionInInitializerError: java.util.MissingResourceException: Can't find resource for base name org.apache.batik.util.resources.XMLResourceDescriptor, locale en_US The PDF is simple. There is only one graphic (repeated on every page header) and just text -- no SVG or anything. FOP tries to initialize parts of Batik nevertheless, unless you do a custom build without Batik. Well, perhaps it is sufficient to remove the SVG mappings from the config.xml file in the jar. It still ought to be either a classpath problem or a version clash. J.Pietschmann
Re: Tables in Inline Object
joseph berdat wrote: I would like to have 2 tables side by side on a single page. +---+---+ +---+---+ | | | | | | | T1 | | T2 | | | | | | | +---+---+ +---+---+ I try to do this by using fo:inline but it doesn't work? It shouldn't. You would have to use fo:inline-container but this isn't implemented in FOP yet. The generic answer is to put the tables into blind table: +-+ | +---+---+ +---+---+ | | | | | | | | | | | T1 | | T2 | | | | | | | | | | | +---+---+ +---+---+ | +-+ Don't set a border on the outer table, it's just there for demonstration. You can also try a two-column setup of the page, list-block and absolutely placed block containers, whatever fits best. J.Pietschmann
Re: step-by-step instructions how to print Chinese in PDF?
Argyn Kuketayev wrote: I have to print documents with Chinese (and other languages). I couldn't find a clear instruction how to do it. Find a font containing glyphs for your script. Configure it for use by FOP as describet in docs/html-docs/fonts.html Use an XML capable editor which allows you to input the characters directly and encodes the file as UTF-8 or UTF-16 or some ISO-8859-* (that's what you see in test_ja.fo), or use an ASCII-editor and use XML character references (something like #x2126;, which would give you an Ohm sign, the same glyph as greek upper case omega). The Unicode consortium http://www.unicode.org has character tables online. J.Pietschmann
Re: sup with fo
Hmmm.. I have tried baselin-shift to super. I think the problem is with my xml file :). Instead of having supertag in xml, I have the entity representation of the tag.. meaning I have lt;supergt;. So, by doing the search for the tag super does not help. Any advice Thanks J.Pietschmann Mathy J.Pietschmann wrote: Mathy V Arumugam wrote: Hello, I have 5*10sup5/sup in my xml file and trying to do a superscript using the following xsl lines. Unfortunately, this does nothing. Any clue??? xsl:template match=//sup fo:inline baseline-shift=sup font-size=3px Try baseline-shift=super, http://www.w3.org/TR/xsl/slice7.html#baseline-shift J.Pietschmann
xml/xsl pdf servlet output problem
i'm using the SimpleServlet which was posted prior (and attached). it works great with a .fo http://localhost:8088/fop/fop?fo=c:/dev/tmp/table.fo the trouble i'm seeing is this. using a very simple .xsl and .xml, the output is not getting sent to the outputstream, *however* the PDF is getting generated properly. i know this cuz i created a temporary file using the output contents and write it to my filesystem and can load this file fine. there are no errors generated (except stuff about fonts, with the .fo version spews as well), and all that is returned is a blank/white page. http://localhost:8088/fop/fop?xml=sample.xmlxsl=sample.xsl i attached the simpleservlet.java (with the mod to write out a file to c:/temp/foo.pdf), and my basic .xsl and .xml anybody seen this? rich SimpleServlet.java Description: Binary data sample.xsl Description: Binary data sample.xml Description: Binary data
xml-pdf servlet output timeout
Hi, I had writen a servlet who generates a dynamic PDF document with a long elaboration time (some minutes). In the mean time the client browser that had made the servlet request, shows the errors HTTP 500 - Internal server error or Unable to find the server or DNS error. The servlet elaboration continue without exception and produces the document ... but the result never arrives to the client. Someone knows more about this problem? Thanks Roberto Bonsignori
RE: xml/xsl pdf servlet output problem
Does it work in Netscape? It is probably the very annoying bug in Internet Explorer there is a lot of information in the fop-user archives, e.g.: http://marc.theaimsgroup.com/?l=fop-userm=101898344218255w=2 http://marc.theaimsgroup.com/?l=fop-userm=101900052502730w=2 You could try: http://localhost:8088/fop/fop?xml=sample.xmlxsl=sample.xsldummy=.pdf (that is, you add dummy=.pdf at the and of the url, so IE sees that extension just a guess, better explanation in the archives Peter i'm using the SimpleServlet which was posted prior (and attached). it works great with a .fo http://localhost:8088/fop/fop?fo=c:/dev/tmp/table.fo the trouble i'm seeing is this. using a very simple .xsl and .xml, the output is not getting sent to the outputstream, *however* the PDF is getting generated properly. i know this cuz i created a temporary file using the output contents and write it to my filesystem and can load this file fine. there are no errors generated (except stuff about fonts, with the .fo version spews as well), and all that is returned is a blank/white page.
first page must have no page number
I tried implementing this with two page-master's but failed- could someone please pass me the code to implement this. thanx -- Eric Smith
RE: xml-pdf servlet output timeout
Perhaps not a direct solution - but for large documents I try to kick off the process asyncronously with JMS. I have also found- due to unreliable browser rendering of pdf documents that storing the generated document as a file in a temporary directory works well. Because there is an asyncronous process, we have to poll to determine when the document is complete. Hope this is helpful Neil Wright -Original Message- From: bonsigno [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 08, 2002 3:18 AM To: [EMAIL PROTECTED] Subject: xml-pdf servlet output timeout Importance: High Hi, I had writen a servlet who generates a dynamic PDF document with a long elaboration time (some minutes). In the mean time the client browser that had made the servlet request, shows the errors HTTP 500 - Internal server error or Unable to find the server or DNS error. The servlet elaboration continue without exception and produces the document ... but the result never arrives to the client. Someone knows more about this problem? Thanks Roberto Bonsignori
import/include
Hi, Ofcourse this is a XSL question.Does using import/include increases the processing speed. I'm using Xalan and Fop. I tried importing a xsl with 43 variables instead of declaring them inside the main xsl.I didn't see any processing speed difference,I used my stop watch :-) to chk it. Regards Balaji. http://messenger.yahoo.com.au - Yahoo! Messenger - A great way to communicate long-distance for FREE!
Re: import/include
Balaji Loganathan wrote: Ofcourse this is a XSL question. I beleive xsl-list maillist (http://www.mulberrytech.com/xsl/xsl-list) is a better place for xslt-related questions. Does using import/include increases the processing speed. I don't think so, these facilities (like in others languages) are provided primarily for code reusing and structuring. I'm using Xalan and Fop. I tried importing a xsl with 43 variables instead of declaring them inside the main xsl.I didn't see any processing speed difference,I used my stop watch :-) to chk it. Think about using the same variables in another stylesheet in order to see benefits. -- Oleg Tkachenko Multiconn International, Israel
Page Borders
Guys have any of you used page borders with FOP, I can't get it to render them yet if I try my XSL-FO in Antenna House's evaluation package they are rendered as you would expect. Does FOP not implement this yet, I'm using 0.20.3 John *** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorised distribution or copying is strictly prohibited. Whilst Cedar Plc takes steps to prevent the transmission of viruses via e-mail, we can not guarantee that any email or attachment is free from computer viruses and you are strongly advised to undertake your own anti-virus precautions. Cedar Plc grants no warranties regarding performance, use or quality of any e-mail or attachment and undertakes no liability for loss or damage, howsoever caused.
Out of Memory Error !!
hi there !! i am getting out of memory error when i try to process a very large document containing a single fo:page-sequence tag a single fo:table tag. i have gone thru the mailing list looking for some solution to this problem but though the problems are similar i am not able to figure out the soluition in my case... as i cannot have more than one page-sequence to display my actual data... i want to know what can be done to get rid of this problem if some how i am able to break this page-sequence then i will be able to get rid of this problem... kindly help me out with this problem as i am a novice in with this FOP stuff.. if any further info is required then send a mail a [EMAIL PROTECTED] thanx lotza cheers !! Abhijat Upadhyay
Newbie question - underlining blank spaces.
Hi all. Is there any way to force FOP to underline a string, even if it is composed entirely of blank characters? I'm using fop-0.20.3, if that matters. I have a template which produces an underlined, fixed-length string in my pdf doc. It pads the string with spaces if necessary to make it the desired length. It works great, and a I get a padded string in the pdf document with the required length and everything is underlined. Great :-) The problem is when the string is composed entirely of blank spaces ... The string has the correct number of blank characters (white-space-collapse=false), but the string is not underlined. Is there a way to force FOP to underline a string, even if it is composed entirely of blank characters? Thanks for any help. Here is the template: !-- *** this is the format I want to use to display the string -- xsl:attribute-set name=dataText xsl:attribute name=font-familyCourier/xsl:attribute xsl:attribute name=font-size9pt/xsl:attribute xsl:attribute name=font-stylenormal/xsl:attribute xsl:attribute name=font-weightnormal/xsl:attribute xsl:attribute name=languageen-US/xsl:attribute xsl:attribute name=text-decorationunderline/xsl:attribute xsl:attribute name=white-space-collapsefalse/xsl:attribute /xsl:attribute-set !-- recursive template to pad a string with blanks -- xsl:template name=append-pad !-- the value with whatever padChar is passed in -- xsl:param name=padCharxsl:value-of select=' '//xsl:param xsl:param name=padVar/ xsl:param name=length/ xsl:choose !-- check here to see if the padVar is nil -- xsl:when test=boolean($padVar) xsl:choose xsl:when test=string-length($padVar) lt; $length xsl:call-template name=append-pad xsl:with-param name=padChar select=$padChar/ xsl:with-param name=padVar select=concat($padVar,$padChar)/ xsl:with-param name=length select=$length/ /xsl:call-template /xsl:when xsl:otherwisefo:inline xsl:use-attribute-sets=dataTextxsl:value-of select=concat(substring($padVar,1,$length),'#160;')//fo:inline/xsl:ot herwise /xsl:choose /xsl:when !-- *** if the padVar is nil, make a string of entirely blank space *** -- xsl:otherwise xsl:call-template name=append-pad xsl:with-param name=padChar select=$padChar/ xsl:with-param name=padVar select='#160;'/ xsl:with-param name=length select=$length/ /xsl:call-template /xsl:otherwise /xsl:choose /xsl:template -- Jack Donohue, Developer Synovation Incorporated. Providing integrated solutions for criminal justice. -- Tel 209.491.0978 x 409 Fax 209.571.8853 Support 209.491.3600 Toll Free 800.774.8430 -- http://www.synovation.com http://support.synovation.com
Re: Out of Memory Error !!
Hi Abhijit, Looks like it might be in a recursive mode or something. I am not totally aware of this kind or problem ,but how big is your document ? Are you using the combination of xml and xsl filer or just the fo file to print out in PDF? naveen Abhijat Upadhyay abhijat.upadhyayTo: '[EMAIL PROTECTED]' [EMAIL PROTECTED] @patni.com cc: Subject: Out of Memory Error !! 05/08/02 02:44 PM Please respond to fop-user hi there !! i am getting out of memory error when i try to process a very large document containing a single fo:page-sequence tag a single fo:table tag. i have gone thru the mailing list looking for some solution to this problem but though the problems are similar i am not able to figure out the soluition in my case... as i cannot have more than one page-sequence to display my actual data... i want to know what can be done to get rid of this problem if some how i am able to break this page-sequence then i will be able to get rid of this problem... kindly help me out with this problem as i am a novice in with this FOP stuff.. if any further info is required then send a mail a [EMAIL PROTECTED] thanx lotza cheers !! Abhijat Upadhyay
ANN: TIFFRenderer for FOP
Hello! For the people interested in faxing using xsl-fo and FOP I'm happy to announce TIFFRenderer for FOP. The homepage is at http://www.tkachenko.com/fop/tiffrenderer.html and here is some info: TIFFRenderer for FOP, version 0.9 TIFFRenderer is a small Java library extending Apache's FOP by providing possibility to output multi-page TIFF (Tagged Image File Format) images. [TIFF is one of the most popular and flexible of the current public domain raster file formats, which was primarily designed for raster data interchange and is standard format in faxing applications.] TIFFRenderer is not a real renderer on its own, it just extends org.apache.fop.render.awt.AWTRenderer class and encodes generated by that renderer AWT images to TIFF format. To actual encoding TIFFRenderer uses slightly modified free of charge open source TIFF codec [1] by Sun Microsystems, Inc. (Actually, a very similar TIFF codec is included in Batik distribution, but unfortunately it has very limited support for TIFF compression methods). TIFFRenderer has no dependencies on JAI, JIMI or other image processing libraries. For demonstration of using TIFFRenderer in a web application see TIFFRenderer Demo [2]. Features * Supported TIFF compression methods: o Raw uncompressed data o Byte-oriented run-length encoding PackBits compression o Modified Huffman Compression (CCITT Group 3 1D facsimile compression) o CCITT T.4 bilevel compression (CCITT Group 3 2D facsimile compression) o CCITT T.6 bilevel compression (CCITT Group 4 facsimile compression) o JPEG-in-TIFF compression o DEFLATE lossless compression (also known as Zip-in-TIFF) * Ability to add extra images before/after those generated by FOP. Requirements Not sure yet. Tested with FOP 0.20.3 under Sun JRE 1.3.1, 1.4. Definitely doesn't work under IBM JDK1.2.2 (WebShere 3.5) because of some bug in AWT implementation. Download and Installation * Compiled version: tifferenderer-0.9.jar (140 Kb) [3]. * Sources: tifferenderer-0.9-src.jar (180 Kb) [4]. Just put tiffrenderer-0.9.jar into the CLASSPATH. Testing: run TIFFRendererTest class with two arguments - xsl-fo file and tiff file to be generated (having fop related jars and tiffrenderer-0.9.jar in the CLASSPATH): java com.multiconn.fop.TIFFRendererTest table.fo table.tif Documentation See TIFFRenderer Javadoc [5]. Main pattern of using TIFFRenderer is a very primitive one: //Creates TIFFRenderer instance TIFFRenderer tiffRenderer = TIFFRendererFactory.newTIFFRenderer(); //Creates render/encode params collection TIFFRendererParams params = new TIFFRendererParams(); //Sets up params params.setCompression(TIFFRendererParams.COMPRESSION_GROUP3_1D); //Sets params to the renderer tiffRenderer.setRenderParams(params); //Sets renderer to the FOP driver driver.setRenderer(tiffRenderer); //Runs FOP driver.run(); See also TIFFRendererDemo servlet source [6] as example of using TIFFRenderer in a servlet. Licence issues TIFFRenderer is subject to the Mozilla Public License Version 1.0 and is distributed on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Original TIFF codec source code licence by Sun Microsystems, Inc.: JAI_1.1.1_sample_io_sourcecodelic.10_23_01.txt [7]. To be done * Diminish library size by eliminating duplicate classes, which are already in Batik jar. Feedback Any comments and suggestions would be greatly appreciated, feel free to contact me: [EMAIL PROTECTED]. Links: [1] http://developer.java.sun.com/developer/sampsource/jai [2] http://www.tkachenko.com/fop/TIFFRendererDemo [3] http://www.tkachenko.com/fop/tiffrenderer-0.9.jar [4] http://www.tkachenko.com/fop/tiffrenderer-0.9-src.jar [5] http://www.tkachenko.com/fop/tiffrenderer-doc/index.html [6] http://www.tkachenko.com/fop/TIFFRendererDemo/src/TIFFRendererDemoServlet.java [7] http://www.tkachenko.com/fop/JAI_1.1.1_sample_io_sourcecodelic.10_23_01.txt -- Oleg Tkachenko Multiconn International, Israel
fop-0.20.3 Don't know what to do with error
When I call the fop.bat that comes with fop-0.20.3 using a very simple hello world formatting object file in the same directory as fop.bat, I get an error that says (in its entirety) Don't know what to do with no matter what parameters I supply. This is under Win98, and the same fo input file works with the obvious parameters when I run it with the fop.bat in my Fop-0.18.1-DEV directory. I got the impression from another posting that getting jimi-1.0.jar would fix it, so I copied the Fop-0.18.1-DEV\lib one to fop-0.20.3\lib directory and that didn't help. I then got jimi1_0.zip from http://java.sun.com/products/jimi/, but its only jar file is JimiProClasses.jar. Anyway, according to http://xml.apache.org/fop/relnotes.html, jimi is only needed for PNG support, and the document has no pictures of any kind. Does anyone know what the problem might be? thanks, Bob DuCharme www.snee.com/bob bob@ snee.com The elements be kind to thee, and make thy spirits all of comfort! Anthony and Cleopatra, III ii
PDF embedding
What's the cleanest way to embedded a PDF inside a PDF file using FOP? Thanks much for the help. Patrick Lanphier The Artemis Group http://www.artemisgroup.com phone: 814-235-0444 fax: 800-582-9710
Re: PDF embedding
Patrick Lanphier wrote: What's the cleanest way to embedded a PDF inside a PDF file using FOP? You'll probably have to implement an extension element or an image handler. Alternatively, try iText http://www.lowagie.com to mix arbitrary PDF, including PDF generated by FOP and your existing PDF. J.Pietschmann
Re: xml-pdf servlet output timeout
bonsigno wrote: Hi, I had writen a servlet who generates a dynamic PDF document with a long elaboration time (some minutes). In the mean time the client browser that had made the servlet request, shows the errors HTTP 500 - Internal server error or Unable to find the server or DNS error. The servlet elaboration continue without exception and produces the document ... but the result never arrives to the client. Someone knows more about this problem? There are some HTTP tricks to keep the browser from getting a timeout. Multipart MIME may work, spawn the PDF generator off as Java thread, push some HTML saying Please Wait and a space every odd second (flush the stream), and push the PDF as the second part. (maybe this helps: http://lists.w3.org/Archives/Public/www-talk/2000NovDec/0064.html ) Another possibility is to use automatic refresh, again spawn the PDF generator, push a Please Wait HTML, if the PDF is requested again check whether there is the generator thread, if it's still working push the HTML again, otherwise send the PDF. J.Pietschmann
Re: Java 1.1.x
Hello Everyone, This is for those of you who are interested in running FOP under Java 1.1.8. I am successfully using version 0.17 in a servlet running on a Domino R5 Server. It was really not that hard to get going. The only real difficulty was in conforming to the version of FO-XML supported under version 0.17. Thanks for the feed back, Kendall Adkins Sr. Project Lead Infoadvantage, Inc. http://www.infoad.com [EMAIL PROTECTED] Peter B. WestTo: [EMAIL PROTECTED] [EMAIL PROTECTED] cc: p.com.auSubject: Re: Java 1.1.x 05/06/2002 07:30 PM Please respond to fop-user Kendall, You might want to examine this thread: http://marc.theaimsgroup.com/?l=fop-devm=101551941500565w=4 I don't know whether this is the only problem of the migration to 1.2/1.3. If it were, you could copy the source tree, and use a find and a perl one-liner to change all of the occurrences. Not nice, and nasty to keep up-to-date, but it may be a way out. If it were not, you will have to follow Joerg's suggestion. Does anyone else know what the relevant incompatibilities are? Peter J.Pietschmann wrote: Kendall Adkins wrote: I have a client who is using a Domino server. Domino only supports the Java 1.1.8 SDK. I have been unable to find a version of FOP that will run with this SDK. Does anyone have any suggestions? Recent FOP versions need JDK1.2, perhaps even 1.3. I think you should look for 0.18 or even 0.17 on the old versions archive.
Re: File seems to be kept open!
Mirko Sertic wrote: After the renderer has done its work, i want to delete my temp files. I can delete every temp file except the image files!!! (the java java.io.File.delete() method gives a false as return value, so the the file is not deleted and is still alive in my temp dir!!!). The files are automatically closed when the corresponding Java objects are garbage collected. This will happen sooner or later, so you can simply try to delete *all* temporary image files and ignore the ones which are not yet closed. Another possibility is to explicitely force garbage collection check the JavaDoc for the System or Runtime class. Be careful to set references to the driver object to null beforehand: driver.render(); driver=null; System.gc(); // or whatever J.Pietschmann
Re: Newbie question - underlining blank spaces.
Jack Donohue wrote: Is there any way to force FOP to underline a string, even if it is composed entirely of blank characters? I'm using fop-0.20.3, if that matters. Try something which results in fo:inline text-decoration=underline#x005F; #160;/fo:inline The first is the underline character, the last a non breaking space. J.Pietschmann
Re: fop-0.20.3 Don't know what to do with error
DuCharme, Bob (LNG) wrote: When I call the fop.bat that comes with fop-0.20.3 using a very simple hello world formatting object file in the same directory as fop.bat, I get an error that says (in its entirety) Don't know what to do with no matter what parameters I supply. This is under Win98, and the same fo input file works with the obvious parameters when I run it with the fop.bat in my Fop-0.18.1-DEV directory. I got the impression from another posting that getting jimi-1.0.jar would fix it, Hardly. The problem appears to be that the command line passed by the Win98 command processor to the JVM contains some character at the end which the JVM passes as additional parameter to the Java code (possibly a CR). This problem seems to be specific to the DOS based COMMAND.COM included in Win95/98/ME and some JVM versions. You could help by running the following test program with one or two arbitrary parameters and post the output. public class TestC { static final char[] hex={'0','1','2','3','4','5','6','7', '8','9','A','B','C','D','E','F'}; static public void main(String[] arg) { for( int i=0;iarg.length;i++ ) { byte[] b=arg[i].getBytes(); for( int j=0;jb.length;j++ ) { System.out.print(+hex[b[j]/16]+hex[b[j]%16]+' '); } System.out.println(); } } } There is no workaround known to me, you'll have to experiment by yourself a bit. Perhaps the problem goes away if you use the command line from the batch file directly instead of the file. J.Pietschmann
Re: first page must have no page number
Eric Smith wrote: I tried implementing this with two page-master's but failed- could someone please pass me the code to implement this. ?xml version=1.0 encoding=iso-8859-1? fo:root xmlns:fo=http://www.w3.org/1999/XSL/Format; fo:layout-master-set fo:simple-page-master master-name=regular page-height=29.7cm page-width=21cm margin-top=1cm margin-bottom=2cm margin-left=2.5cm margin-right=2.5cm fo:region-body margin-bottom=1.5cm/ fo:region-after extent=1.5cm/ /fo:simple-page-master fo:simple-page-master master-name=blank-footer page-height=29.7cm page-width=21cm margin-top=1cm margin-bottom=2cm margin-left=2.5cm margin-right=2.5cm fo:region-body margin-bottom=1.5cm/ /fo:simple-page-master fo:page-sequence-master master-name=pages fo:repeatable-page-master-alternatives fo:conditional-page-master-reference page-position=first master-reference=blank-footer / fo:conditional-page-master-reference page-position=rest master-reference=regular / /fo:repeatable-page-master-alternatives /fo:page-sequence-master /fo:layout-master-set fo:page-sequence master-reference=pages fo:static-content flow-name=xsl-region-after fo:blockfo:page-number//fo:block /fo:static-content fo:flow flow-name=xsl-region-body fo:blockStuff/fo:block fo:block break-before=pageStuff/fo:block /fo:flow /fo:page-sequence /fo:root J.Pietschmann
turn off logging
I attempted to turn off logging by adding the following to my servlet init routing: MessageHandler.setOutputMethod(MessageHandler.NONE) However, I still get all this stuff. I've search and trying to figure out how to configure the servlet/webapp to not print all this information. Is there a way to set the Logger? Thanks, Rich 5/8/02 12:39:20:936 HST] 65889399 SystemOut U [ERROR]: Logger not set [5/8/02 12:39:21:467 HST] 65889399 SystemOut U [INFO]: building formatting object tree [5/8/02 12:39:22:068 HST] 65889399 SystemOut U [INFO]: [1] [5/8/02 12:39:23:500 HST] 65889399 SystemOut U [INFO]: [2] [5/8/02 12:39:23:510 HST] 65889399 SystemOut U [INFO]: Parsing of document complete, stopping renderer [5/8/02 12:39:23:580 HST] 65889399 SystemOut U [ERROR]: Logger not set [5/8/02 12:39:23:590 HST] 65889399 SystemOut U [INFO]: building formatting object tree [5/8/02 12:39:23:740 HST] 65889399 SystemOut U [INFO]: [1] [5/8/02 12:39:23:941 HST] 65889399 SystemOut U [INFO]: [2] [5/8/02 12:39:23:951 HST] 65889399 SystemOut U [INFO]: Parsing of document complete, stopping renderer
what are the other third party softwares needed ?
To Run the FOP and see the output in PDF through IE or Netscape browser. Jar files from FOP lib directory, Adobe Acrobat Reader(is read only O.K, and which version?), Plugins for IE and Netscape(Isn't default when you install Adobe's Acrobat Reader?),Java 1.3(I am having this version).. Anything else i am missing ? I am using FOP 0.20.3 version. Thank you all for your help. naveen P.S: A special thanks to J.Pietschmann for all his time and help with various topics. How compelled you are to answer everyone's(almost) questions. just curious. do you keep waiting for people to post :)
Re: what are the other third party softwares needed ?
Seconded. Peter [EMAIL PROTECTED] wrote: P.S: A special thanks to J.Pietschmann for all his time and help with various topics.
RE: fop-0.20.3 Don't know what to do with error
You could help by running the following test program with one or two arbitrary parameters and post the output. Here you go... C:\tempjava TestC red green blue 72 65 64 67 72 65 65 6E 62 6C 75 65 C:\tempjava TestC aaa aa a 61 61 61 61 61 61 Why wouldn't I have a problem using Fop-0.18.1-DEV if I'm using the same JVM and Win98 command processor with that? thanks, Bob -Original Message- From: J.Pietschmann [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 08, 2002 5:24 PM To: [EMAIL PROTECTED] Subject: Re: fop-0.20.3 Don't know what to do with error DuCharme, Bob (LNG) wrote: When I call the fop.bat that comes with fop-0.20.3 using a very simple hello world formatting object file in the same directory as fop.bat, I get an error that says (in its entirety) Don't know what to do with no matter what parameters I supply. This is under Win98, and the same fo input file works with the obvious parameters when I run it with the fop.bat in my Fop-0.18.1-DEV directory. The problem appears to be that the command line passed by the Win98 command processor to the JVM contains some character at the end which the JVM passes as additional parameter to the Java code (possibly a CR). This problem seems to be specific to the DOS based COMMAND.COM included in Win95/98/ME and some JVM versions. You could help by running the following test program with one or two arbitrary parameters and post the output. public class TestC { static final char[] hex={'0','1','2','3','4','5','6','7', '8','9','A','B','C','D','E','F'}; static public void main(String[] arg) { for( int i=0;iarg.length;i++ ) { byte[] b=arg[i].getBytes(); for( int j=0;jb.length;j++ ) { System.out.print(+hex[b[j]/16]+hex[b[j]%16]+' '); } System.out.println(); } } } There is no workaround known to me, you'll have to experiment by yourself a bit. Perhaps the problem goes away if you use the command line from the batch file directly instead of the file. J.Pietschmann
Re: Out of Memory Error !!
The problem is probably your page-number-citation that looks up the last page. This is well known to have impact on memory usage, because FOP can render the first page only after the last page has been setup. It has to wait until it knows how many pages your page-sequence has. Take out the page-number-citation and look if the problems go away. I'm pretty sure they will. That means you might have to live with page x instead of page x of y for now. On 09.05.2002 11:18:59 Abhijat Upadhyay wrote: hi there !! i am sending u the code of my XSL and XML... though the code might be slightly big but if u r able to find a solution to it then nothing like it... this set of XSL and XML should be able to print around 300 - 500 pages but currently it prints hardly 40... THE XSL CODE: - snip/ Page #fo:page-number/ of xsl:value-of select=$page-count/ snip/ /xsl:stylesheet THE XML CODE: - library pagetitleList of Books/pagetitle book titleDiscovery of India/title authorPandit Jawaharlal Nehru/author publisherTata McGraw Hill/publisher cover type='paperback'/ category class='historical'/ isbn1-23-456-7890/isbn rating number='5'/ commentsTells about history of India right from its birth/comments /book ... mutiple book tags are there and finally the closing tag i.e. /library Currently i want to print around 3000 - 4000 rows of in a table in the PDF... but the total page count does not go beyond 40... actually it should go to 140... similarly if the number of rows increases then the number of pages will also increase. NOTE: - this is just anexample XML. Cheers, Jeremias Maerki
Page Numbering when using multiple fo:page-squence tags
hi there!! if i am using mutiple page sequence (these are generated thru an iterator like using xsl:for-each tag, phisically there's just one fo:page-sequence tag)... then i am not able to show Page X of Y correctly in my page... could someone give a solution for this Abhijat Upadhyay
Page X of Y Problem
hello FOPians !! i am having multiple page-sequence tags(being generated thru xsl:for-each tag) in my xsl... the problem is that i can get the total number of pages in my PDF but the current page number gets repeated after a few pages (i.e. when the page-sequence ends.) For example: - if each of my page-sequence generates 10 pages and totally i have 40 pages... then my footer shows Page 1 of 40... for first page... Page 2 of 40 for second page so on and so forth but the eleventh page shows Page 1of 40 where as it shud show me Page 11 of 40 if anyone has any solutions for this problem then kindly bail me out... ___ Abhijat Upadhyay Software Engineer Patni Computer Systems Limited Electronic Sadan - 3, TTC Industrial Area, Mahape, Navi Mumbai - 400 701 Tel: 91 22 761 1090 / 1105 ext. 2221 Fax: 91 22 761 9602 http://www.patni.com World-Wide Partnerships. World-Class Solutions. This e-mail message may contain proprietary, confidential or legally privileged information for the sole use of the person or entity to whom this message was originally addressed. Any review, e-transmission dissemination or other use of or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this e-mail in error kindly delete this e-mail from your records. If it appears that this mail has been forwarded to you without proper authority, please notify us immediately at [EMAIL PROTECTED] and delete this mail.
Newbie - kernning problem
Hi all, I'm having a kerning problem with text in fop. I've tried to use font-stretch and word-spacing to kern some text to exactly match a pre-printed form. Both give a not implemeted yet warning. Can anyone tell me how to kern text using FOP 0.20.3? Thanks, Bill
FOP and keep- * functions
I have read in various places that the keep- functions are not implemented in Apache fop. Is this slated to be in an upcoming release? If so, any idea when this might be available to try? Are there any reasonable work-arounds for different situations? Example Scenarios: a) In a table row when I have a cell that wraps around sometimes the wrapped text will appear on the next page when that row starts as the last available line of a page. b) I have a fixed group of rows (say 5) in a table that I would always like kept together, how to keep them from getting split up. TIA, Michelle
FOP Jars
Two questions: 1) The fop.bat file references the jar: lib\jimi-1.0.jar but I could not find this jar in the lib directory. 2) Are all of the jars referenced in the fop.bat, except the jimi-1.0.jar, required? Thank you in advance for your help, Sal Gandara eBuilt, Inc. 3540 Howard Way Costa Mesa, CA 92626 (949) 609-4724
RE: FOP Jars
Here is the jar file ... -Original Message- From: Gandara, Salvidor [mailto:[EMAIL PROTECTED] Sent: Thursday, May 09, 2002 02:38 p.m. To: '[EMAIL PROTECTED]' Subject: FOP Jars Two questions: 1) The fop.bat file references the jar: lib\jimi-1.0.jar but I could not find this jar in the lib directory. 2) Are all of the jars referenced in the fop.bat, except the jimi-1.0.jar, required? Thank you in advance for your help, Sal Gandara eBuilt, Inc. 3540 Howard Way Costa Mesa, CA 92626 (949) 609-4724 jimi-1.0.jar Description: Binary data
Re: FOP Jars
Sal- jimi-1.0.jar isn't necessary to run FOP, but if you want it, I'd suggest downloading it from Sun. It's not included with the FOP distribution because of licensing issues. I believe those same licensing issues would preclude people from sending the file around via e-mail, too, but IANAL. -Jeff Gandara, SalvidorTo: '[EMAIL PROTECTED]' [EMAIL PROTECTED] [EMAIL PROTECTED]cc: ilt.com Subject: FOP Jars 05/09/2002 03:37 PM Please respond to fop-user Two questions: 1) The fop.bat file references the jar: lib\jimi-1.0.jar but I could not find this jar in the lib directory. 2) Are all of the jars referenced in the fop.bat, except the jimi-1.0.jar, required? Thank you in advance for your help, Sal Gandara eBuilt, Inc. 3540 Howard Way Costa Mesa, CA 92626 (949) 609-4724
RE: step-by-step instructions how to print Chinese in PDF?
-Original Message- From: J.Pietschmann [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 07, 2002 5:02 PM To: [EMAIL PROTECTED] Subject: Re: step-by-step instructions how to print Chinese in PDF? Argyn Kuketayev wrote: I have to print documents with Chinese (and other languages). I couldn't find a clear instruction how to do it. Find a font containing glyphs for your script. Configure it for use by FOP as describet in docs/html-docs/fonts.html I installed W2k Pro, US version. I can see Chinese letters in IE. Now, how do make FOP show Chinese letters in my PDF? I don't see anything about Chinese letters in font metrics xml files. Btw, I don't speak Chinese :) I can't change locale or regional settings on the PC due to deployment restrictions. What glyphs are for Chinese? I'm using UTF-8 encoding. many thanks, Argyn
Q: Progress of implementing new features?
Hi, can someone tell me what the progress is in the implementation of features since the release of FOP0.20.3? Tnx in advance.
incorporating static pdf pages?
Is it possible in xsl-fo when generating a dynamic pdf to add static pdf pages that are contained in a separate pdf file into the final pdf? For example, 2 pages from a pdf file at start of document + dynamically generated xsl-fo + 2 pages from pdf file at end of document TIA, Michelle