RE: Why is FO(P) a superior model than what most proprietary tool s propose
I would agree with the last statement about a high performance commercial all Java FO-PDF. However, there is really no need. Would anybody be interested in working on FOP with payment leaving the licensing as is? This way everybody can benefit. Anybody with experience interested? Patrick Lanphier The Artemis Group http://www.artemisgroup.com phone: 814-235-0444 fax: 800-582-9710 On Tue, 30 Apr 2002, Savino, Matt C wrote: We're using FOP in a production environment to render some management reports and a very complicated lab report. We've had to limit the management reports to about 2000 rows (~50 page PDF) because of FOP's memory issues w/large PDFs. Also I worry about serious slowdown if we ever get 3 or 4 users on the same instance of the app server all running a decent sized PDF at once. Does anyone know if wrapping FOP in a session bean would allow me to distribute processing around to unused servers or otherwise handle the java.lang.outOfMemoryError better? (We're on Weblogic 6.1) I compared FOP to RenderX from XEP. RenderX was the only solution that really mathces FOP's profile (XSL:FO based, java-based or at least platform neutral, no extra servers to run or programs to install - if there are any more out there, please post). For the report I was running, FOP was about 10 times faster than RenderX. But from most accounts performance between the two should similar. I figure there must be something particular about my stylesheet that RenderX didn't like. So I called XEP to see what kind of support my interest in purchasing their $5k/cpu product might garner. They weren't very helpful but did say they were insanely busy. I have a feeling if you could come up with a high-performing commerical all Java FO-PDF engine, you'd be very rich very quick. Matt Savino
RE: Why is FO(P) a superior model than what most proprietary tool s propose
From: Bob Leif To: Matt Savino et al. I believe that, good Ada app-server, is covered by the following abbreviated version of a posting from Pascal Obry, which I received from Team-Ada. Since JGNAT is an Ada compiler that produces J codes, you may not need a translator. Parenthetically, I have nothing against J codes. I believe that the translators from Java to Ada do exist and suggest that you post to Team-Ada to obtain more information. However if I remember correctly, direct translation from Java to Ada produces code that has a large number of pointers, which are not normally present in Ada code. Since Quest Diagnostics produces medical software, you will find the high level of safety associated with a validated Ada compiler to be suitable for a regulated industry. I will gladly send you some of my publications that are in PDF form. --- Pascal Obry [EMAIL PROTECTED]; Team Ada: Ada Advocacy Issues (83 95) [EMAIL PROTECTED] A W S - Ada Web Server 1.2 release / SOAP 0.9 Authors: Dmitriy Anisimkov Pascal Obry April 29th, 2002, Dmitriy Anisimkov and I are very happy to announce the availability of the AWS 1.2 release. The API could change slightly at this stage but should be fairly stable now. AWS stand for Ada Web Server. It is not a real Web Server like Apache. It is a small yet powerful HTTP component to embedded in any applications. It means that you can communicate with your application using a standard Web browser and this without the need for a Web Server. AWS is fully developed in Ada with GNAT. AWS support SOAP, Server Push, HTTPS/SSL, client HTTP, hotplug modules... We have worked very hard to make this release as stable as possible. Note that Hotplug modules are very nice but have a potentially security hole as it is implemented today. A new secure implementation will be proposed in a future version. The SOAP implementation has been validated on http://validator.soapware.org/. Pointers: - AWS User's Mailing List: http://lists.act-europe.fr/mailman/listinfo/aws AWS Home Page (sources and documentation): http://libre.act-europe.fr/ Templates_Parser sources: Templates_Parser module (sources and documentation) is provided with AWS distribution. Latest version of this module and the documentation can be found at: http://perso.wanadoo.fr/pascal.obry/contrib.html http://perso.wanadoo.fr/pascal.obry/templates_parser.html Templates_Parser is a very useful add-on for AWS. You should have a look at it if you plan to develop a Web service. Templates_Parser permits to completely separate the HTML design from the Ada code. Some other Templates engine are WebMacro, FreeMarker, PHP, ASP, JSP and Velocity. All of them are based on explicit iterators (#foreach with a variable) where Templates_Parser is based on implicit ones (you use a more intuitive table iterator). Be sure to check the documentation. Only the Velocity project has the goal to support complete separation of HTML design and code. GNU/Ada - GNAT You need at least version 3.14 to use AWS 1.2. ftp://cs.nyu.edu/pub/gnat/ XMLada (optional): You need this library only if you want to use AWS SOAP feature. You need at least XMLada 0.7.1. http://libre.act-europe.fr/ Socket binding: Since AWS 1.2 you need at least version 1.0 of the Socket binding. for Win32: http://perso.wanadoo.fr/pascal.obry/contrib.html http://vagul.tripod.com/adasockets.tgz for UNIX: http://www.rfc1149.net/devel/adasockets POSIX Binding (optional) :..(Truncated) --- -Original Message- From: Savino, Matt C [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 2:39 PM To: '[EMAIL PROTECTED]' Subject: RE: Why is FO(P) a superior model than what most proprietary tool s propose From: Matt Savino To: Bob Leif Sounds great. Tell me where I can get a good Ada app-server and a Java-Ada translator for all the existing code--and I'll run it by the corporate brass. Matt Savino -Original Message- From: Robert C. Leif [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 2:35 PM To: [EMAIL PROTECTED] Subject: RE: Why is FO(P) a superior model than what most proprietary tool s propose From: Bob Leif To: Matt Savino It sounds like you need the performance of an efficient compiled language that performs wherever possible its inheritance at compile rather than run time. Ada is an ISO standard which is available as a GNU compiler, GNAT. It should be noted that Java is a proprietary language owned by SUN. -Original Message- From: Savino, Matt C [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 2:01 PM To: '[EMAIL PROTECTED]' Subject: RE: Why is FO(P) a superior model than what most proprietary tool
Re: Why is FO(P) a superior model than what most proprietary tool s propose
Patrick, If I read you right, I think the answer to that would be a resounding cry of Yes all round. You will certainly get one from me. What did you have in mind? Peter Patrick Lanphier wrote: I would agree with the last statement about a high performance commercial all Java FO-PDF. However, there is really no need. Would anybody be interested in working on FOP with payment leaving the licensing as is? This way everybody can benefit. Anybody with experience interested?
Re: Why is FO(P) a superior model than what most proprietary tool s propose
I just keep track of it myself. Declare a member variable of type int and increment it everytime a request comes in and decrement it after the request is serviced (in a finally{} block, watch out for exceptions messing up your counter). Make sure you synchronize access to it and it should work just fine. private synchronized int addThreadCount(int add) { return (count += add); } ... doGet(...) { int reportsRunning = addThreadCount(1); if (reportsRunning MAX_THREADS) { // Sleep thread until ready } try { // generate report } catch (Exception e) { // handle exception } finally { addThreadCount(-1); } } HTH, Scott - Original Message - From: Carter, Will [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 5:50 PM Subject: RE: Why is FO(P) a superior model than what most proprietary tool s propose this is interesting... can the servlet report how many threads it has at any given time? Do you know of any code examples of how this is done? thanks for the good idea... will
Re: Why is FO(P) a superior model than what most proprietary tool s propose
On Tuesday 30 April 2002 09:08 pm, you wrote: I would agree with the last statement about a high performance commercial all Java FO-PDF. However, there is really no need. Would anybody be interested in working on FOP with payment leaving the licensing as is? This way everybody can benefit. Anybody with experience interested? Patrick Lanphier Count me in. Rich Dunn Arkona, Inc.
RE: Why is FO(P) a superior model than what most proprietary tool s propose
how do you get the server to queue other requests? will -Original Message- From: Scott Moore [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 4:29 PM To: '[EMAIL PROTECTED]' Subject: RE: Why is FO(P) a superior model than what most proprietary tool s propose The short answer is you can't expect a large number of users to ask for reports at the same time and not run into memory problems. Believe me, I've stress tested my report server and hit this wall quickly. However, if you write your server to only run X number of reports at once and queue any other requests until other reports are finished, you can avoid those problems and achieve a robust and stable FOP server. At that point, adding more servers can get you better scalability. So far, this has worked well for me. -Original Message- From: Carter, Will [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 5:29 PM To: '[EMAIL PROTECTED]' Subject: RE: Why is FO(P) a superior model than what most proprietary tool s propose This one has got me scared... I am in the process of working out an embedded (servlet) FOP solution for some financial reporting. The generated pdfs are probably around 20 pages.. does anyone have any info about memory requirements or problems I will run into with multiple concurrent users?
RE: Why is FO(P) a superior model than what most proprietary tool s propose
Are there any companies out there developing products base on FOP? Just curious. -Original Message- From: Patrick Lanphier [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 4:34 PM To: [EMAIL PROTECTED] Subject: Re: Why is FO(P) a superior model than what most proprietary tools propose We are considering using FOP in place of JReports or any other reporting tools. More needs to be written on how to use Cocoon and FOP as a true report writer. Any help would be great. I'm currently working with Corda in hopes that they will change the SVG format to inlining so that it can be easy used with FOP. If any of you would like to talk to them about this that would be great. Patrick Lanphier The Artemis Group http://www.artemisgroup.com phone: 814-235-0444 fax: 800-582-9710 On Tue, 30 Apr 2002, J.Pietschmann wrote: Patrick Andries wrote: Alex McLintock wrote: I don't know about an industry analysts study of XSL:FO but we ought to be able to come up with case studies for people who have successfully used FOP. I think this is crucial. I found nothing of the sort. There was recently an announcement on the cocoon list that a major NASA site (KSC, i believe) is being redesigned using Cocoon 2 (includes FOP) and will going online soon. Perhaps some details regarding FOP usage there could be asked for. Apart from this, for my job I found XSLFO superior to the various proprietary reporting tools (rather expensive stuff). It's just me, though. J.Pietschmann
RE: Why is FO(P) a superior model than what most proprietary tool s propose
Our product (Cetova Financial Analysis Reporting - www.cetova.com) uses FOP (embedded) for PDF generation. Brian -Original Message- From: Xie, David (IPCG-NJ) [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 4:45 PM To: '[EMAIL PROTECTED]' Subject: RE: Why is FO(P) a superior model than what most proprietary tool s propose Are there any companies out there developing products base on FOP? Just curious. -Original Message- From: Patrick Lanphier [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 4:34 PM To: [EMAIL PROTECTED] Subject: Re: Why is FO(P) a superior model than what most proprietary tools propose We are considering using FOP in place of JReports or any other reporting tools. More needs to be written on how to use Cocoon and FOP as a true report writer. Any help would be great. I'm currently working with Corda in hopes that they will change the SVG format to inlining so that it can be easy used with FOP. If any of you would like to talk to them about this that would be great. Patrick Lanphier The Artemis Group http://www.artemisgroup.com phone: 814-235-0444 fax: 800-582-9710 On Tue, 30 Apr 2002, J.Pietschmann wrote: Patrick Andries wrote: Alex McLintock wrote: I don't know about an industry analysts study of XSL:FO but we ought to be able to come up with case studies for people who have successfully used FOP. I think this is crucial. I found nothing of the sort. There was recently an announcement on the cocoon list that a major NASA site (KSC, i believe) is being redesigned using Cocoon 2 (includes FOP) and will going online soon. Perhaps some details regarding FOP usage there could be asked for. Apart from this, for my job I found XSLFO superior to the various proprietary reporting tools (rather expensive stuff). It's just me, though. J.Pietschmann
Re: Why is FO(P) a superior model than what most proprietary tool s propose
Are there any companies out there developing products base on FOP? Just curious. I've been looking at using FOP to get print versions of content from a number of web apps but I'm finding it too unstable at the moment to really offer as a solution. Coupled with the rather large resource required to realistically run Cocoon it's a pretty big commitment. The last major update to FOP made changes that rendered earlier .fo files useless without some tweaks. The work involved in ensuring all the .fo files are still working everytime FOP is updated would be a bit of a nightmare. It's a great idea and is going to be a killer solution for designers/developers but it's probably going to take a year or so before it's completely viable. What is FOP now - 0.20.3? Not very old really :-) Later Josh ZYPE - Graphical Interface Design Phone: 03 963 3735 Mobile: 021 400 472 Web: www.zype.co.nz
Re: Why is FO(P) a superior model than what most proprietary tool s propose
J.Pietschmann wrote: The last major update to FOP made changes that rendered earlier .fo files useless without some tweaks. The work involved in ensuring all the .fo files are still working everytime FOP is updated would be a bit of a nightmare. The problem with the last change you seem to refer to brought FOP into line with a last minute change in the standard. You wont see this kind of changes very often. Actually that's very good to know. From a designer perspective FOP has felt a bit like the themes for mozilla. It's like designing for a moving target (and hand coding the stuff doesn't make it much easier) so no one does. One day. Josh ZYPE - Graphical Interface Design Phone: 03 963 3735 Mobile: 021 400 472 Web: www.zype.co.nz
RE: Why is FO(P) a superior model than what most proprietary tool s propose
This one has got me scared... I am in the process of working out an embedded (servlet) FOP solution for some financial reporting. The generated pdfs are probably around 20 pages.. does anyone have any info about memory requirements or problems I will run into with multiple concurrent users? thanks, will carter http://www.envestnetpmc.com -Original Message- From: Savino, Matt C [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 4:01 PM To: '[EMAIL PROTECTED]' Subject: RE: Why is FO(P) a superior model than what most proprietary tool s propose We're using FOP in a production environment to render some management reports and a very complicated lab report. We've had to limit the management reports to about 2000 rows (~50 page PDF) because of FOP's memory issues w/large PDFs. Also I worry about serious slowdown if we ever get 3 or 4 users on the same instance of the app server all running a decent sized PDF at once. Does anyone know if wrapping FOP in a session bean would allow me to distribute processing around to unused servers or otherwise handle the java.lang.outOfMemoryError better? (We're on Weblogic 6.1) I compared FOP to RenderX from XEP. RenderX was the only solution that really mathces FOP's profile (XSL:FO based, java-based or at least platform neutral, no extra servers to run or programs to install - if there are any more out there, please post). For the report I was running, FOP was about 10 times faster than RenderX. But from most accounts performance between the two should similar. I figure there must be something particular about my stylesheet that RenderX didn't like. So I called XEP to see what kind of support my interest in purchasing their $5k/cpu product might garner. They weren't very helpful but did say they were insanely busy. I have a feeling if you could come up with a high-performing commerical all Java FO-PDF engine, you'd be very rich very quick. Matt Savino
RE: Why is FO(P) a superior model than what most proprietary tool s propose
From: Bob Leif To: Matt Savino It sounds like you need the performance of an efficient compiled language that performs wherever possible its inheritance at compile rather than run time. Ada is an ISO standard which is available as a GNU compiler, GNAT. It should be noted that Java is a proprietary language owned by SUN. -Original Message- From: Savino, Matt C [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 2:01 PM To: '[EMAIL PROTECTED]' Subject: RE: Why is FO(P) a superior model than what most proprietary tool s propose We're using FOP in a production environment to render some management reports and a very complicated lab report. We've had to limit the management reports to about 2000 rows (~50 page PDF) because of FOP's memory issues w/large PDFs. Also I worry about serious slowdown if we ever get 3 or 4 users on the same instance of the app server all running a decent sized PDF at once. Does anyone know if wrapping FOP in a session bean would allow me to distribute processing around to unused servers or otherwise handle the java.lang.outOfMemoryError better? (We're on Weblogic 6.1) I compared FOP to RenderX from XEP. RenderX was the only solution that really mathces FOP's profile (XSL:FO based, java-based or at least platform neutral, no extra servers to run or programs to install - if there are any more out there, please post). For the report I was running, FOP was about 10 times faster than RenderX. But from most accounts performance between the two should similar. I figure there must be something particular about my stylesheet that RenderX didn't like. So I called XEP to see what kind of support my interest in purchasing their $5k/cpu product might garner. They weren't very helpful but did say they were insanely busy. I have a feeling if you could come up with a high-performing commerical all Java FO-PDF engine, you'd be very rich very quick. Matt Savino
RE: Why is FO(P) a superior model than what most proprietary tool s propose
The short answer is you can't expect a large number of users to ask for reports at the same time and not run into memory problems. Believe me, I've stress tested my report server and hit this wall quickly. However, if you write your server to only run X number of reports at once and queue any other requests until other reports are finished, you can avoid those problems and achieve a robust and stable FOP server. At that point, adding more servers can get you better scalability. So far, this has worked well for me. -Original Message- From: Carter, Will [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 5:29 PM To: '[EMAIL PROTECTED]' Subject: RE: Why is FO(P) a superior model than what most proprietary tool s propose This one has got me scared... I am in the process of working out an embedded (servlet) FOP solution for some financial reporting. The generated pdfs are probably around 20 pages.. does anyone have any info about memory requirements or problems I will run into with multiple concurrent users?
RE: Why is FO(P) a superior model than what most proprietary tool s propose
Thanks Scott. Can you share a little more detail on how you queue the reports? Matt Savino -Original Message- From: Scott Moore [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 2:29 PM To: '[EMAIL PROTECTED]' Subject: RE: Why is FO(P) a superior model than what most proprietary tool s propose The short answer is you can't expect a large number of users to ask for reports at the same time and not run into memory problems. Believe me, I've stress tested my report server and hit this wall quickly. However, if you write your server to only run X number of reports at once and queue any other requests until other reports are finished, you can avoid those problems and achieve a robust and stable FOP server. At that point, adding more servers can get you better scalability. So far, this has worked well for me. -Original Message- From: Carter, Will [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 5:29 PM To: '[EMAIL PROTECTED]' Subject: RE: Why is FO(P) a superior model than what most proprietary tool s propose This one has got me scared... I am in the process of working out an embedded (servlet) FOP solution for some financial reporting. The generated pdfs are probably around 20 pages.. does anyone have any info about memory requirements or problems I will run into with multiple concurrent users?
RE: Why is FO(P) a superior model than what most proprietary tool s propose
From: Matt Savino To: Bob Leif Sounds great. Tell me where I can get a good Ada app-server and a Java-Ada translator for all the existing code--and I'll run it by the corporate brass. Matt Savino -Original Message- From: Robert C. Leif [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 2:35 PM To: [EMAIL PROTECTED] Subject: RE: Why is FO(P) a superior model than what most proprietary tool s propose From: Bob Leif To: Matt Savino It sounds like you need the performance of an efficient compiled language that performs wherever possible its inheritance at compile rather than run time. Ada is an ISO standard which is available as a GNU compiler, GNAT. It should be noted that Java is a proprietary language owned by SUN. -Original Message- From: Savino, Matt C [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 2:01 PM To: '[EMAIL PROTECTED]' Subject: RE: Why is FO(P) a superior model than what most proprietary tool s propose We're using FOP in a production environment to render some management reports and a very complicated lab report. We've had to limit the management reports to about 2000 rows (~50 page PDF) because of FOP's memory issues w/large PDFs. Also I worry about serious slowdown if we ever get 3 or 4 users on the same instance of the app server all running a decent sized PDF at once. Does anyone know if wrapping FOP in a session bean would allow me to distribute processing around to unused servers or otherwise handle the java.lang.outOfMemoryError better? (We're on Weblogic 6.1) I compared FOP to RenderX from XEP. RenderX was the only solution that really mathces FOP's profile (XSL:FO based, java-based or at least platform neutral, no extra servers to run or programs to install - if there are any more out there, please post). For the report I was running, FOP was about 10 times faster than RenderX. But from most accounts performance between the two should similar. I figure there must be something particular about my stylesheet that RenderX didn't like. So I called XEP to see what kind of support my interest in purchasing their $5k/cpu product might garner. They weren't very helpful but did say they were insanely busy. I have a feeling if you could come up with a high-performing commerical all Java FO-PDF engine, you'd be very rich very quick. Matt Savino
RE: Why is FO(P) a superior model than what most proprietary tool s propose
Each request comes into the servlet on a separate Java Thread. I keep track of the number of reports currently being generated and Thread.sleep(1000) the queued threads. Every second or so the threads wake up, check to see if they should run (next in line and # reports running MAX) otherwise they go back to sleep for another second. It's a little more complicated than that, but that's the general gist. Scott -Original Message- From: Savino, Matt C [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 5:39 PM To: '[EMAIL PROTECTED]' Subject: RE: Why is FO(P) a superior model than what most proprietary tool s propose Thanks Scott. Can you share a little more detail on how you queue the reports? Matt Savino
Re: Why is FO(P) a superior model than what most proprietary tool s propose
Carter, Will wrote: I am in the process of working out an embedded (servlet) FOP solution for some financial reporting. The generated pdfs are probably around 20 pages.. does anyone have any info about memory requirements or problems I will run into with multiple concurrent users? The memory requirements depend on the complexity of the layout (tables spanning multiple pages are bad), how big included graphics are (they are all held in memory), and, often the worst of all, whether you are using forward references, like the popular page x of y (which forces all pages and dependent data to be held in memory until rendering is finished). I've been able to render 500 Page books without problems. J.Pietschmann
RE: Why is FO(P) a superior model than what most proprietary tool s propose
Our application absolutely requires tables spanning mulitple pages. Are we trying to fit a square peg into a round hole incorporating FOP into a reporting app as opposed to book publishing? Matt Savino -Original Message- From: J.Pietschmann [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 3:05 PM To: [EMAIL PROTECTED] Subject: Re: Why is FO(P) a superior model than what most proprietary tool s propose Carter, Will wrote: I am in the process of working out an embedded (servlet) FOP solution for some financial reporting. The generated pdfs are probably around 20 pages.. does anyone have any info about memory requirements or problems I will run into with multiple concurrent users? The memory requirements depend on the complexity of the layout (tables spanning multiple pages are bad), how big included graphics are (they are all held in memory), and, often the worst of all, whether you are using forward references, like the popular page x of y (which forces all pages and dependent data to be held in memory until rendering is finished). I've been able to render 500 Page books without problems. J.Pietschmann
RE: Why is FO(P) a superior model than what most proprietary tool s propose
this is interesting... can the servlet report how many threads it has at any given time? Do you know of any code examples of how this is done? thanks for the good idea... will -Original Message- From: Scott Moore [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 4:39 PM To: '[EMAIL PROTECTED]' Subject: RE: Why is FO(P) a superior model than what most proprietary tool s propose Each request comes into the servlet on a separate Java Thread. I keep track of the number of reports currently being generated and Thread.sleep(1000) the queued threads. Every second or so the threads wake up, check to see if they should run (next in line and # reports running MAX) otherwise they go back to sleep for another second. It's a little more complicated than that, but that's the general gist. Scott -Original Message- From: Savino, Matt C [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 30, 2002 5:39 PM To: '[EMAIL PROTECTED]' Subject: RE: Why is FO(P) a superior model than what most proprietary tool s propose Thanks Scott. Can you share a little more detail on how you queue the reports? Matt Savino
Re: Why is FO(P) a superior model than what most proprietary tool s propose
Savino, Matt C wrote: Our application absolutely requires tables spanning mulitple pages. Are we trying to fit a square peg into a round hole incorporating FOP into a reporting app as opposed to book publishing? I didn't say you can't use tables spanning multiple pages. I said, if you are running into problems with memory consumption, this could be one cause (out of many possible others). The standard procedure when you are getting OutOfMemoryExceptions is: 1. Look for a bigger machine, and increase JVM memory settings (they should not exceed physical memory). This will only go so far. 2. If you are running a servlet, serialize requests for PDF rendering. 3. Get rid of forward references. This is often a really big win. 4. If you have some amount of large graphics which is scaled down by FOP anyway, scale them down before you feed them to FOP. This helps especially if you have inncently looking highly compressed but high-resolution JPGs (something in the 1000x1000 pixel range, one such critter can eat up to 5MByte). 5. If everything above is already stretched to the limit, simplify your layoput and the intermediate FO structure. However, unless your whole document is a single table, this is often small change. Nevertheless, some small modifications in the style sheet can make a difference between working and not working. J.Pietschmann