Why do links generate multiple rectangles in PDF?
Can anyone (Arved?) give me a brief explanation of why one fo:basic-link will generate multiple link rectangles (one for each word!) in a PDF rendering? This would seem to have a dramatic effect on the file size of larger PDF documents with many multi-word links. It's such a (seemingly) strange behaviour that there must be some justification, although I can't find it in the mailing list archives. Any help appreciated. Adrian Edwards Application Developer Netimpact Online Publishing http://www.netimpact.com.au - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Why do links generate multiple rectangles in PDF?
Thanks Arved, That sounds far more promising than I had hoped. I thought that it might have had something to do with making it easier to wrap links that spanned multiple lines... Does your response mean that the code to join (or not split) the linked rectangles would still in their somewhere and just needs to be switched back on? If so, do you think there is any chance of having this fixed for the upcoming 0.20.4 release? It's really blowing out the file sizes of the work I am doing with fop, since we are generating index pages to collections of PDFs, so our document are nearly all links! My Java isn't that strong, but I'd be happy to take a look at the code if you could point me in the right direction. Regards, Adrian PS: I have submitted this to Bugzilla now that I have your confirmation that this is an unintentional behaviour. -Original Message- From: Arved Sandstrom [mailto:[EMAIL PROTECTED]] Sent: Wednesday, 22 May 2002 8:07 PM To: [EMAIL PROTECTED] Subject: RE: Why do links generate multiple rectangles in PDF? Hi, Adrian It's been quite a while but I recall that at the time that basic-link code was written (long enough ago that they were still called simple-links) there was an option to choose between link rectangles per word, which aws intended more as a debugging setting, or combining link rectangles into larger rectangles where possible (that is, if the geometry permitted). It was certainly the intention (and I believe it worked this way) that a number of linked line areas all with the same inline-progression dimension would result in _one_ linked rectangle. As one example. So that's your answer. :-) The multiple linked areas are an ancient debugging artifact, that seems to have become the norm. Regards, AHS -Original Message- From: Adrian Edwards [mailto:[EMAIL PROTECTED]] Sent: May 22, 2002 4:08 AM To: [EMAIL PROTECTED] Subject: Why do links generate multiple rectangles in PDF? Can anyone (Arved?) give me a brief explanation of why one fo:basic-link will generate multiple link rectangles (one for each word!) in a PDF rendering? This would seem to have a dramatic effect on the file size of larger PDF documents with many multi-word links. It's such a (seemingly) strange behaviour that there must be some justification, although I can't find it in the mailing list archives. Any help appreciated. Adrian Edwards Application Developer Netimpact Online Publishing http://www.netimpact.com.au - 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: Why do links generate multiple rectangles in PDF?
You are right, simply adding: -Dlinks.merge=yes to the command line results in one link rectangle per line, just as would be expected. My test file reduced in size from 1,659 KB to 368 KB! FYI, this XSL-FO doc has 1290 fo:basic-links, all multi-word. You are also right that it would be useful to change the default behaviour. Should be fixeable for 0.20.4? Either way, we should document this system property in the FAQ (at least). Thanks very much for you help with this Arved. Another satisfied customer. Best regards, Adrian -Original Message- From: Arved Sandstrom [mailto:[EMAIL PROTECTED]] Sent: Thursday, 23 May 2002 12:00 PM To: [EMAIL PROTECTED] Subject: RE: Why do links generate multiple rectangles in PDF? Yes, the code is still in there, essentially unchanged. If you look at BasicLink.java you'll see a call to LinkSet.merge(), _if_ a system property called links.merge has been set, and is anything other than no, on the command line. It would probably be useful to change the default behaviour here. The merge() method in LinkSet.java is very much still in existence. Presumably, because of the default setting, this has never been used by anyone for at least a year (maybe closer to 2 years), so I have no idea whether it works anymore. It's worth a try, and I'm sure it's quite fixeable (is that a word???). Now that I look at it this method only joins links on the same line, which is clearly an improvement over what you have now. It could be improved for paragraphs I'm sure. Regards, Arved - 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: Aids to distributed design
Microsoft NetMeeting includes a shared whiteboard that certainly isn't a vector drawing tool, but has been useful to me in several distributed design sessions. Of course, I imagine it's only available for Windows... Adrian -Original Message- From: Peter B. West [mailto:[EMAIL PROTECTED]] Sent: April 23, 2002 8:18 AM To: fop-dev Subject: Aids to distributed design [ SNIP ] While I am not suggesting that anything much is likely to change in the current situation, I think that one of the lessons here is the importance of chat. This is particularly difficult with wide geographical distribution, but I have done it on occasions with a group spread from California through New York and London to Tokyo and Brisbane. The major hurdle is finding any times when everyone can be available. Even when not everyone could be there, logs of the conversation could be very valuable. The other critical component is drawings. If I had the choice of unlimited text or drawings with minimal annotations for communicating design ideas, I would take the drawings every time. I'm not talking here about formal techniques like UML, which are design documentation tools, but the informal scribblings which are universal when programmers - sorry, engineers - get together to talk design, and which are the basic tool of all of my design thinking. What would be good is to combine the two. I.e., to chat on the one hand, and on the other to be able to use a vector drawing tool with a distributed canvas, which others could annotate or modify in real time, during the chat session. Does anything like that exist? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: PDF JavaScript and Form Fields: FOP prototype version is available
Well done. There is interest. I, for one, would be very interested in seeing the techniques that you have used to make this work. We have been struggling with our own attempt to get FOP to generate PDF JavaScript, but just using the extension element mapping interface. It was becoming clear that branching the source might be the only way to go... Look forward to seeing your inputs and adapted source code. Adrian -Original Message- From: J.U. Anderegg [mailto:[EMAIL PROTECTED]] Sent: Saturday, 13 April 2002 6:24 AM To: [EMAIL PROTECTED] Subject: PDF JavaScript and Form Fields: FOP prototype version is available Attached I send a small demo document generated by an adapted FOP system. If attachements do not work in the forum, send me a request by e-mail. If there is interest I will compile the inputs, some comments and a list of related documents. PDF JavaScript and Form Fields cover a broad range of applications from simple user navigation/form-fillin to complex database/transaction systems. Note that many functions need more Adobe software than just Acrobat Reader. Hansuli Anderegg, Zurich - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Colon character problematic in xsl:template match=StringContainingColon ??
Whether the problem that you are seeing (and working around) should be happening is the subject of the controversy that I mentioned. If you are interested in the discussion of why relative URIs (including fragment identifiers such as '#RowsetSchema') are often discouraged as namespace identifiers, follow the thread beginning with Michael Champion's reply to: http://lists.w3.org/Archives/Public/xml-uri/2000May/.html PS: No apologies necessary either way Joe. I can see what led you to suspect that thismight bea problem with fop. -Original Message-From: Joe Sytniak [mailto:[EMAIL PROTECTED]]Sent: Wednesday, 20 March 2002 2:05 AMTo: [EMAIL PROTECTED]Subject: Re: Colon character problematic in xsl:template match="StringContainingColon" ?? You are correct - I am using the MSXML parser. I only use the apache code for FO - PDF.By the way - it works really great - as long as I use this workaround. I will follow your suggestion and use another engine to test the XSLT to html. If the problem is the same,then I agree that this is a problem topic that has no relevance on this list and I apologize. Still - it seems to me that the problem I am seeing (and working around) should not be happening. - Original Message - From: Adrian Edwards To: [EMAIL PROTECTED] Sent: Tuesday, March 19, 2002 12:00 AM Subject: RE: Colon character problematic in xsl:template match="StringContainingColon" ?? Dear Joe, You have opened a can of worms. See the last QA at: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/htm/xslt_starter_8f3o.asp which shows you how to make the transformation work with MSXML, but I'm not sure the fragment identifier as namespace identifier ('#RowsetSchema') will work with Xalan. The namespace issues that Microsoft have built into their ADO persisted XML have sparked long and controversial discussions among greater minds than ours. Perhaps it's time to move to ADO.NET?
RE: Colon character problematic in xsl:template match=StringContainingColon ??
Dear Joe, You have opened a can of worms. See the last QA at: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/htm/xslt_starter_8f3o.asp which shows you how to make the transformation work with MSXML, but I'm not sure the fragment identifier as namespace identifier ('#RowsetSchema') will work with Xalan. The namespace issues that Microsoft have built into their ADO persisted XML have sparked long and controversial discussions among greater minds than ours. Perhaps it's time to move to ADO.NET? You say that you are "able to create XSL for normal transformations to HTML just fine", but I assume that you are using MSXML as your XSLT engine (probably through IE?). Try using any other XSLT engine and I'll wager your "normal" transformation to HTML won't work. BTW, is this really a question for fop-dev? Perhaps you aren't aware of the [EMAIL PROTECTED]mailing list... Even then, the issue really has little to do with fop, being largely a general XSLT issue. That is, you would have the same problem transforming ADO persisted XML to any schema, not just XSL-FO. Still, happy to help initially. Adrian Edwards Netimpact Online Publishing http://www.netimpact.com.au -Original Message-From: Joe Sytniak [mailto:[EMAIL PROTECTED]]Sent: Tuesday, 19 March 2002 10:22 AMTo: [EMAIL PROTECTED]Subject: Colon character problematic in xsl:template match="StringContainingColon" ?? All -I am using ADO to produce XML. This tends to get created as such: ?xml-stylesheet type="text/xsl"? xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" s:Schema id="RowsetSchema" . clipped schema elements /s:Schema rs:data z:row atributes go here/z:row /rs:dataI am able to create XSL for normal transformations to HTML just fine. But inorder to get XSLFO to work, I must change the names of the 'rs:data' and'z:row' nodes to something that does not contain a colon charater (ie.rs-data z-row). This seems to indicate that it is the colon character thatis causing the problem. Not sure if it could be anything else. I suppose Icould copy nodes to another more friendly node, but it seems that thisshould not be necessary.Anyone have a better way of dealing with this?TIAJoe SytniakPhase Forward, Inc.
RE: Example extension
Thanks Keiron. Look forward to seeing the example. Can you please announce the commit on this thread for completeness of the archive? -Original Message- From: Keiron Liddle [mailto:[EMAIL PROTECTED]] Sent: Tuesday, 5 March 2002 9:24 PM To: [EMAIL PROTECTED] Subject: Re: Example extension Hi, I will note the type of extension you are considering. I am going to commit an example extension of a different type to the cvs trunk. This works in a slightly different way but demonstrates the concept. On 2002.03.04 03:00 Adrian Edwards wrote: Hi Keiron, Fair question, although it is not so much which classes to modify that I am having trouble with, but just the mechanics of constructing and referencing an extension jar file that I would like to see. Perhaps it is my lack of experience with the Apache project, but the current documentation appears to assume some knowledge that I just do not have. I am confident that seeing _any_ example extension at all, regardless of its purpose, would clear up my confusion. There are a number of extensions I am considering, but each of them shares the common requirement of leveraging PDF functionality (understandably) not supported by XSL-FO. So the basic model is that some custom elements in the FO tree need to produce layout objects that result in some specific PDF syntax. I guess the simplest example would be that we would like something like: my:script-link script=app.execMenuItem('AcroSrch:Query'); Search/my:script-link to result in a text box referencing the following PDF action: /S /JavaScript /JS (app.execMenuItem(AcroSrch:Query);) Pretty simple stuff, and I can easily follow the processing of fo:basic-link to create the code I need, but how do I package that code (or any other) so that FOP recognises script-link and processes it with my code? I look forward to your response (and to the new way of doing things ;-) -Original Message- From: Keiron Liddle [mailto:[EMAIL PROTECTED]] Sent: Friday, 1 March 2002 8:13 PM To: [EMAIL PROTECTED] Subject: Re: Example extension Hi, It really depends on what type of extension you want to do. This is an area that will change and become much easier in the future (in theory). Examples and help will be available for the new way of doing things. Could you tell us what you want your extension to do so that we have more ideas on what type of extensions people are thinking about. Then we can work out how they should be handled if possible. So to answer your question, there are some extensions but it really depends on what you want to do. On 2002.03.01 08:33 Adrian Edwards wrote: Hi fop-dev, Has anyone written a simple(ish) FOP extension that they would be willing to share with the list (or even just me) as an example? I'm talking full jar file here. The lack of examples (other than the quite complicated SVG extension) in the docs and on the mailing lists is quite frustrating. We don't have to go through the work of writing it up for publication (yet). Just seeing the mechanics of someone else's jar would be great for beginners. Thanks in advance. - 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: Example extension
Hi Keiron, Fair question, although it is not so much which classes to modify that I am having trouble with, but just the mechanics of constructing and referencing an extension jar file that I would like to see. Perhaps it is my lack of experience with the Apache project, but the current documentation appears to assume some knowledge that I just do not have. I am confident that seeing _any_ example extension at all, regardless of its purpose, would clear up my confusion. There are a number of extensions I am considering, but each of them shares the common requirement of leveraging PDF functionality (understandably) not supported by XSL-FO. So the basic model is that some custom elements in the FO tree need to produce layout objects that result in some specific PDF syntax. I guess the simplest example would be that we would like something like: my:script-link script=app.execMenuItem('AcroSrch:Query'); Search/my:script-link to result in a text box referencing the following PDF action: /S /JavaScript /JS (app.execMenuItem(AcroSrch:Query);) Pretty simple stuff, and I can easily follow the processing of fo:basic-link to create the code I need, but how do I package that code (or any other) so that FOP recognises script-link and processes it with my code? I look forward to your response (and to the new way of doing things ;-) -Original Message- From: Keiron Liddle [mailto:[EMAIL PROTECTED]] Sent: Friday, 1 March 2002 8:13 PM To: [EMAIL PROTECTED] Subject: Re: Example extension Hi, It really depends on what type of extension you want to do. This is an area that will change and become much easier in the future (in theory). Examples and help will be available for the new way of doing things. Could you tell us what you want your extension to do so that we have more ideas on what type of extensions people are thinking about. Then we can work out how they should be handled if possible. So to answer your question, there are some extensions but it really depends on what you want to do. On 2002.03.01 08:33 Adrian Edwards wrote: Hi fop-dev, Has anyone written a simple(ish) FOP extension that they would be willing to share with the list (or even just me) as an example? I'm talking full jar file here. The lack of examples (other than the quite complicated SVG extension) in the docs and on the mailing lists is quite frustrating. We don't have to go through the work of writing it up for publication (yet). Just seeing the mechanics of someone else's jar would be great for beginners. Thanks in advance. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Example extension
Hi fop-dev, Has anyone written a simple(ish) FOP extension that they would be willing to share with the list (or even just me) as an example? I'm talking full jar file here. The lack of examples (other than the quite complicated SVG extension) in the docs and on the mailing lists is quite frustrating. We don't have to go through the work of writing it up for publication (yet). Just seeing the mechanics of someone else's jar would be great for beginners. Thanks in advance. Regards, Adrian Edwards Application Developer Netimpact Online Publishing http://www.netimpact.com.au - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Example extension
Thanks for that very interesting link Michiel. But I couldn't find any information on extending fop there, just extending XSLT. Of course, I may have missed it... I have no trouble with including elements from a custom namespace in an XSL-FO document, it's just the Java code to get FOP to handle my extension elements that I cannot find any good examples for. Once again, I appreciate your attempt at help. Anyone else? - Adrian -Original Message- From: Michiel Verhoef [mailto:[EMAIL PROTECTED]] Sent: Friday, 1 March 2002 6:36 PM To: '[EMAIL PROTECTED]' Subject: RE: Example extension Have a look at: http://www.exslt.org/ HTH, Michiel $ -Original Message- $ From: Adrian Edwards [mailto:[EMAIL PROTECTED]] $ Sent: vrijdag 1 maart 2002 8:34 $ To: [EMAIL PROTECTED] $ Subject: Example extension $ $ $ Hi fop-dev, $ $ Has anyone written a simple(ish) FOP extension that they would be $ willing to share with the list (or even just me) as an example? I'm $ talking full jar file here. The lack of examples (other than $ the quite $ complicated SVG extension) in the docs and on the mailing $ lists is quite $ frustrating. $ $ We don't have to go through the work of writing it up for publication $ (yet). Just seeing the mechanics of someone else's jar would be great $ for beginners. $ $ Thanks in advance. $ $ Regards, $ $ Adrian Edwards $ Application Developer $ Netimpact Online Publishing $ http://www.netimpact.com.au $ $ $ - $ 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]