Enhancement Request
I would like to suggest the following enhancement: We use the AWT viewer while creating XSL:FO style sheets to view the output. This is faster then generating a PDF and loading it into Acrobat Reader over and over again. It would be great if the AWT viewer had a Reload button which would reprocess the input. This way we could change an XSLT file and click reload and see the effect the change has. Jim Urban - [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] Clinical Connectivity Suite Product Manager Suite 295 500 Park Blvd. Itasca, IL 60143 Voice: (630) 250-3045 x106 Fax: (630) 250-3046 Advancing Healthcare Performance www.parkcitysolutions.com http://www.parkcitysolutions.com/ CONFIDENTIALITY NOTICE This message and any included attachments are from Park City Solutions Inc. and are intended only for the entity to which it is addressed. The contained information is confidential and privileged material. If you are not the intended recipient, you are hereby notified that any use, dissemination, or copying of this communication is strictly prohibited and may be unlawful. If you have received this communication in error please notify the sender of the delivery error by e-mail or call Park City Solutions Inc. corporate offices at (435) 654-0621 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Enhancement Request
Whenever the PDF that is currently open This implies having to generate a PDF first. I don't want to produce any files. I want to view the results of FOP and be able to print them off. I need to do this over and over again and thought it would be nice to simply tell the AWT viewer to reload or regenerate the report without shutting down. Jim Urban - [EMAIL PROTECTED] Park City Solutions Inc. Clinical Connectivity Suite Product Manager Suite 295 500 Park Blvd. Itasca, IL 60143 Voice: (630) 250-3045 x106 Fax: (630) 250-3046 CONFIDENTIALITY NOTICE This message and any included attachments are from Park City Solutions Inc. and are intended only for the entity to which it is addressed. The contained information is confidential and privileged material. If you are not the intended recipient, you are hereby notified that any use, dissemination, or copying of this communication is strictly prohibited and may be unlawful. If you have received this communication in error please notify the sender of the delivery error by e-mail or call Park City Solutions Inc. corporate offices at (435) 654-0621 -Original Message- From: Jeremias Maerki [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 04, 2002 2:56 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: Enhancement Request Hmm, I've got a little tip. I'm using GhostView. Whenever the PDF that is currently open in GhostView is changed and you switch the focus from something else back to GhostView it automatically reloads the PDF. On 04.06.2002 19:30:34 Jim Urban wrote: I would like to suggest the following enhancement: We use the AWT viewer while creating XSL:FO style sheets to view the output. This is faster then generating a PDF and loading it into Acrobat Reader over and over again. It would be great if the AWT viewer had a Reload button which would reprocess the input. This way we could change an XSLT file and click reload and see the effect the change has. Cheers, Jeremias Maerki - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Running Prefligh PDF tools on PDF files produced by FOP
We are planning to move to FOP .20.3. Is there a version with the fixes in it to solve all these problems? Jim Urban - [EMAIL PROTECTED] Park City Solutions Inc. Clinical Connectivity Suite Product Manager Suite 295 500 Park Blvd. Itasca, IL 60143 Voice: (630) 250-3045 x106 Fax: (630) 250-3046 CONFIDENTIALITY NOTICE This message and any included attachments are from Park City Solutions Inc. and are intended only for the entity to which it is addressed. The contained information is confidential and privileged material. If you are not the intended recipient, you are hereby notified that any use, dissemination, or copying of this communication is strictly prohibited and may be unlawful. If you have received this communication in error please notify the sender of the delivery error by e-mail or call Park City Solutions Inc. corporate offices at (435) 654-0621 -Original Message- From: J.U. Anderegg [mailto:[EMAIL PROTECTED]] Sent: Tuesday, May 28, 2002 3:49 PM To: [EMAIL PROTECTED] Subject: AW: Running Prefligh PDF tools on PDF files produced by FOP Matthew Brook O'Donnell schrieb: cause a 'fatal PDF error' in PitStop, even without the modification of (_data.size() + 1) to _data.size() in the PDFStream class that Hansuli proposed. However, I haven't been able to produce PDF that pass with 0.20.3 (even with the proposed patch). [..] Were there significant change in the PDF output classes between 0.20.2 and 0.20.3? As already mentioned the following bug sounds suspect: http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9054 Christian It is this bug: inserts of Tc into the PDF stream Hansuli Anderegg - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: eps preview - question
Have you tried GhostView (GhostScript)? It can view EPS and PDF. Jim Urban - [EMAIL PROTECTED] Park City Solutions Inc. Clinical Connectivity Suite Product Manager Suite 295 500 Park Blvd. Itasca, IL 60143 Voice: (630) 250-3045 x106 Fax: (630) 250-3046 CONFIDENTIALITY NOTICE This message and any included attachments are from Park City Solutions Inc. and are intended only for the entity to which it is addressed. The contained information is confidential and privileged material. If you are not the intended recipient, you are hereby notified that any use, dissemination, or copying of this communication is strictly prohibited and may be unlawful. If you have received this communication in error please notify the sender of the delivery error by e-mail or call Park City Solutions Inc. corporate offices at (435) 654-0621 -Original Message- From: Jeremias Maerki [mailto:[EMAIL PROTECTED]] Sent: Friday, May 24, 2002 9:14 AM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: eps preview - question Neither Acrobat Reader not the AWT renderer can display an EPS image. EPS only works with the PDF renderer IF(!) the document is printed to a PostScript printer, or with the PostScript renderer. No other renderer in FOP can do aynthing with an EPS. I've a little(?) problem on previewing eps graphics in an awt-rendered window. I know that acrobat reader doesn't preview emebedded postscript. But have I misunderstood, I thought fop does the preview on screen!? I'm using 'external-graphic' for that. My rendered page does preserve the space correct for the picture but it doesn't show everything of the picture. I need this preview to give the user the possibility to cancel the printerjob before printing. Has anyone an idea what is going wrong or a way to do it? Cheers, Jeremias Märki mailto:[EMAIL PROTECTED] OUTLINE AG Postfach 3954 - Rhynauerstr. 15 - CH-6002 Luzern Tel. +41 41 317 2020 - Fax +41 41 317 2029 Internet http://www.outline.ch - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: TIFFRenderer
We would be real interested in TIFF rendering from FOP since our application includes a fax component. My only concern is the use of the AWTRenderer. Whenever we use the AWTRenderer the output (on screen and print) is not as crisp and sharp as the PDF version. The spacing of letters and words is a major issue with the AWTRenderer (as was mentioned in a previous thread). If however a TIFF renderer could be produced that does NOT have these issues we would be real happy to use it. Jim Urban - [EMAIL PROTECTED] Park City Solutions Inc. Clinical Connectivity Suite Product Manager Suite 295 500 Park Blvd. Itasca, IL 60143 Voice: (630) 250-3045 x106 Fax: (630) 250-3046 CONFIDENTIALITY NOTICE This message and any included attachments are from Park City Solutions Inc. and are intended only for the entity to which it is addressed. The contained information is confidential and privileged material. If you are not the intended recipient, you are hereby notified that any use, dissemination, or copying of this communication is strictly prohibited and may be unlawful. If you have received this communication in error please notify the sender of the delivery error by e-mail or call Park City Solutions Inc. corporate offices at (435) 654-0621 -Original Message- From: Jeremias Maerki [mailto:[EMAIL PROTECTED]] Sent: Tuesday, May 21, 2002 8:47 AM To: [EMAIL PROTECTED] Subject: Re: TIFFRenderer I think you're the second one who announced such a TIFF renderer in a short period of time. Personally, I would like to see a bitmap renderer in FOP even though I don't have an immediate need myself. I'd like to offer my sponsorship. If no other committer wants to take it, I'm going to look at the two submissions as soon as possible and see how best to integrate one (or a combination of both) into FOP. If someone is against that move, please speak up. Here's a link to the other post: http://marc.theaimsgroup.com/?l=fop-userm=101965756701667w=2 I'm just wondering if fop developers are interested in one more output format such as TIFF ? I beleive it's very easy to produce tiff having AWTrenderer. The only things one have to do is to extend AWTRenderer, to pick up generated BufferedImages page by page and to encode them by tiff encoder. Actually I developed such TIFFRenderer a couple weeks ago in order to get fax-suitable output from a fop-running system I'm working on now (see http://www.tkachenko.com/fop/tiffrenderer.html). That stuff was downloaded couple of dozens times by the people, so I believe some kind of interest among fop users does exist. btw, size of Batik-dependent version of TIFFRenderer is only 56 kB. Well, I do like fop and I'd be glad to contribute that humble piece of code to the project. Cheers, Jeremias Märki mailto:[EMAIL PROTECTED] OUTLINE AG Postfach 3954 - Rhynauerstr. 15 - CH-6002 Luzern Tel. +41 41 317 2020 - Fax +41 41 317 2029 Internet http://www.outline.ch - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: TIFFRenderer
Are the AWTRenderer spacing fixes in a release version of FOP? If so, which version? Thanks, Jim Urban - [EMAIL PROTECTED] Park City Solutions Inc. Clinical Connectivity Suite Product Manager Suite 295 500 Park Blvd. Itasca, IL 60143 Voice: (630) 250-3045 x106 Fax: (630) 250-3046 CONFIDENTIALITY NOTICE This message and any included attachments are from Park City Solutions Inc. and are intended only for the entity to which it is addressed. The contained information is confidential and privileged material. If you are not the intended recipient, you are hereby notified that any use, dissemination, or copying of this communication is strictly prohibited and may be unlawful. If you have received this communication in error please notify the sender of the delivery error by e-mail or call Park City Solutions Inc. corporate offices at (435) 654-0621 -Original Message- From: Ralph LaChance [mailto:[EMAIL PROTECTED]] Sent: Tuesday, May 21, 2002 3:11 PM To: [EMAIL PROTECTED] Subject: Re: TIFFRenderer At 10:11 AM 5/21/02, you wrote: Ralph LaChance is working on it. Check the current CVS. Ralph's diff should have improved some of this. But it seems like AWT still has its pitfalls. Implementing a full bitmap renderer without the use of AWT would be a major pile of work, I think. But you can always try to use GhostScript to convert a PDF/PS to TIFF which should have about the same qualities as the PDF. Which method are you using right now? Actually, I (biased!) think the present awt renderer is quite good; the character spacings problems within words that existed in previous versions is fixed, and text decorations seem to work correctly. As Jeremias pointed out, I am chasing a new problem - but that one doesn't really bear on awt itself, but shows up only when the awt renderer is used to print. (The problem appears if fop is run w/ -print option or if the print command is invoked on the -awt display dialog.) Offhand, I do not expect the printing problem to show up if the awt renderer were used as the basis for a tiff renderer. We believe the printing problem stems from a java bug around fonts - the character rasterizer seems to be ending up with text strings being improperly sized when it is drawing into a graphics context created by a PrinterJob. There are several related bugs in the bug parade on this matter. ' Best, -Ralph LaChance - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: direct rendering of images to pdf
This sounds like something we could really use. Please continue to develop this and by all means, get it added to the base. Thanks, Jim Urban - [EMAIL PROTECTED] Park City Solutions Inc. Clinical Connectivity Suite Product Manager Suite 295 500 Park Blvd. Itasca, IL 60143 Voice: (630) 250-3045 x106 Fax: (630) 250-3046 CONFIDENTIALITY NOTICE This message and any included attachments are from Park City Solutions Inc. and are intended only for the entity to which it is addressed. The contained information is confidential and privileged material. If you are not the intended recipient, you are hereby notified that any use, dissemination, or copying of this communication is strictly prohibited and may be unlawful. If you have received this communication in error please notify the sender of the delivery error by e-mail or call Park City Solutions Inc. corporate offices at (435) 654-0621 -Original Message- From: Paul Reavis [mailto:[EMAIL PROTECTED]]On Behalf Of Paul Reavis Sent: Tuesday, May 14, 2002 1:38 PM To: [EMAIL PROTECTED] Subject: direct rendering of images to pdf I have finished the initial implementation of what I call on-the-fly images in fop. Essentially this is a callback system that has an object draw itself into a PDFGraphics2D during pdf rendering, rather than going through intermediate steps such as svg or Images. I'm fairly pleased with it, though it did turn up some other scalability problems. Initially, plotting one test map took 1.25 minutes; the new version takes about 8 seconds. The original implementation, using the standard fop distribution generated an svg (slow), then loaded the svg (slow), then rendered the svg to the pdf. The new implementation registers some callbacks for the included images, and the callbacks render directly. Memory usage is much better now, as well. We frequently overran the default 64MB with the original implementation, since the dom-based svg generation and reloading both ate up the heap. Now I can generally plot up to E size PDFs (34 x 44), though for complex maps I still run out of heap. Looking into the implementation of PDFRenderer and PDFGraphics2D, it looks like the memory bottleneck with the new implementation is probably the fact that PDFGraphics2D stores its results in a StringWriter, and then that StringWriter is appended to the PDFStream's own ByteArrayOutputStream. This requires twice as much ram as simply writing directly to the PDFStream. True scalability, frankly, will require rendering directly to a file, and keeping as little in RAM as possible. I didn't chase the code to see how difficult that would be, but I figure it's not trivial. The benefits would be enormous - for example, I could plot an entire multi-hundred page map book. On the other hand, the ability to have PDFGraphics2D write directly to the PDFStream should be fairly easy to implement. I'm looking into this now. I did also uncover some bugs. Most prominently, PDFGraphics2D instances spawned from others using createGraphics have their own StringWriters and therefore anything rendered to them kind of disappears off into space. I rewrote it so they share the same StringWriter. In any case, I have a few major changes that may be useful. Are they, and if so should I go ahead and see about getting CVS write access, or does someone want to sponsor me or should I simply send a patch? I have a feeling I'll be returning to the code in the future in any case. Thanks. While I'm finding fop to be kind of a bear, it's still the only real game in town for what I'm trying to do, and I'm getting some great results - we just plotted half the state of new hampshire onto a page the size of a bedsheet, and that's not easy to do without banging your own postscript - add to that the ability to stick these plots on nicely-formatted reports with all the power of FO too and it makes my life a lot easier. -- Paul Reavis [EMAIL PROTECTED] Design Lead Partner Software, Inc.http://www.partnersoft.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Using Options With Enbedding
Arnd, Thanks! It may be ugly, but it sure works nice! Jim Jim Urban - [EMAIL PROTECTED] Park City Solutions Inc. Clinical Connectivity Suite Product Manager Suite 295 500 Park Blvd. Itasca, IL 60143 Voice: (630) 250-3045 x106 Fax: (630) 250-3046 CONFIDENTIALITY NOTICE This message and any included attachments are from Park City Solutions Inc. and are intended only for the entity to which it is addressed. The contained information is confidential and privileged material. If you are not the intended recipient, you are hereby notified that any use, dissemination, or copying of this communication is strictly prohibited and may be unlawful. If you have received this communication in error please notify the sender of the delivery error by e-mail or call Park City Solutions Inc. corporate offices at (435) 654-0621 -Original Message- From: Arnd Beißner [mailto:[EMAIL PROTECTED]] Sent: Wednesday, April 24, 2002 2:02 PM To: [EMAIL PROTECTED] Subject: Re: Using Options With Enbedding I understand (I think, I hope) how to add fonts to FOP. I understand the concept of using an Options object to load the userconfig.xml file. Where I get lost is, where in FopServlet does the Options object come in to play? In other words, how do I pass my Options object to FOP so my fonts can be used? You don't. Just instantiate the Options object - it sets static instance data. Yes, it's ugly, but so far it has to be done this way. Example: Options options; // set up FOP options userConfigFile = new File(workPath + File.separator + userconfig.xml); options = new Options(userConfigFile); fopDriver.setRenderer(Driver.RENDER_PDF); Hope this helps, Arnd -- Cappelino Informationstechnologie GmbH Arnd Beißner Bahnhofstr. 3, 71063 Sindelfingen, Germany Email: [EMAIL PROTECTED] Phone: +49-7031-463458 Mobile: +49-173-3016917 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Using Options With Enbedding
I understand (I think, I hope) how to add fonts to FOP. I understand the concept of using an Options object to load the userconfig.xml file. Where I get lost is, where in FopServlet does the Options object come in to play? In other words, how do I pass my Options object to FOP so my fonts can be used? Thanks, Jim - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: linefeed-treatment=preserve
We do what you are asking. According to our FO expert (not me) using fo:block white-space-collapse=false has the side effect (in FOP) of causing FOP to recognize carriage returns. Jim [PARA]Jim Urban - [EMAIL PROTECTED][TAB][PARA]Clinical Connectivity Suite Product Manager[PARA]Suite 295[PARA]500 Park Blvd.[PARA]Itasca, IL 60143[PARA]Voice: (630) 250-3045 x106[PARA]Fax: (630) 250-3046[PARA][PARA]Advancing Healthcare Performance[PARA]www.parkcitysolutions.com[PARA] -Original Message- From: Shawn Bedard [mailto:[EMAIL PROTECTED]] Sent: Monday, April 15, 2002 11:14 AM To: [EMAIL PROTECTED] Subject: linefeed-treatment=preserve Greetings FOP experts. I am building report engine for tomcat. What I do is stream the data into and XML file and the resulting file is passed to the XSLTInputHandler with appropriate XSLT. Currently everything works quite well, however, all carriage returns in the data are stripped out during the PDF conversion in the XSLTInputHandler. After reading the XSL spec on w3c this seems to be behaving as expected: The default linefeed-treatment is set to be treat-as-space so all CRs are changed to spaces :(. As well, when I try to set linefeed-treatment=preserve I get the following warning during parsing: property - linefeed-treatment is not implemented yet. It seems to me that there has to be a way to get around this. Surely, someone out there has CRs in their data that they want to render? Thanks, Shawn - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
J2SE 1.4
Is a J2SE 1.4 version of FOP available? Jim Urban Product Manager Netsteps Inc. Suite 295 500 Park Blvd. Itasca, IL 60143 Voice: (630) 250-3045 x106 Fax: (630) 250-3046 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: PS and PDF Rendering Different
Jeremias, Thank you for your honesty. I'm glad to know its not something we're doing. As for using GhostScript, how did you integrate it into your Java application? The Java application which does our rendering runs detached (as a Windows service). This application runs non-stop, monitoring a database. When it sees a row added to a table it generates a PDF. On an average day this application will generate a couple thousand PDFs. So being able to run GhostScript either within the Java application (preferred approach) or as a daemon which would monitor a directory for the creating of PDF files which it would then print would be a second option. Thanks, Jim -Original Message- From: Jeremias Maerki [mailto:[EMAIL PROTECTED]] Sent: Friday, March 22, 2002 1:25 AM To: [EMAIL PROTECTED] Subject: Re: PS and PDF Rendering Different I use FOP to generate PDF files from XML data retrieved from a database. The PDFs generate just fine. However, when I tell FOP to render postscript the output file is often corrupt. When I print the ps file on my postscript printer the header area on the second and following pages is all messed up. That is, text is missing, strange text and shapes appear in their place and the size of the header area is not the same as the first page. If I view the ps file using GSView (GhostScript) I get the following message when I attempt to open the file: DSC Error %%Pages: doesn't match number of %%Page: GSView displays the ps file with the same errors I get if I print the ps file directly to the printer. I am using FOP 0.20.2 on Windows (both NT and 2000) with JDK 1.3 from Sun. Any ideas what is wrong? Sure, the PostScript renderer is far from being finished. :-) The renderer still has problems with some fo constructs, fonts and even DSC (as you mentioned). If you need good quality right now, you should use Acrobat Reader on Unix or GhostScript to convert PDF to PS. That's what I still do. Improving the PostScript renderer is still on my tasklist, but I've got so much to do that it hasn't come to the top of the list, yet. Sorry. Cheers, Jeremias Märki mailto:[EMAIL PROTECTED] OUTLINE AG Postfach 3954 - Rhynauerstr. 15 - CH-6002 Luzern Tel. +41 41 317 2020 - Fax +41 41 317 2029 Internet http://www.outline.ch - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
PS and PDF Rendering Different
I use FOP to generate PDF files from XML data retrieved from a database. The PDFs generate just fine. However, when I tell FOP to render postscript the output file is often corrupt. When I print the ps file on my postscript printer the header area on the second and following pages is all messed up. That is, text is missing, strange text and shapes appear in their place and the size of the header area is not the same as the first page. If I view the ps file using GSView (GhostScript) I get the following message when I attempt to open the file: DSC Error %%Pages: doesn't match number of %%Page: GSView displays the ps file with the same errors I get if I print the ps file directly to the printer. I am using FOP 0.20.2 on Windows (both NT and 2000) with JDK 1.3 from Sun. Any ideas what is wrong? Thanks, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: HowTo Render PDF from XML string and XSL file
I posted this about a week ago, but here you go again... Jim public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException { ... your code try { String xmlString = new String(); // your xml TransformerFactory tFactory = TransformerFactory.newInstance(); File foFile= new File(foXslFile.xsl); Source foXslSource = new StreamSource(foFile); Transformer pdfTransformer = tFactory.newTransformer(foXslSource); Writer out = new StringWriter(); Source xmlSource = new StreamSource(new StringReader(xmlString)); pdfTransformer.transform(xmlSource, new StreamResult(out)); out.close(); String fopstring = out.toString(); InputSource foSource = new InputSource(new StringReader(fopstring)); ByteArrayOutputStream baout = new ByteArrayOutputStream(); Driver driver = new Driver(foSource , baout); res.setContentType(application/pdf); driver.setRenderer(Driver.RENDER_PDF); driver.run(); byte[] content = baout.toByteArray(); res.setContentLength(content.length); // This keeps IE happy res.getOutputStream().write(content); res.getOutputStream().flush(); res.flushBuffer(); } catch (Exception e) { System.err.println(Exception in init: + e.toString()); e.printStackTrace(); } ... more code } -Original Message- From: David B. Bitton [mailto:[EMAIL PROTECTED]] Sent: Friday, March 08, 2002 11:27 PM To: fop-dev Subject: HowTo Render PDF from XML string and XSL file I have spent some time looking at the embedding sample, and I have some questions. I have successfully implemented FOP as a WebService having the XSL-FO data posted to the service and the service rendering the file onto the local machine. Now I want to do the XML/XSL to XSL-FO transform in the WebService. I noticed that the transform occurs in the XSLInputHandler. This then allows for an InputSource and XMLReader to be available to the Driver.render() overloaded method. The unfortunate part is the XSLInputHandler constructor only takes File object, no stream. I'd like to avoid bouncing the XML data off the disk just to statisfy this requirement for using XSLInputHandler. So, my question is this, how can I arrive at the same results, an InputSource and an XMLReader interfaced object for Driver.render()? Or better yet, what I'm asking is what is going on inside XSLInputHandler that I can slurp out into my code. Tx :) -- David B. Bitton [EMAIL PROTECTED] www.codenoevil.com Diversa ab illis virtute valemus. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: FOP Print Option
I figured out how to tell FOP to print to a specified printer. On Windoze, depending on if you have a postscript printer or PCL printer you can simply do: fop ... -ps \\computername\printer or fop ... -pcl \\computername\printer. Jim -Original Message- From: Ralph LaChance [mailto:[EMAIL PROTECTED]] Sent: Friday, March 08, 2002 3:34 PM To: [EMAIL PROTECTED] Subject: Re: FOP Print Option At 03:53 PM 3/8/02, you wrote: I need to use the FOP print option (-print) to print a FO directly to a printer. The problem is, I need to tell FOP which printer (by name, port or UNC name) to print to. Displaying the preview window (-awt) or printer dialog is not an option. I will be embedding this code in an application which will run unattended. The application will wake up, check for FOs to print and print them automatically without any user intervention and then go back to sleep. The print out must go to a specified printer containing a special paper which will most likely NOT be the default printer. Any ideas how to do this? This was answered previously, please check the archives. The short answer is that you cannot in any straightforward fashion programmatically assign a printjob to a specific printer pre-Java 1.4. There new JavaPrintService facility in 1.4 is promising, but I think you might have trouble trying to run fop in 1.4 yet. If someone wishes to refine this answer, please jump in; Alex -- another topic for the faq? ' Best, -Ralph LaChance - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
FOP Print Option
Hello Everyone, I need to use the FOP print option (-print) to print a FO directly to a printer. The problem is, I need to tell FOP which printer (by name, port or UNC name) to print to. Displaying the preview window (-awt) or printer dialog is not an option. I will be embedding this code in an application which will run unattended. The application will wake up, check for FOs to print and print them automatically without any user intervention and then go back to sleep. The print out must go to a specified printer containing a special paper which will most likely NOT be the default printer. Any ideas how to do this? Thanks, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: FOP embedding
Can you please be more specific. Do you want to use FOP in a servlet to produce a PDF from dynamically created XML and return the PDF to the browser to display? Are you having problems writing the Java code to do this, or are you having problems with FOP not working? Jim -Original Message- From: Carlos Daniel Schafer [mailto:[EMAIL PROTECTED]] Sent: Wednesday, March 06, 2002 9:34 AM To: [EMAIL PROTECTED] Subject: FOP embedding Hi! I saw those examples the FOP I have problem with transformer XML to PDF from a servlet. How I to do? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: FOP embedding
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException { ... your code try { String xmlString = new String(); // your xml TransformerFactory tFactory = TransformerFactory.newInstance(); File foFile= new File(foXslFile.xsl); Source foXslSource = new StreamSource(foFile); Transformer pdfTransformer = tFactory.newTransformer(foXslSource); Writer out = new StringWriter(); Source xmlSource = new StreamSource(new StringReader(xmlString)); pdfTransformer.transform(xmlSource, new StreamResult(out)); out.close(); String fopstring = out.toString(); InputSource foSource = new InputSource(new StringReader(fopstring)); renderFO(foSource, req, res, inPdf); ByteArrayOutputStream baout = new ByteArrayOutputStream(); Driver driver = new Driver(foSource , baout); res.setContentType(application/pdf); driver.setRenderer(Driver.RENDER_PDF); driver.run(); byte[] content = baout.toByteArray(); res.setContentLength(content.length); // This keeps IE happy res.getOutputStream().write(content); res.getOutputStream().flush(); res.flushBuffer(); } catch (Exception e) { System.err.println(Exception in init: + e.toString()); e.printStackTrace(); } ... more code } -Original Message- From: Carlos Daniel Schafer [mailto:[EMAIL PROTECTED]] Sent: Wednesday, March 06, 2002 10:28 AM To: [EMAIL PROTECTED] Subject: RE: FOP embedding I'm sorry Do you want to use FOP in a servlet to produce a PDF from dynamically created XML and return the PDF to the browser to display? Yes I have this files (FOP). I have code this servlet with created XML and I desidere dynamically return the PDF. Do you want send this servlet for look? -Mensaje original- De: Jim Urban [SMTP:[EMAIL PROTECTED]] Enviado el: miércoles, 06 de marzo de 2002 13:05 Para: [EMAIL PROTECTED] Asunto: RE: FOP embedding Can you please be more specific. Do you want to use FOP in a servlet to produce a PDF from dynamically created XML and return the PDF to the browser to display? Are you having problems writing the Java code to do this, or are you having problems with FOP not working? Jim -Original Message- From: Carlos Daniel Schafer [mailto:[EMAIL PROTECTED]] Sent: Wednesday, March 06, 2002 9:34 AM To: [EMAIL PROTECTED] Subject: FOP embedding Hi! I saw those examples the FOP I have problem with transformer XML to PDF from a servlet. How I to do? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: C# version of FOP
As long as development of the C# version does interfere with the development of the Java version, I have no problem with people porting FOP to C#. However, I believe the primary effort should remain the Java version. Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 -Original Message- From: Jeff Kowalczyk [mailto:[EMAIL PROTECTED]] Sent: Monday, March 04, 2002 6:42 PM To: [EMAIL PROTECTED] Subject: RE: C# version of FOP This project would be very important to those of us that plan to use C# when Mono (.NET CLR, C# Compiler on Linux/*NIX) is ready. I had always expected to use Batik and FOP through webservices, decoupled from my ASP.NET that will run on Mono in the near future. If C# FOP or Batik implementations keep pace with the Java state of the art, that would definitely be an improvement in design and overhead and a most compelling platform to develop against for anyone using Mono. Best of luck with the FOP port, I for one am looking forward to it! - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
java.lang.NoSuchMethodError
I have a xml file which contains an enbedded SVG image. When I run it through FOP 0.20.2 I get this error: [INFO]: building formatting object tree [INFO]: [1] Exception in thread main java.lang.NoSuchMethodError at org.apache.fop.svg.SVGElement.layout(SVGElement.java:152) at org.apache.fop.fo.flow.InstreamForeignObject.layout(InstreamForeignObject.ja va:198) at org.apache.fop.fo.flow.Block.layout(Block.java:259) at org.apache.fop.fo.flow.Flow.layout(Flow.java:149) at org.apache.fop.fo.flow.Flow.layout(Flow.java:108) at org.apache.fop.fo.pagination.PageSequence.format(PageSequence.java:294) at org.apache.fop.apps.StreamRenderer.render(StreamRenderer.java:191) at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:178) at org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1403) at org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator .java:1436) at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XM LDocumentScanner.java:1260) at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner. java:381) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1035) at org.apache.fop.apps.Driver.render(Driver.java:459) at org.apache.fop.apps.AWTStarter.run(AWTStarter.java:116) at org.apache.fop.apps.Fop.main(Fop.java:19) Anyone have any idea why I am getting this error? I get a simular error if I try to render the XML as PDF. Thanks, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Error in AWT Renderer
If I generate a PDF, FOP runs just fine. When I try to use the -awt option to view the output, FOP gives me the following error. Any ideas? I am running Fop 0.20.2. Thanks, Jim Urban Product Manager Netsteps Inc. [INFO]: Parsing of document complete, stopping renderer [ERROR]: Can't add attribute to 0-length text org.apache.fop.apps.FOPException: Can't add attribute to 0-length text at org.apache.fop.apps.Driver.render(Driver.java:464) at org.apache.fop.apps.AWTStarter.run(AWTStarter.java:116) at org.apache.fop.apps.Fop.main(Fop.java:19) - java.lang.IllegalArgumentException: Can't add attribute to 0-length text at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1048) at org.apache.fop.apps.Driver.render(Driver.java:459) at org.apache.fop.apps.AWTStarter.run(AWTStarter.java:116) at org.apache.fop.apps.Fop.main(Fop.java:19) - java.lang.IllegalArgumentException: Can't add attribute to 0-length text at java.text.AttributedString.addAttribute(AttributedString.java:238) at org.apache.fop.render.awt.AWTRenderer.renderWordArea(AWTRenderer.java:627) at org.apache.fop.layout.inline.WordArea.render(WordArea.java:31) at org.apache.fop.render.AbstractRenderer.renderLineArea(AbstractRenderer.java: 223) at org.apache.fop.layout.LineArea.render(LineArea.java:162) at org.apache.fop.render.AbstractRenderer.renderBlockArea(AbstractRenderer.java :192) at org.apache.fop.layout.BlockArea.render(BlockArea.java:82) at org.apache.fop.render.AbstractRenderer.renderAreaContainer(AbstractRenderer. java:158) at org.apache.fop.layout.AreaContainer.render(AreaContainer.java:38) at org.apache.fop.render.AbstractRenderer.renderAreaContainer(AbstractRenderer. java:158) at org.apache.fop.layout.AreaContainer.render(AreaContainer.java:38) at org.apache.fop.render.AbstractRenderer.renderAreaContainer(AbstractRenderer. java:158) at org.apache.fop.layout.AreaContainer.render(AreaContainer.java:38) at org.apache.fop.render.AbstractRenderer.renderAreaContainer(AbstractRenderer. java:158) at org.apache.fop.layout.AreaContainer.render(AreaContainer.java:38) at org.apache.fop.render.AbstractRenderer.renderAreaContainer(AbstractRenderer. java:158) at org.apache.fop.render.awt.AWTRenderer.renderPage(AWTRenderer.java:389) at org.apache.fop.render.awt.AWTRenderer.render(AWTRenderer.java:368) at org.apache.fop.render.awt.AWTRenderer.render(AWTRenderer.java:336) at org.apache.fop.render.awt.AWTRenderer.stopRenderer(AWTRenderer.java:896) at org.apache.fop.apps.StreamRenderer.stopRenderer(StreamRenderer.java:135) at org.apache.fop.fo.FOTreeBuilder.endDocument(FOTreeBuilder.java:201) at org.apache.xerces.parsers.SAXParser.endDocument(SAXParser.java:1230) at org.apache.xerces.validators.common.XMLValidator.callEndDocument(XMLValidato r.java:1079) at org.apache.xerces.framework.XMLDocumentScanner$EndOfInputDispatcher.dispatch (XMLDocumentScanner.java:1555) at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner. java:381) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1035) at org.apache.fop.apps.Driver.render(Driver.java:459) at org.apache.fop.apps.AWTStarter.run(AWTStarter.java:116) at org.apache.fop.apps.Fop.main(Fop.java:19) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
AWT Error
Attached is a sample fo file which will produce the error. Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 junk.fo Description: Binary data - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: AWT Window
Sounds good to me. Just one thing, get rid of that System.exit() in the dispose method! Let the implementer decide what to do when the window containing the panel is closed. Jim -Original Message- From: Nicola Ken Barozzi [mailto:[EMAIL PROTECTED]] Sent: Thursday, February 21, 2002 8:07 AM To: [EMAIL PROTECTED] Subject: Re: AWT Window - Original Message - From: IvanLatysh [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, February 21, 2002 2:53 PM Subject: AWT Window Hello, Alistair! You wrote to [EMAIL PROTECTED] on Thu, 21 Feb 2002 09:26:32 -: AH Now that a few more people are interested in this: AH I think that it would be more useful if the basic AWT API returned a AH JPanel rather than a JFrame. ... From my practice the best way to make this flexible is just give JPanel without any controls. Just a report. And implement into this pane methods to switch pages, zoom, import And, If I need preview window I will do preview by myself with my buttons and my style. I think this is right way to do it. Better still... give the JPanel like you propose and Actions that (if needed) can be easily put in a toolbar. -- Nicola Ken Barozzi [EMAIL PROTECTED] - verba volant, scripta manent - (discussions get forgotten, just code remains) - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: AWT Window
While were suggesting enhancements for the AWT window, here is a change I made to the code Ivan Latysh sent me last week. I needed to process XML:FO which is dynamically generated and not .xml and .xsl files. So I modified the run method to take an InputSource object (containing XML:FO) instead of two File objects. I would like to see this option added if possible. It makes using the AWT window much easier when the report to be viewed is build from data retrieved from a database by a server and sent to a client application or applet for viewing. It also works well with Java Web Start, where the placing of .xml and .xsl files on the workstation is a hassle due to the JWS security sandbox. Thanks, Jim -Original Message- From: Nicola Ken Barozzi [mailto:[EMAIL PROTECTED]] Sent: Thursday, February 21, 2002 8:07 AM To: [EMAIL PROTECTED] Subject: Re: AWT Window - Original Message - From: IvanLatysh [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, February 21, 2002 2:53 PM Subject: AWT Window Hello, Alistair! You wrote to [EMAIL PROTECTED] on Thu, 21 Feb 2002 09:26:32 -: AH Now that a few more people are interested in this: AH I think that it would be more useful if the basic AWT API returned a AH JPanel rather than a JFrame. ... From my practice the best way to make this flexible is just give JPanel without any controls. Just a report. And implement into this pane methods to switch pages, zoom, import And, If I need preview window I will do preview by myself with my buttons and my style. I think this is right way to do it. Better still... give the JPanel like you propose and Actions that (if needed) can be easily put in a toolbar. -- Nicola Ken Barozzi [EMAIL PROTECTED] - verba volant, scripta manent - (discussions get forgotten, just code remains) - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: AWT Window
I like it! For what its worth, you have my vote. Jim -Original Message- From: Alistair Hopkins [mailto:[EMAIL PROTECTED]] Sent: Thursday, February 21, 2002 8:59 AM To: [EMAIL PROTECTED] Subject: RE: AWT Window So how about this as the public interface: package org.apache.fop.apps; public class AwtManager { public AwtManager(InputSource fo) public AwtManager(InputSource xsl. InputSource xml) //these are separated so the work of showing the preview can go on a background thread public Component getPreviewPanel() public Component showPreview() //possible also to set the saved file type in the save method public void save(Component fileChooserParent) public void save(File f) public Action getSaveAction() public void print() public Action getPrintAction() public void zoom(String zoomFactor) public JCombo getZoomCombo() public void goToPage(int n) ...etc... //a short hand for lazy people public JToolBar getToolbar() } Any committer wants to tell me where it'll go in the tree, I'll get onto it tomorrow: I've done most of it. Alistair -Original Message- From: Jim Urban [mailto:[EMAIL PROTECTED]] Sent: Thursday, February 21, 2002 2:29 PM To: [EMAIL PROTECTED] Subject: RE: AWT Window While were suggesting enhancements for the AWT window, here is a change I made to the code Ivan Latysh sent me last week. I needed to process XML:FO which is dynamically generated and not .xml and .xsl files. So I modified the run method to take an InputSource object (containing XML:FO) instead of two File objects. I would like to see this option added if possible. It makes using the AWT window much easier when the report to be viewed is build from data retrieved from a database by a server and sent to a client application or applet for viewing. It also works well with Java Web Start, where the placing of .xml and .xsl files on the workstation is a hassle due to the JWS security sandbox. Thanks, Jim -Original Message- From: Nicola Ken Barozzi [mailto:[EMAIL PROTECTED]] Sent: Thursday, February 21, 2002 8:07 AM To: [EMAIL PROTECTED] Subject: Re: AWT Window - Original Message - From: IvanLatysh [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, February 21, 2002 2:53 PM Subject: AWT Window Hello, Alistair! You wrote to [EMAIL PROTECTED] on Thu, 21 Feb 2002 09:26:32 -: AH Now that a few more people are interested in this: AH I think that it would be more useful if the basic AWT API returned a AH JPanel rather than a JFrame. ... From my practice the best way to make this flexible is just give JPanel without any controls. Just a report. And implement into this pane methods to switch pages, zoom, import And, If I need preview window I will do preview by myself with my buttons and my style. I think this is right way to do it. Better still... give the JPanel like you propose and Actions that (if needed) can be easily put in a toolbar. -- Nicola Ken Barozzi [EMAIL PROTECTED] - verba volant, scripta manent - (discussions get forgotten, just code remains) - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: FOP AWT Window Shuts Down Application
I thought about that, but then we would have a custom version of FOP. This would mean that every time we upgrade to a new version of FOP someone would have to know to go into the source and make this change and rebuild FOP. I would rather see a more permanent solution implemented such as adding a function to PreviewDialog void setExitOnClose(boolean shouldExit) which would set a flag which would be checked to see if System.exit should be called. I would do this, but I am not an authorized FOP developer and do not have access to CVS either. If someone would offer to check out PreviewDialog.java from CVS and email it to me I will gladly make the change and email back to them to review and check back in to CVS. Jim -Original Message- From: Keiron Liddle [mailto:[EMAIL PROTECTED]] Sent: Wednesday, February 20, 2002 4:32 AM To: [EMAIL PROTECTED] Subject: Re: FOP AWT Window Shuts Down Application You could comment out the System.exit call in PreviewDialog.java. On 2002.02.19 18:52 Jim Urban wrote: I am using the FOP AWT viewer (PreviewDialog) to display and print reports within my application. The problem is, whenever I close the FOP viewer, my application shuts down. How can I keep this from happening? Thanks, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
FOP AWT Window Shuts Down Application
I am using the FOP AWT viewer (PreviewDialog) to display and print reports within my application. The problem is, whenever I close the FOP viewer, my application shuts down. How can I keep this from happening? Thanks, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Fop With Java Web Start
I just want to confirm your statement You just have to sign the jar files. The FOP (Apache - Jakarta) folks don't sign the fop.jar file? Is my signing it with my certificate within the copyright agreement? Just want to be legal, Jim -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Friday, February 15, 2002 7:34 AM To: [EMAIL PROTECTED] Subject: Re: Fop With Java Web Start Hello, I use FOP with JWS : no problem. You just have to sign the jar files. Bye, Stphane From: Weiqi Gao [EMAIL PROTECTED] on 02/15/2002 06:13 AM CST Please respond to [EMAIL PROTECTED] To: [EMAIL PROTECTED] cc: SubjeRe: Fop With Java Web Start ct: On Thu, 2002-02-14 at 09:57, Jim Urban wrote: Has anyone used FOP within a Java Web Start application? I've used FOP in an application. I've used Java Web Start. I have not put an FOP application in Java Web Start. I don't see any reason it couldn't be done, though. I need to produce formatted reports for browsing and printing in a JWS application. I'm sure I can use the AWT option to display the report. My concern is, will the print option of the AWT window work within the JWS environment? You will need to request the grant of permissions by the user. You can request that all-permissions be granted. But then you have to sign all the jars. With FOP, all the jars that are needed are distributed. So you don't have to search your CLASSPATH to find out which jars to include in your JNLP file. Also, does the AWT presentation use the old AWT objects or Swing objects? Swing. -- Weiqi Gao [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Using Fop Within An Application
I am trying to use FOP within my application to process and display (in AWT mode) a FO I create by processing records from a database. I get to the point where I have a String object containing the FO but I can't seem to get FOP to display its AWT window. Could someone please pass along some source code that shows how to do this? I looked at the doc and the example is incomplete: Driver driver = new Driver(); driver.setRenderer(new org.apache.fop.render.awt.AWTRenderer(translator)); driver.render(parser, fileInputSource(args[0])); What is translator? The doc I have not only doesn't show how to create one, its written in German! What is parser? What parser do I use? How do I create one? Thanks for the help, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Using Fop Within An Application (AWTStarter with some changes)
awt.run(new File(xml), new File(xsl)); This line presents a problem for me. I no have files. All I have is a String containing the FO which I received from a call to the server. Tthe server runs xml data retrieved from a database through xslt and returns the output FO to the client for displaying. I need to process the string containing the FO and display the results in a window. Jim -Original Message- From: IvanLatysh [mailto:[EMAIL PROTECTED]] Sent: Friday, February 15, 2002 3:53 PM To: [EMAIL PROTECTED] Subject: Re: Using Fop Within An Application (AWTStarter with some changes) Hello, Jim! You wrote to FOP Dev [EMAIL PROTECTED] on Fri, 15 Feb 2002 14:15:13 -0600: JU I am trying to use FOP within my application to process and display JU (in AWT mode) a FO I create by processing records from a database. JU I get to the point where I have a String object containing the FO JU but I can't seem to get You know some times ago I did have same problem. And I did some changes in AWTStarter class. I attach this file. Also I am using small library to convert SQL Query to XML file. Seems working fine. How to use: AWTStarter awt = new AWTStarter(); awt.run(new File(xml), new File(xsl)); This starter working with FOP. You shouldn't make any changes in FOP. 2 Developers: If I did brake any License agreements please let me know. I just want to help. --- Yours sincerely, Ivan Latysh. [EMAIL PROTECTED] http://ivan.yourmail.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Fop With Java Web Start
Has anyone used FOP within a Java Web Start application? I need to produce formatted reports for browsing and printing in a JWS application. I'm sure I can use the AWT option to display the report. My concern is, will the print option of the AWT window work within the JWS environment? Also, does the AWT presentation use the old AWT objects or Swing objects? Thanks, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Why do you use FOP instead of ...
Our application is a servlet based web application. We have adopted the MVC approach. We found Cacoon over kill, so we implmented our own frame work. Our frame work requires all business components produce XML. We then use XSL:HTML to format HTML output for the browser. It was only a natural next step to use XSL:FO to generate PDF since we already had XML being generated. One of the real blessings of this approach is our clients can customize the look and feel of the application by changing the XSL files without our ever opening a Java source file. It was a BIG investment and learning curve up front to take this approach, but now that we are past that phase, the return on the investment has enabled us to justify the up front expense. Looking back, I think it was a vary sound decission. We are in a position where adding WAP (WML) and a B2b SOAP interface are a natural extension of our framework, not a rewrite. Thank yous go to not only FOP, but Xalan and Xerces for all the XML and XSL support! Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 At 08:58 PM 1/29/02 -0500, you wrote: I would like to know why FOP enthousiast (I am one) are using FO rather than products such as Crystal Reports or other such software (anyone Jetfoms ?). Just for the fun of playing with new technology ? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Debug message on server console and setting the fonts correctly...
If you are using preFOP .20.x do: MessageHandler.setOutputMethod( MessageHandler.NONE ); otherwise do this: import org.apache.log.*;import org.apache.log.output.io.FileTarget;import org.apache.log.output.io.StreamTarget;import org.apache.log.format.PatternFormatter; In your class variables add:private staticLogger mApachelog; call in you servlet init method: private void initializeApacheFopLog() {try{MessageHandler.setOutputMethod( MessageHandler.NONE );Hierarchy hierarchy = Hierarchy.getDefaultHierarchy();PatternFormatter formatter = new PatternFormatter("[%{priority}]: %{context} %{message}\n%{throwable}" );File logFile = new File("logs/fop.log");LogTarget target = new FileTarget(logFile, false, formatter);hierarchy.setDefaultLogTarget(target);mApachelog = hierarchy.getLoggerFor("fop");mApachelog.setPriority(Priority.getPriorityForName("ERROR")); === can be DEBUG, INFO, WARN, ERROR, FATAL_ERROR. I pass the value via a servlet init parameter.}catch (Exception e){System.err.println("Can't initialize FOP log: " + e.toString());}} In your rendering method: Driver driver = new Driver();driver.setLogger(mApachelog); add this linedriver.setRenderer(driver.RENDER_PDF); Jim -Original Message-From: Anshuman [mailto:[EMAIL PROTECTED]]Sent: Friday, January 25, 2002 9:11 AMTo: [EMAIL PROTECTED]Subject: Debug message on server console and setting the fonts correctly... Hi !, I have two questions for which I am seeking response. 1) Every time I run theServlet exampleto create an PDF, I get the message on server as below: WARNING: defaulted font to any,normal,normal WARNING: unknown font sans-serif,bold,normal so defaulted font to any WARNING: defaulted font to any,normal,normal WARNING: unknown font sans-serif,bold,normal so defaulted font to any WARNING: defaulted font to any,normal,normal WARNING: unknown font sans-serif,bold,normal so defaulted font to any WARNING: defaulted font to any,normal,normal WARNING: unknown font sans-serif,bold,normal so defaulted font to any WARNING: defaulted font to any,normal,normal WARNING: unknown font sans-serif,bold,normal so defaulted font to any WARNING: defaulted font to any,normal,normal WARNING: unknown font sans-serif,bold,normal so defaulted font to any ] Parsing of document complete, stopping renderer Initial heap size: 39301Kb Current heap size: 38974Kb Total memory used: -327Kb Memory use is indicative; no GC was performed These figures should not be used comparatively Total time used: 571ms Pages rendererd: 1 Is there any configuration to stop there messages to be displayed on the server console. 2) I am not setting the font as sans-serif, still I get this message. Can any one help me in setting the fonts properly. with regards,ASM
RE: Problems with seeing pdf-files in IE 5.0
you also have to use an url with ".pdf" at the end The url the client is posting to is a servlet which uses FOP to generate a PDF and feed it back to the browser. If the client post a request to myservlet.pdf the server will look for a file called myservlet.pdf and return a 403 when it can't find it. So how do you use a url that ends with .pdf when using servlets? Jim -Original Message-From: Cyril Rognon [mailto:[EMAIL PROTECTED]]Sent: Friday, December 07, 2001 7:43 AMTo: [EMAIL PROTECTED]Subject: Re: Problems with seeing pdf-files in IE 5.0It has been reported many times that IE5.0 needs some strong mime type information : not only you must set the content-type HTTP header to "application/pdf" but you also have to use an url with ".pdf" at the end... Cyril RognonAt 14:05 07/12/2001 +0100, you wrote: I'm trying to see a pdf-report, created dinamically with an XML-XSL process. But if I try to see it with an IE 5.0, I see just a blank page with an icon. If I try it with an IE 5.5, I can see it with no problem. Why is it? And there is a solution, because I cannot change the browser to 5.5?
RE: Preserving Line Breaks
Title: Preserving Line Breaks Depends on your FO. fo:block white-space-collapse="false" will maintain your line breaks, otherwise they are lost. Jim -Original Message-From: Kunal Mittal [mailto:[EMAIL PROTECTED]]Sent: Friday, December 07, 2001 12:03 PMTo: [EMAIL PROTECTED]Subject: Preserving Line Breaks Hello - I am using FOP to generate PDF files. The FOP code is generated through a Java Servlet. When I get the data from the database, do linebreaks in the data get preserved? Example - User enters text into a text field on a HTML (JSP page). This data is stored with line break information in the dB. When I get this data and send it to FOP, the fo:block element doesn't preserve the line breaks. Thoughts? Thanks Kunal Mittal Senior Consultant, i R i s e Bus: (510) 757-6145 eFax: (413) 460-5823 [EMAIL PROTECTED] [EMAIL PROTECTED]
RE: Problems with seeing pdf-files in IE 5.0
You are correct, we set the content type to PDF before sending anything back. The problem is how to invoke this servlet and use a .PDF extension when we don't know we are going to get a PDF back. Jim -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Friday, December 07, 2001 1:14 PM To: [EMAIL PROTECTED] Subject: RE: Problems with seeing pdf-files in IE 5.0 Do you write to the servlet response before you decide whether this is a job for FOP G. (Sorry) If the response to the browser hasn't begun, I think you should be able to call setContentType(application/pdf) on the ServletResponse instance as soon as you find the XSL:FO file. It's up to the browser then to handle the incoming mime type. Or am I missing the point entirely? Joe Jim Urban jim.urban@netTo: [EMAIL PROTECTED] steps.netcc: Subject: RE: Problems with seeing pdf-files in IE 5.0 12/07/2001 02:01 PM Please respond to fop-dev Here is the real problem. When the servlet is posted to, the browser has no knowledge of what type of data will be sent back. We have a single servlet which looks at the request and calls the appropriate class to process the request. The request then sends XML back to the servlet. Then based upon the presence of the parameter print in the http request, our servlet attempts to locate the XSL:FO file that maps to the request. If the XSL:FO file is found, we FOP the XML and send back PDF. Otherwise we use a XSL:HTML file and send back a HTML page. Our clients are responsible for providing XSL:FO files for the pages they want PDF prints. The XSL:FO files are optional and may or may not exist. Jim -Original Message- From: Alex McLintock [mailto:[EMAIL PROTECTED]] Sent: Friday, December 07, 2001 11:05 AM To: [EMAIL PROTECTED] Subject: RE: Problems with seeing pdf-files in IE 5.0 --- Jim Urban [EMAIL PROTECTED] wrote: you also have to use an url with .pdf at the end The url the client is posting to is a servlet which uses FOP to generate a PDF and feed it back to the browser. If the client post a request to myservlet.pdf the server will look for a file called myservlet.pdf and return a 403 when it can't find it. So how do you use a url that ends with .pdf when using servlets? If you can't set up an alias in the webserver as people have suggested you could always have a servlet class called pdf within a package myservlet. End result: myservlet.pdf Could have sworn this was in the FAQ. Oh dear - that means the FAQ isn't good enough yet Alex = Alex McLintock[EMAIL PROTECTED]Open Source Consultancy in London OpenWeb Analysts Ltd, http://www.OWAL.co.uk/ --- SF and Computing Book News and Reviews: http://news.diversebooks.com/ Get Your XML T-Shirt t-shirt/ at http://www.inversity.co.uk/ COMPETITION : http://news.diversebooks.com/article.pl?sid=01/10/08/1947255 Nokia 5510 looks weird sounds great. Go to http://uk.promotions.yahoo.com/nokia/ discover and win it! The competition ends 16 th of December 2001. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: break-after vs break-before
Here is the solution to your blank page problem: xsl:for-each select= fo:block white-space-collapse=false xsl:call-template ... /xsl:call-template /fo:block xsl:if test=position() = 1 and position() != last() fo:block break-before=page / /xsl:if /xsl:for-each -Original Message- From: John M. Corro [mailto:[EMAIL PROTECTED]] Sent: Thursday, December 06, 2001 11:22 AM To: [EMAIL PROTECTED] Subject: break-after vs break-before I'm trying to put together a report that has automatic page breaking (for ref. the XSL is at the bottom of the email). My problem is that the report starts w/ a blank page when I use 'break-before', but if I try 'start-after' a blank page is at the end of the report. The blank page at the end isn't so bad, but if there's a way to remove it that'd be nice. Also, does the 'break-XXX' attribute simply add page breaks whenever you reach the end of a page or is it smarter than that? For example, say a table is 3 pages in size. Can you use the 'break-XXX' attribute to make it such that table headers are printed at the top of all 3 pages? My understanding is that the table will simply print across the 3 pages w/ no regards for adding table headers at the top of each page. fo:block break-after=page fo:table... !-- call to template that produces table headers -- fo:for-each... !-- call to template that produces table's contents -- /fo:for-each /fo:table /fo:block - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: How to get FOP servlet to run in quiet mode? UPDATE
We added the following statement to the servlet init: MessageHandler.setOutputMethod(MessageHandler.NONE);. Hope this helps, Jim -Original Message- From: Kilmer, Erich [mailto:[EMAIL PROTECTED]] Sent: Wednesday, December 05, 2001 9:39 AM To: '[EMAIL PROTECTED]' Subject: How to get FOP servlet to run in quiet mode? UPDATE Read the manual and learned about the config.xml file. Opened my fop.jar in winzip and extracted config.xml. Changed to: entry keyquiet/key valuetrue/value /entry Then added the file back into the fop.jar. Then I restarted my web server. However after rendering an XML to PDF in ther servlet I see the same kind of status statements as listed below. What am I not doing? TIA, Erich Kilmer Bell+Howell Hello, I have taken the FOPServlet and extended for our own purposes and it works nicely. However every time I render an XML to PDF I get the following in the apps server log: building formatting object tree setting up fonts[1] Parsing of document complete, stopping renderer Initial heap size: 12198Kb Current heap size: 12323Kb Total memory used: 125Kb Memory use is indicative; no GC was performed These figures should not be used comparatively Total time used: 94ms Pages rendererd: 1 Avg render time: 94ms/page This is useful information but I would like to be able to turn it off if possible. I know it can be done in the FOP command line. For the FOPServlet I just add fop.jar and batik.jar to my apps server's (Orion) lib directory, add the servlet to the web.xml file and I am off and running. Question: Is there a way to do this from the FOPServlet example code? Is there a config file and if so what is it called and where does it go? Thanks, Erich Kilmer Bell+Howell - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Page Breaks
How would I code my XSL to scan a text element for form feeds and insert a fo:block break-before=page and the corresponding /fo:block at the correct places? Jim -Original Message- From: Vladimir Sneblic [mailto:[EMAIL PROTECTED]] Sent: Monday, December 03, 2001 4:13 PM To: '[EMAIL PROTECTED]' Subject: RE: Page Breaks Try using break-before=page property of fo:block something like: fo:block break-before=page The text to appear on the next page/fo:block I think you can leave it empty (i.e. a block with no content), and use it purely as a page break mechanism. Have fun, Vlad -Original Message- From: Jim Urban [mailto:[EMAIL PROTECTED]] Sent: Tuesday, 4 December 2001 11:07 a.m. To: FOP Dev Subject:Page Breaks I have a servlet which dynamically generates XML which is then translated into FO and ran through FOP to generate PDFs. What can I embed (like a \f) in the XML text that will cause FOP to automatically start a new page? Thanks, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 File: ATT70001.txt - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Page Breaks
I'm using XSLT to translate XML into FO. The field containing the form feeds is a text element. I need to be able to do this using XSL. Jim -Original Message- From: Mike Akerman [mailto:[EMAIL PROTECTED]] Sent: Monday, December 03, 2001 4:18 PM To: FOP Dev Subject: Re: Page Breaks On Mon, 3 Dec 2001, Jim Urban wrote: I have a servlet which dynamically generates XML which is then translated into FO and ran through FOP to generate PDFs. What can I embed (like a \f) in the XML text that will cause FOP to automatically start a new page? Thanks, Jim Urban I've translated \f into: /fo:flow /fo:page-sequence fo:page-sequence master-name=simple fo:flow flow-name=xsl-region-body If thats not sufficently clear, I could provide an example plain-text to xsl-fo conversion program I've written. Michael Akerman - [EMAIL PROTECTED]Information Services (501) 575-5870 University of Arkansas http://www.uark.edu/~mike - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Page Breaks
Perl? We are Java Servlet web based application. We don't even own a Perl interpreter (thank God!). :) We are in the healthcare industry and data integrety is a major issue. We can not change the content of a client's data from within our code. The only way to modify the content of our client's data is through XSL which is maintained by the client. So as you see, we do need an XSL / FO sollution. Jim -Original Message- From: Arved Sandstrom [mailto:[EMAIL PROTECTED]] Sent: Tuesday, December 04, 2001 8:06 AM To: [EMAIL PROTECTED] Subject: Re: Page Breaks Not everything needs to be XSLT. In this case you could preprocess with a Perl one-liner that would be blazingly fast. Something like: perl -i.bak -pe 's!\x0C!ff/!g;' XMLFILE (Use double quotes on a Windows command-line). Then you'll have ff/ elements that you can act on in your XSLT. Regards, Arved Sandstrom - Original Message - From: Jim Urban [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, December 04, 2001 9:25 AM Subject: RE: Page Breaks I'm using XSLT to translate XML into FO. The field containing the form feeds is a text element. I need to be able to do this using XSL. Jim -Original Message- From: Mike Akerman [mailto:[EMAIL PROTECTED]] Sent: Monday, December 03, 2001 4:18 PM To: FOP Dev Subject: Re: Page Breaks On Mon, 3 Dec 2001, Jim Urban wrote: I have a servlet which dynamically generates XML which is then translated into FO and ran through FOP to generate PDFs. What can I embed (like a \f) in the XML text that will cause FOP to automatically start a new page? Thanks, Jim Urban I've translated \f into: /fo:flow /fo:page-sequence fo:page-sequence master-name=simple fo:flow flow-name=xsl-region-body If thats not sufficently clear, I could provide an example plain-text to xsl-fo conversion program I've written. Michael Akerman - [EMAIL PROTECTED] Information Services (501) 575-5870 University of Arkansas http://www.uark.edu/~mike - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Page Breaks
Our application is a web application implemented in Java Servlets. To use the perl approach, we would have to call a perl script from within our servlet, passing the data in memory to the script. The script would then have to modify the data and return it in memory to the servlet. The data can NOT be written to a file without encrypting it. Using XSLT does not change the data. It simply formats the data for display. This formatting is controlled by the client, not our Java code. Our servlet has the ability to send back the raw XML so the client can see the raw unformatted data for verification purposes, I must maintain this option. I'll use anything that works. the day I start imposing my language preferences on a solution is the day I should look for other work. As a product development manager, I can not let each developer (myself included) use anything that works. I manage a TEAM of developers. We build and maintain professional software products that are built on a common frame work, language and set of tools. If you could not conform to our way of doing things I would ask you to look for other work. Jim -Original Message- From: Arved Sandstrom [mailto:[EMAIL PROTECTED]] Sent: Tuesday, December 04, 2001 9:01 AM To: [EMAIL PROTECTED] Subject: Re: Page Breaks I hear you saying that modification of XML data with XSL is not really modification at all, but modification with Perl is bad. Seems somewhat unusual. Sorry you've had problems with scripting languages. I happen to be a professional software developer, and despite some current disillusionment with Java hype, I'll use anything that works. Past 2 years it was all J2EE and XML; I am working on a contract right now that is MS SQL Server, VC++ and ASPs. I could care less - the day I start imposing my language preferences on a solution is the day I should look for other work. And in fact I did not understand your argument. Regards, AHS - Original Message - From: Jim Urban [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, December 04, 2001 10:33 AM Subject: RE: Page Breaks Perl? We are Java Servlet web based application. We don't even own a Perl interpreter (thank God!). :) We are in the healthcare industry and data integrety is a major issue. We can not change the content of a client's data from within our code. The only way to modify the content of our client's data is through XSL which is maintained by the client. So as you see, we do need an XSL / FO sollution. Jim -Original Message- From: Arved Sandstrom [mailto:[EMAIL PROTECTED]] Sent: Tuesday, December 04, 2001 8:06 AM To: [EMAIL PROTECTED] Subject: Re: Page Breaks Not everything needs to be XSLT. In this case you could preprocess with a Perl one-liner that would be blazingly fast. Something like: perl -i.bak -pe 's!\x0C!ff/!g;' XMLFILE (Use double quotes on a Windows command-line). Then you'll have ff/ elements that you can act on in your XSLT. Regards, Arved Sandstrom - Original Message - From: Jim Urban [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, December 04, 2001 9:25 AM Subject: RE: Page Breaks I'm using XSLT to translate XML into FO. The field containing the form feeds is a text element. I need to be able to do this using XSL. Jim -Original Message- From: Mike Akerman [mailto:[EMAIL PROTECTED]] Sent: Monday, December 03, 2001 4:18 PM To: FOP Dev Subject: Re: Page Breaks On Mon, 3 Dec 2001, Jim Urban wrote: I have a servlet which dynamically generates XML which is then translated into FO and ran through FOP to generate PDFs. What can I embed (like a \f) in the XML text that will cause FOP to automatically start a new page? Thanks, Jim Urban I've translated \f into: /fo:flow /fo:page-sequence fo:page-sequence master-name=simple fo:flow flow-name=xsl-region-body If thats not sufficently clear, I could provide an example plain-text to xsl-fo conversion program I've written. Michael Akerman - [EMAIL PROTECTED] Information Services (501) 575-5870 University of Arkansas http://www.uark.edu/~mike - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email
RE: Page Breaks
I agree with what you are saying. Here is the rule that I may not have explicitly stated: The data in our database comes from several legacy system. This data can not be modified by anything that our client does not directly control. Our applications are of the highest level of mission critical. They are used by physicians to determine how to treat patients and errors in the data we present can have life or death consequences. XSLT is under the control of our client. The client can edit the XSL file. The client can also request our servlets to return the raw XML for comparing to the database to insure the data is 100% correct. Any modifications (however small) done by our Java code is outside our client's control. That is, our client does not have our Java source and can not make changes to it. It all comes down to our having to meet a vary huge and strict set of federal laws regarding data integrity and security called HIPPA. I hope this explains my situation. Now lets move on. :) Jim -Original Message- From: Arved Sandstrom [mailto:[EMAIL PROTECTED]] Sent: Tuesday, December 04, 2001 10:33 AM To: [EMAIL PROTECTED] Subject: Re: Page Breaks Not to start a war here...let me put it this way. The fact that my initial suggestion referenced Perl is actually irrelevant. Your servlet can do the equivalent. After all, at the point where you are presenting XML to the XSLT processor it is plaintext, right? So we are talking about inserting one extra transformation step at this point...doesn't even have to use regular expressions, and of course it can be written in Java. Nothing needs to be written out to an intermediate file at all. What I don't understand is an insistence that the only _modification_ and _transformation_ which can be done with the data is through XSLT. And make no mistake, XSLT formatting for display, as you put it, _is_ transformation and modification. How do you figure that XSLT does not allow you to change the data? The original data isn't what we are talking about in any case - even my Perl one-liner did a backup. As far as the comment about not letting developers use whatever technology they like, hey, that's a given. Every project has a point where the choices like that are made. Here's what I sense - you guys have a strong commitment to data integrity and security, and I respect that. But you mistakenly assume that use of XSLT is somehow going to avoid data integrity problems, and I dispute that. _Correct_ XSLT code will avoid that problem, just as _correct_ use of another approach would also (I use the word code advisedly, because XSLT is code; no different from Perl, actually). Regards, Arved Sandstrom - Original Message - From: Jim Urban [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, December 04, 2001 11:54 AM Subject: RE: Page Breaks Our application is a web application implemented in Java Servlets. To use the perl approach, we would have to call a perl script from within our servlet, passing the data in memory to the script. The script would then have to modify the data and return it in memory to the servlet. The data can NOT be written to a file without encrypting it. Using XSLT does not change the data. It simply formats the data for display. This formatting is controlled by the client, not our Java code. Our servlet has the ability to send back the raw XML so the client can see the raw unformatted data for verification purposes, I must maintain this option. I'll use anything that works. the day I start imposing my language preferences on a solution is the day I should look for other work. As a product development manager, I can not let each developer (myself included) use anything that works. I manage a TEAM of developers. We build and maintain professional software products that are built on a common frame work, language and set of tools. If you could not conform to our way of doing things I would ask you to look for other work. Jim -Original Message- From: Arved Sandstrom [mailto:[EMAIL PROTECTED]] Sent: Tuesday, December 04, 2001 9:01 AM To: [EMAIL PROTECTED] Subject: Re: Page Breaks I hear you saying that modification of XML data with XSL is not really modification at all, but modification with Perl is bad. Seems somewhat unusual. Sorry you've had problems with scripting languages. I happen to be a professional software developer, and despite some current disillusionment with Java hype, I'll use anything that works. Past 2 years it was all J2EE and XML; I am working on a contract right now that is MS SQL Server, VC++ and ASPs. I could care less - the day I start imposing my language preferences on a solution is the day I should look for other work. And in fact I did not understand your argument. Regards, AHS - Original Message - From: Jim Urban [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, December 04, 2001 10:33 AM Subject: RE: Page Breaks Perl
RE: Page Breaks
I doubt that would be permissible since the client wouldn't be able to control the extension (I'm assuming an extension is a compiled class). Jim -Original Message- From: Alistair Hopkins [mailto:[EMAIL PROTECTED]] Sent: Tuesday, December 04, 2001 11:17 AM To: [EMAIL PROTECTED] Subject: RE: Page Breaks How about an extension to XSL / Xalan? Would that be permissible, or possible? xsl:value-of select='myExt:mayHaveLineBreak(rawNode,'\n')'/ Ugly, but keeps control with the client... -Original Message- From: Jim Urban [mailto:[EMAIL PROTECTED]] Sent: Tuesday, December 04, 2001 5:05 PM To: [EMAIL PROTECTED] Subject: RE: Page Breaks I agree with what you are saying. Here is the rule that I may not have explicitly stated: The data in our database comes from several legacy system. This data can not be modified by anything that our client does not directly control. Our applications are of the highest level of mission critical. They are used by physicians to determine how to treat patients and errors in the data we present can have life or death consequences. XSLT is under the control of our client. The client can edit the XSL file. The client can also request our servlets to return the raw XML for comparing to the database to insure the data is 100% correct. Any modifications (however small) done by our Java code is outside our client's control. That is, our client does not have our Java source and can not make changes to it. It all comes down to our having to meet a vary huge and strict set of federal laws regarding data integrity and security called HIPPA. I hope this explains my situation. Now lets move on. :) Jim -Original Message- From: Arved Sandstrom [mailto:[EMAIL PROTECTED]] Sent: Tuesday, December 04, 2001 10:33 AM To: [EMAIL PROTECTED] Subject: Re: Page Breaks Not to start a war here...let me put it this way. The fact that my initial suggestion referenced Perl is actually irrelevant. Your servlet can do the equivalent. After all, at the point where you are presenting XML to the XSLT processor it is plaintext, right? So we are talking about inserting one extra transformation step at this point...doesn't even have to use regular expressions, and of course it can be written in Java. Nothing needs to be written out to an intermediate file at all. What I don't understand is an insistence that the only _modification_ and _transformation_ which can be done with the data is through XSLT. And make no mistake, XSLT formatting for display, as you put it, _is_ transformation and modification. How do you figure that XSLT does not allow you to change the data? The original data isn't what we are talking about in any case - even my Perl one-liner did a backup. As far as the comment about not letting developers use whatever technology they like, hey, that's a given. Every project has a point where the choices like that are made. Here's what I sense - you guys have a strong commitment to data integrity and security, and I respect that. But you mistakenly assume that use of XSLT is somehow going to avoid data integrity problems, and I dispute that. _Correct_ XSLT code will avoid that problem, just as _correct_ use of another approach would also (I use the word code advisedly, because XSLT is code; no different from Perl, actually). Regards, Arved Sandstrom - Original Message - From: Jim Urban [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, December 04, 2001 11:54 AM Subject: RE: Page Breaks Our application is a web application implemented in Java Servlets. To use the perl approach, we would have to call a perl script from within our servlet, passing the data in memory to the script. The script would then have to modify the data and return it in memory to the servlet. The data can NOT be written to a file without encrypting it. Using XSLT does not change the data. It simply formats the data for display. This formatting is controlled by the client, not our Java code. Our servlet has the ability to send back the raw XML so the client can see the raw unformatted data for verification purposes, I must maintain this option. I'll use anything that works. the day I start imposing my language preferences on a solution is the day I should look for other work. As a product development manager, I can not let each developer (myself included) use anything that works. I manage a TEAM of developers. We build and maintain professional software products that are built on a common frame work, language and set of tools. If you could not conform to our way of doing things I would ask you to look for other work. Jim -Original Message- From: Arved Sandstrom [mailto:[EMAIL PROTECTED]] Sent: Tuesday, December 04, 2001 9:01 AM To: [EMAIL PROTECTED] Subject: Re: Page Breaks I hear you saying that modification of XML data with XSL is not really modification at all, but modification with Perl is bad. Seems somewhat unusual
RE: Page Breaks
-Original Message- From: Ramin Firoozye [mailto:[EMAIL PROTECTED]] Sent: Monday, December 04, 2000 2:50 PM To: [EMAIL PROTECTED] Subject: RE: Page Breaks Hi Jim, Sounds like a text-replace is called for. A few questions: - Do you have the opportunity to pre-process the goods via Java/sed/perl or something like that? That would be the easiest way to do a text replace before you even get to the XSLT processor. No. The text must be untouched by everything but XSLT. - You might need to tweak the XML encoding to be able to handle the ASCII form-feed character un-escaped. Depends on the parser you're using. Using Xalan. Xalan says unicode 12 (decimal for form feed) is invalid. - If your environment allows it you can also invoke XSLT extension functions to do the replacement. The clients don't want any non-standard (extension) translation functions. - Have you thought of trying the contains(), substring-before() and substring-after() functions recursively to try to locate and extract the text surrounding the form-feed character? It won't be pretty but if you *must* stay in XSLT, it's pretty much your only choice. Yeah, that is ugly. Just some ideas... Thanks, for the ideas. I am currently working with our DBA to see if we can store the contents of each page in a seperate table row. That way we can use xsl:for-each to print each row in a seperate fo:block with a break-after option. Ramin How would I code my XSL to scan a text element for form feeds and insert a fo:block break-before=page and the corresponding /fo:block at the correct places? Jim -Original Message- From: Vladimir Sneblic [mailto:[EMAIL PROTECTED]] Sent: Monday, December 03, 2001 4:13 PM To: '[EMAIL PROTECTED]' Subject: RE: Page Breaks Try using break-before=page property of fo:block something like: fo:block break-before=page The text to appear on the next page/fo:block I think you can leave it empty (i.e. a block with no content), and use it purely as a page break mechanism. Have fun, Vlad -Original Message- From: Jim Urban [mailto:[EMAIL PROTECTED]] Sent: Tuesday, 4 December 2001 11:07 a.m. To: FOP Dev Subject:Page Breaks I have a servlet which dynamically generates XML which is then translated into FO and ran through FOP to generate PDFs. What can I embed (like a \f) in the XML text that will cause FOP to automatically start a new page? Thanks, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 File: ATT70001.txt - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Page Breaks
I have a servlet which dynamically generates XML which is then translated into FO and ran through FOP to generate PDFs. What can I embed (like a \f) in the XML text that will cause FOP to automatically start a new page? Thanks, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 attachment: winmail.dat - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Pre Formatted Text
I am using FOP to generate PDFs on the fly from XML. One of my XML elements contains a large (1K - 1M) preformatted (contains LFs) block of text. When I display this field in HTML I use a PRE tag. Is there a FO tag that FOP supports that functions similarly? Thanks, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 attachment: winmail.dat - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: New FOP Code Don't Work
Sorry about not mentioning the level up front. I'll download 0.20.2RC and try it. Question: Is 0.20.2RC solid enough for production use? Jim -Original Message- From: Shkuro, Yuri [mailto:[EMAIL PROTECTED]] Sent: Monday, November 19, 2001 2:09 PM To: '[EMAIL PROTECTED]' Subject: RE: New FOP Code Don't Work I could not get driver.setLogger(logger); to compile. The versions I have of FOP (0.19 and 0.20.1) do not have a ^^^ Wow! You neglected to mention that, didn't you? ;-) I guess I had to be more specific about which version of FOP I use when I posted the code. 0.20.1 never worked for me at all, I had to build from CVS until 0.20.2RC came out. With 0.19 the method works, but FOP doesn't really produce the PDF on the fly, instead it builds the whole FO tree in memory, and after the parsing is done you have to call driver.format(); driver.render(); In other words, you don't buy much by using SAX events with 0.19. 0.20.2RC has a major improvement for more streamlined processing. Yuri. -Original Message- From: Jim Urban [mailto:[EMAIL PROTECTED]] Sent: Monday, November 19, 2001 3:02 PM To: [EMAIL PROTECTED] Subject: RE: New FOP Code Don't Work The method that calls my renderFo creates the iInputSource as follows: Source iInputSource= new StreamSource(new StringReader(xmlString)); My translator is cached, and worked fine with my orginal code. I get no exceptions. Where would I see error messages? I could not get driver.setLogger(logger); to compile. The versions I have of FOP (0.19 and 0.20.1) do not have a org.apache.fop.apps.Driver.setLogger(org.apache.log.Logger) method. I am using Xalan/Xerces, does this matter? Jim -Original Message- From: Shkuro, Yuri [mailto:[EMAIL PROTECTED]] Sent: Monday, November 19, 2001 1:42 PM To: '[EMAIL PROTECTED]' Subject: RE: New FOP Code Don't Work As far as I can tell, the code is correct (although you didn't indicate how you create iInputSource). Are you sure you are not getting any exceptions, error messages, etc.? -Original Message- From: Jim Urban [mailto:[EMAIL PROTECTED]] Sent: Monday, November 19, 2001 2:38 PM To: [EMAIL PROTECTED] Subject: New FOP Code Don't Work Recently someone suggested using SAX events to run XML through XSLT then FOP and to send the PDF back to the browser from a servlet. I tried implmenting this (see code below) but all I don't get any output back. I even routed the output to a file, and the file was empty. My old code worked great, but I was told I was wasting memory. Can someone tell me why this code does not work? Thanks, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 public void renderFO(Transformer pdfTransformer, Source iInputSource, HttpServletResponse uResponse) { try { OutputStream out = uResponse.getOutputStream(); uResponse.setContentType(application/pdf); Driver driver = new Driver(); driver.setRenderer(driver.RENDER_PDF); driver.setOutputStream(out); // --- // Create SAXResult based on FOP Driver content handler // which will accept SAX events and build FOP tree // --- Result saxResult = new SAXResult(driver.getContentHandler()); // Use the Transformer to transform an XML Source and // send the output to a Result object. Implicitely it will // create the FOP tree by firing SAX events. pdfTransformer.transform(iInputSource, saxResult); // The user is already viewing the PDF! out.flush(); out.close(); } catch (TransformerException e1) { System.err.println(Unable to generate PDF: + e1.toString()); } catch (IOException e2) { System.err.println(File error: + e2.toString()); } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional
RE: New FOP Code Don't Work
Using 0.20.2RC did the trick. Now all I have to do is get rid of all the messages in my Catalina window. I'm sure the logger should take care of this. Thanks, Jim -Original Message- From: Shkuro, Yuri [mailto:[EMAIL PROTECTED]] Sent: Monday, November 19, 2001 2:09 PM To: '[EMAIL PROTECTED]' Subject: RE: New FOP Code Don't Work I could not get driver.setLogger(logger); to compile. The versions I have of FOP (0.19 and 0.20.1) do not have a ^^^ Wow! You neglected to mention that, didn't you? ;-) I guess I had to be more specific about which version of FOP I use when I posted the code. 0.20.1 never worked for me at all, I had to build from CVS until 0.20.2RC came out. With 0.19 the method works, but FOP doesn't really produce the PDF on the fly, instead it builds the whole FO tree in memory, and after the parsing is done you have to call driver.format(); driver.render(); In other words, you don't buy much by using SAX events with 0.19. 0.20.2RC has a major improvement for more streamlined processing. Yuri. -Original Message- From: Jim Urban [mailto:[EMAIL PROTECTED]] Sent: Monday, November 19, 2001 3:02 PM To: [EMAIL PROTECTED] Subject: RE: New FOP Code Don't Work The method that calls my renderFo creates the iInputSource as follows: Source iInputSource= new StreamSource(new StringReader(xmlString)); My translator is cached, and worked fine with my orginal code. I get no exceptions. Where would I see error messages? I could not get driver.setLogger(logger); to compile. The versions I have of FOP (0.19 and 0.20.1) do not have a org.apache.fop.apps.Driver.setLogger(org.apache.log.Logger) method. I am using Xalan/Xerces, does this matter? Jim -Original Message- From: Shkuro, Yuri [mailto:[EMAIL PROTECTED]] Sent: Monday, November 19, 2001 1:42 PM To: '[EMAIL PROTECTED]' Subject: RE: New FOP Code Don't Work As far as I can tell, the code is correct (although you didn't indicate how you create iInputSource). Are you sure you are not getting any exceptions, error messages, etc.? -Original Message- From: Jim Urban [mailto:[EMAIL PROTECTED]] Sent: Monday, November 19, 2001 2:38 PM To: [EMAIL PROTECTED] Subject: New FOP Code Don't Work Recently someone suggested using SAX events to run XML through XSLT then FOP and to send the PDF back to the browser from a servlet. I tried implmenting this (see code below) but all I don't get any output back. I even routed the output to a file, and the file was empty. My old code worked great, but I was told I was wasting memory. Can someone tell me why this code does not work? Thanks, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 public void renderFO(Transformer pdfTransformer, Source iInputSource, HttpServletResponse uResponse) { try { OutputStream out = uResponse.getOutputStream(); uResponse.setContentType(application/pdf); Driver driver = new Driver(); driver.setRenderer(driver.RENDER_PDF); driver.setOutputStream(out); // --- // Create SAXResult based on FOP Driver content handler // which will accept SAX events and build FOP tree // --- Result saxResult = new SAXResult(driver.getContentHandler()); // Use the Transformer to transform an XML Source and // send the output to a Result object. Implicitely it will // create the FOP tree by firing SAX events. pdfTransformer.transform(iInputSource, saxResult); // The user is already viewing the PDF! out.flush(); out.close(); } catch (TransformerException e1) { System.err.println(Unable to generate PDF: + e1.toString()); } catch (IOException e2) { System.err.println(File error: + e2.toString()); } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED
RE: Question on XSLTInputHandler
Here is a block of code our of one my servlets. This code takes a string containing XML, applies an XSL:FO style sheet to it, and runs the XML:FO through FOP and send s the PDF directly back to the browser. Writer out = new StringWriter(); Transformer pdfTransformer = NsTransformerCollection.loadTransformer(my.xsl);; String xmlString = . Source xmlSource = new StreamSource(new StringReader(xmlString)); pdfTransformer.transform(xmlSource, new StreamResult(out)); out.close(); String fopstring = out.toString(); InputSource foSource = getInput(fopstring); try { ByteArrayOutputStream out = new ByteArrayOutputStream(); uResponse.setContentType(application/pdf); Driver driver = new Driver(iInputSource, out); driver.setRenderer(Driver.RENDER_PDF); driver.run(); byte[] content = out.toByteArray(); uResponse.setContentLength(content.length); uResponse.getOutputStream().write(content); uResponse.getOutputStream().flush(); uResponse.flushBuffer(); } catch (Exception e){} Jim -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Monday, November 12, 2001 12:49 PM To: [EMAIL PROTECTED] Subject: Question on XSLTInputHandler Hello, I've looked at the example servlet and found that the XSLTInputHandler takes as input a java.io.File. However, I am constructing the XML document dynamically and have it as a java.lang.String in memory. It seems unnecessary I/O to write it out to a temporary file, just to pass it to the XSLTInputHandler. Looking at the source of XSLTInputHandler.java I didn't find any alternate way to call it. What would the recommended procedure be in this case, where I already have the XML document in memory? thanks in advance for any pointers, Ulrich -- Ulrich Mayring DENIC eG, Systementwicklung - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: table-header with (Con't)
Here is another thing I need to do. I have a single document which contains reports for multiple locations. I need to reset the page number on a location change. IE: Report contains 3 locations. The first location gets 3 pages, the second 2 pages and the third 4 pages. Currently FOP is generating Page 1 of 9, Page 2 of 9 etc. I need to generate Page 1 of 3, Page 2 of 3, Page 3 of 3, Page 1 of 2, Page 2 of 2, Page 1 of 4 etc. How do I go this? Thanks, Jim -Original Message- From: Savino, Matt C [mailto:[EMAIL PROTECTED]] Sent: Tuesday, October 23, 2001 5:50 PM To: '[EMAIL PROTECTED]' Subject: RE: table-header with (Con't) I'd love to see that too. I can't figure out how you get the fo:page-number to be a condition in your XSLT stylesheet. Does FOP understand xsl:xxx commands? -Original Message- From: Jim Urban [mailto:[EMAIL PROTECTED]] Sent: Tuesday, October 23, 2001 8:39 AM To: [EMAIL PROTECTED] Subject: RE: table-header with (Con't) Lou, Would you please see if you can find the code. I need to be able to change the contents of the header on the fly. This will give me a starting point. Thanks, Jim -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Tuesday, October 23, 2001 9:29 AM To: [EMAIL PROTECTED] Subject: RE: table-header with (Con't) Jim: We did something a while back using the following archaic procedure: 1. get current page # into var 2. use xsl:if to determine whether to put out Cont I don't have the code readily available, but if you really need it I can take a look. -Lou Jim Urban [EMAIL PROTECTED] on 10/23/2001 10:12:21 AM Please respond to [EMAIL PROTECTED] To: [EMAIL PROTECTED] cc: Subject: RE: table-header with (Con't) Does anyone have an answer to this question? I need to do the same thing. Thanks, Jim -Original Message- From: Matt Savino [mailto:[EMAIL PROTECTED]] Sent: Tuesday, October 23, 2001 1:50 AM To: [EMAIL PROTECTED] Subject: table-header with (Con't) Is there anyway to get a table header to print differently after the first time/page? Namely I want to reprint the title above a particular table everytime the page breaks, but I want to add '(Con't)' to the end of the title. I'm already using a page header and then a table header within that. These blocks are sub-tables with their own headers within that master table. So far, thanks to your help I've managed to avoid counting rows. I hope there's a solution to this problem as well. Thanks a lot, Matt - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: table-header with (Con't)
Does anyone have an answer to this question? I need to do the same thing. Thanks, Jim -Original Message- From: Matt Savino [mailto:[EMAIL PROTECTED]] Sent: Tuesday, October 23, 2001 1:50 AM To: [EMAIL PROTECTED] Subject: table-header with (Con't) Is there anyway to get a table header to print differently after the first time/page? Namely I want to reprint the title above a particular table everytime the page breaks, but I want to add '(Con't)' to the end of the title. I'm already using a page header and then a table header within that. These blocks are sub-tables with their own headers within that master table. So far, thanks to your help I've managed to avoid counting rows. I hope there's a solution to this problem as well. Thanks a lot, Matt - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Problems with embedding graphics using fo:instream-foreign-object and svg...
We generate our PDFs on the fly dynamically. These PDFs include dynamically generated graphs. It is vary convenient to embed the graphs (as SVG images) inline rather then creating .svg files and then deleting them after generating the PDFs. Jim -Original Message- From: Shkuro, Yuri [mailto:[EMAIL PROTECTED]] Sent: Thursday, October 18, 2001 8:27 AM To: '[EMAIL PROTECTED]' Subject: RE: Problems with embedding graphics using fo:instream-foreign-object and svg... Could somebody please point out what is the benefit of using fo:instream-foreign-object...svg:image ... instead of fo:external-graphic ... ? Thanks, YS -Original Message- From: Beer, Christian [mailto:[EMAIL PROTECTED]] Sent: Thursday, October 18, 2001 4:02 AM To: Fop-liste (E-Mail) Subject: Problems with embedding graphics using fo:instream-foreign-object and svg... Hi Folks! I wanted to embed images using: fo:instream-foreign-object svg:svg width=25mm height=85mm svg:image xlink:href={CompanyLogo/@src} image-rendering=optimizeQuality x=0 y=0 width=25mm height=35mm/ /svg:svg /fo:instream-foreign-object But I get the SVG-Error-Image. Before I updatet to the newest SVG-Version that worked fine... What has happend??? Christian __ DIRON Wirtschaftsinformatik GmbH Co. KG Christian Beer ([EMAIL PROTECTED]) Daimlerweg 39-41Tel. : +49(251)979-200 48163 Muenster Fax : +49(251)979-2020 Germany Email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Mailing list
I need to suspend my membership in this group because I will be on vacation for a week starting tomorrow. What is the address to email to suspend mail delivery? Thanks, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: tables in PDF
I have the same issue with FOP 0.19. If anyone can figure this out, please post it so I can get a copy of the solution too. Thanks, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 -Original Message- From: Vaidya, Raghavendra (CORP, GEITC) [mailto:[EMAIL PROTECTED]] Sent: Tuesday, July 24, 2001 11:09 PM To: [EMAIL PROTECTED] Subject: tables in PDF Hi, I am trying to print a big table in which the rows span more than one page. In some cases a part of the row at the end of the page is flowing to next page. How to keep all the rows on the same page. I am using FOP 0.17 Can some body help me Thsnks in advance Raghavendra - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Multithreading
We are planning to use FOP in our web application. The application will be hosted on a W2K box with dual PIIIs. We will use FOP in servlets to allow the user to dynamically generate formatted reports (in PDF) that can be printed off and inserted in a patients permanent medical file. Does this mean we can expect performance problems from our print servlets? Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 -Original Message- From: Jim Cotugno [mailto:[EMAIL PROTECTED]] Sent: Tuesday, July 17, 2001 1:10 PM To: [EMAIL PROTECTED] Subject: RE: Multithreading I don't know if anyone has done any extensive testing of concurrency with FOP, so please let us know what problems you run into (the IndexOutOfBounds for example), either via this list, or better yet, via Bugzilla so we can track and fix the issues. I've fixed a few places where I found concurrency issues at one time, but I'm sure there are others I didn't find. When we attempted to use FOP in a multi-processor, multi-threaded Windows NT 4.0 environment, we found that FOP actually worked SLOWER than a single processor and/or single-threaded environment. We ran multiple threads that were responsible for rendering separate documents. We were trying to reduce the elapsed time necessary to render thousands of relatively small (10- 20 page) documents. What we found was running multiple FOP threads on a multi- processor Windows NT box reduced our total throughput. We processed more documents per hour with a single FOP thread than we did with multiple FOP threads. Note that I'm refering to total throughput, not documents per thread per hour. Some analysis pointed to VERY HIGH context switching going on when running two FOP threads on a two processor system. What this told us was that the two FOP threads were fighting over the same piece(s) of memory continuously. This context switching went away when we ran multiple FOP threads on a single processor machine or we ran a single FOP thread on a multi-processor machine. I spent some time looking at the source code, and noticed a large number of statics being declared all throughout FOP. This may be a cause, or it may have something to do in the way the Sun jvm works on Windows. I didn't have the time to dig deeper. I don't remember the exact version of FOP we used for the test. It may have been 0.18.1 or 0.19.0-CVS. Jim Cotugno Upstanding email: [EMAIL PROTECTED] home email: [EMAIL PROTECTED] phone: 949-453-2000 fax:949-453-2001 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: how starting FOP without XML-File
If I understand you correctly, in your servlet you wish to apply an xsl style sheet (from a file) to an xml string in memory to generate a FO xml string in memory to run through FOP to generate a PDF in memory which you want to return to the browser. If that is the case, here are the pieces for your servlet... These are class variables... TransformerFactory tFactory= null; Transformertransformer = null; Place this code in your init method to save reading and parsing the xsl file each time your servlet is called... tFactory = TransformerFactory.newInstance(); String xslFile = myfile.xsl; File theFile = new File(xslFile); Source xslSource = new StreamSource(theFile); transformer = tFactory.newTransformer(xslSource); This code goes in your doGet / doPost method and replaces the code from the previous email... try { String xmlString = ... function to generate your xml String. Writer out = new StringWriter(); Source xmlSource = new StreamSource(new StringReader(xmlString)); transformer.transform(xmlSource, new StreamResult(out)); out.close(); String fopstring = out.toString(); InputSource foSource = InputSource(new StringReader(fopstring)); ByteArrayOutputStream out = new ByteArrayOutputStream(); response.setContentType(application/pdf); Driver driver = new Driver(foSource, out); driver.setRenderer(Driver.RENDER_PDF); driver.run(); byte[] content = out.toByteArray(); response.setContentLength(content.length); response.getOutputStream().write(content); response.getOutputStream().flush(); } I hope this helps. I wish this example was part of the examples provided with FOP. Maybe a FOP developer (I'm just a user) can add an example like this to the FOP package. Jim Urban -Original Message- From: Marc Jenzer [mailto:[EMAIL PROTECTED]] Sent: Wednesday, July 11, 2001 8:27 AM To: [EMAIL PROTECTED] Subject: RE: how starting FOP without XML-File Thanks for the answer! But with your solution, I can't pass the fop xsl file. This file is on the filesystem. Could you help me? Thanks -Original Message- This code will read the XML from a String object and write the PDF output back to the browser.: try { String fopstring = your function to generate the XML InputSource foSource = InputSource(new StringReader(fopstring)); ByteArrayOutputStream out = new ByteArrayOutputStream(); response.setContentType(application/pdf); Driver driver = new Driver(foSource, out); driver.setRenderer(Driver.RENDER_PDF); driver.run(); byte[] content = out.toByteArray(); response.setContentLength(content.length); response.getOutputStream().write(content); response.getOutputStream().flush(); response.flushBuffer(); } Jim Urban -Original Message- From: Marc Jenzer [mailto:[EMAIL PROTECTED]] Sent: Wednesday, July 11, 2001 7:14 AM To: [EMAIL PROTECTED] Subject: how starting FOP without XML-File Hallo I generate my PDF-File in a servlet: File xmlFile= new File(c:/temp/test.xml); File xslFile= new File(c:/temp/test.xsl); InputHandler inputHandler = new XSLTInputHandler(xmlFile, xslFile); org.xml.sax.XMLReader parser = inputHandler.getParser(); driver.buildFOTree(parser, inputHandler.getInputSource()); driver.format(); driver.setOutputStream(out); driver.render(); In the above example the xml input source is a file. But I would rather pass the input source xml file (text.xml) in the memory. It's possible and how can I do this? Thanks Marc - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Need Working Sample
Hi, I am new to FOP. I have a servlet which dynamically generates XML. I need to apply an XSL stylesheet containing FO tags to generate a FO version of the XML and then I need to run this FO version of the XML through FOP (or Driver) so the servlet can return a dynamically created PDF to the browser. Does anyone have a working example of how to do this? Only the XSL style sheet containing the FO tags used in the initial transform will be on disk. Please help, I have to get this working. Thanks, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 attachment: winmail.dat - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Need Working Sample
Sorry, but this does not work for two reasons. 1. The XML does NOT exist on disk! It is in memory only, and writing it to disk is NOT an option. 2. This is a high traffic web application. Starting a new JVM to process FOP is too costly. There must be a way for this FOP thing to read raw (data only) XML (in memory) apply an XSL style sheet to add the FO tags, then format the PDF and return it to a browser. I can't believe I am the first person in the word to need to do this. If I seem upset, I'm sorry. But I have been fighting with FOP since last week to get it to do this. FOP works great for taking FO files and converting them to PDF files, but that's not what I have to do. I have a deadline to meet and I have wasted a week trying to get FOP to work. Jim -Original Message- From: Wolf Gustavo (SGC-EXT) [mailto:[EMAIL PROTECTED]] Sent: Friday, July 06, 2001 10:11 AM To: '[EMAIL PROTECTED]' Subject: RE: Need Working Sample Hi Jim, I have exactly the same problem, and I've just found a non elegant, working solution: I generate my XML file, and then call the command line Fop from within my servlet: Runtime.getRuntime().exec(new String[]{java.exe, -cp, c:\\fop\\Fop-0.18.1-DEV\\fop.jar;c:\\fop\\Fop-0.18.1-DEV\\lib\\w3c.jar;c:\\ fop\\Fop-0.18.1-DEV\\lib\\xalan-2.0.0.jar;c:\\fop\\Fop-0.18.1-DEV\\lib\\xerc es-1.2.3.jar;c:\\fop\\Fop-0.18.1-DEV\\lib\\jimi-1.0.jar, org.apache.fop.apps.Fop, -xml , c:\\prueba.xml, -xsl , c:\\prueba.xsl, -pdf , c:\\prueba.pdf}); As I said, it is NOT elegant, but after sweating for days with problems of all type doing the elegant thing, I get my beautiful PDF on disk. Of course you should adapt the names of trhe directories and the xml and xsl files. Cheers, Gustavo PS: if someone has an elegant solution I would be happy to use it too. -Message d'origine- De : Jim Urban [mailto:[EMAIL PROTECTED]] Envoyé : vendredi, 6. juillet 2001 17:09 À : [EMAIL PROTECTED] Objet : Need Working Sample Hi, I am new to FOP. I have a servlet which dynamically generates XML. I need to apply an XSL stylesheet containing FO tags to generate a FO version of the XML and then I need to run this FO version of the XML through FOP (or Driver) so the servlet can return a dynamically created PDF to the browser. Does anyone have a working example of how to do this? Only the XSL style sheet containing the FO tags used in the initial transform will be on disk. Please help, I have to get this working. Thanks, Jim Urban Product Manager Netsteps Inc. Suite 505E 1 Pierce Pl. Itasca, IL 60143 Voice: (630) 250-3045 x2164 Fax: (630) 250-3046 Fichier: ATT14204.txt - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]