Re: Named Destinations
Hi Ricardo, your additions seem right to me. Yet, I would recommend not to replace the #dest=-syntax by the the #nameddest-syntax but to add simply another option. In other words there would be the following options to specify named destinations: 1. .pdf#page= 2. .pdf#dest= 3. .pdf#nameddest= 4. .pdf# The syntax used inside FOP to describe named destination must not necessarily support only what Adobe suggests. --Stefan Hi all, I'm really glad to see that in 0.20.5 it will be possible to create named destinations in PDF. I have some small sugestions about this functionality. I'm using Acrobat Reader 5.1 and I was surprised to find out that the url syntax '.pdf#dest=NamedDest' wasn't working for me. I've looked deeper into http://www.adobe.com/products/acrobat/pdfs/c01acrotip.pdf#page=4 and I found a difference between the table (.pdf#dest=NamedDest) and the examples (.pdf#namedest=NamedDest). Helas the syntax '.pdf#namedest=NamedDest' also didn't work. Finally I've tried the syntax '.pdf#nameddest=NamedDest' and it worked. I've also tested the syntax '.pdf#NamedDest' and it also works fine. After some googling I found http://www.adobe.com/support/techdocs/a17e.htm and it looks like that the later form is really the one supported. If you believe it to be safe, the changes required to contemplate the working forms in pdf/PDFDocument.java would be: Change PDF urls with named destinations Diff for src/org/apache/fop/pdf/PDFDocument.java (rev 1.30.2.8) 1096c1096 } else if ((index = destination.indexOf(.pdf#dest=)) 0) { --- } else if ((index = destination.indexOf(.pdf#nameddest=)) 0) { 1098c1098,1106 String dest = destination.substring(index + 10); --- String dest = destination.substring(index + 15); PDFFileSpec fileSpec = new PDFFileSpec(++this.objectcount, file); this.objects.add(fileSpec); action = new PDFGoToRemote(++this.objectcount, fileSpec, dest); this.objects.add(action); link.setAction(action); } else if ((index = destination.indexOf(.pdf#)) 0) { String file = destination.substring(0, index + 4); String dest = destination.substring(index + 5); In my use of named destinations, I generate named destinations for every bookmark I have in my documents. The fact that the extension element fox:destination is only processed when used as a root element forces me to make and additional pass on my xml document just to generate the named destinations. If fox:destination was also processed whent it is used as a child of a fox:outline, I could avoid that additional pass. One way to achieve this, would be to add/change the following in extensions/Outline.java and render/pdf/PDFRenderer.java: Allow fox:destination as child of fox:outline Diff for src/org/apache/fop/extensions/Outline.java (maint rev 1.4.2.5) 63a64 private ArrayList _destinations = new ArrayList(); 119a121,122 } else if (obj instanceof Destination) { _destinations.add(obj); 142a146,149 } public ArrayList getDestinations() { return _destinations; Diff for src/org/apache/fop/render/pdf/PDFRenderer.java (maint rev 1.91.2.15) 986,987c986 Destination d = (Destination)ext; pdfDoc.addDestination(d.getDestinationName(), d.getInternalDestination()); --- renderDestination((Destination) ext); 1021a1021,1030 // handle sub destinations List vd = outline.getDestinations(); for (int i = 0; i vd.size(); i++) { renderDestination((Destination) vd.get(i)); } } private void renderDestination(Destination d) { pdfDoc.addDestination(d.getDestinationName(), d.getInternalDestination()); BTW, shouldn't the method getName in extensions/Outline.java return fox:outline instead of fop:outline? The constructor warning messages use fox:outline. This is probably not the best way to provide this kind of patches. If you need anything else, feel free to ask, I'll do my best. I try to follow the digest of this list, but it might be better to email me directly also. In the last few days I've also added some problems to Bugzilla. This is the first time I use Bugzilla and I've tried not to waste your time and be as effective as possible. I hope I didn't make anything wrong... Congratulations to you all for the excellent job you are doing, :-)) Ricardo Amador - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Named Destinations
Hi Stefan, I agree with you, it is safer and nicer that way. I'm currently trying to install WinCVS, hoping to be able to produce better patches (this patch stuff is new to me). I'll post the updated patches as soon as possible. Best Regards, Ricardo -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 18, 2003 11:45 AM To: Ricardo Amador Cc: [EMAIL PROTECTED] Subject: Re: Named Destinations Hi Ricardo, your additions seem right to me. Yet, I would recommend not to replace the #dest=-syntax by the the #nameddest-syntax but to add simply another option. In other words there would be the following options to specify named destinations: 1. .pdf#page= 2. .pdf#dest= 3. .pdf#nameddest= 4. .pdf# The syntax used inside FOP to describe named destination must not necessarily support only what Adobe suggests. --Stefan Hi all, I'm really glad to see that in 0.20.5 it will be possible to create named destinations in PDF. I have some small sugestions about this functionality. I'm using Acrobat Reader 5.1 and I was surprised to find out that the url syntax '.pdf#dest=NamedDest' wasn't working for me. I've looked deeper into http://www.adobe.com/products/acrobat/pdfs/c01acrotip.pdf#page=4 and I found a difference between the table (.pdf#dest=NamedDest) and the examples (.pdf#namedest=NamedDest). Helas the syntax '.pdf#namedest=NamedDest' also didn't work. Finally I've tried the syntax '.pdf#nameddest=NamedDest' and it worked. I've also tested the syntax '.pdf#NamedDest' and it also works fine. After some googling I found http://www.adobe.com/support/techdocs/a17e.htm and it looks like that the later form is really the one supported. If you believe it to be safe, the changes required to contemplate the working forms in pdf/PDFDocument.java would be: Change PDF urls with named destinations Diff for src/org/apache/fop/pdf/PDFDocument.java (rev 1.30.2.8) 1096c1096 } else if ((index = destination.indexOf(.pdf#dest=)) 0) { --- } else if ((index = destination.indexOf(.pdf#nameddest=)) 0) { 1098c1098,1106 String dest = destination.substring(index + 10); --- String dest = destination.substring(index + 15); PDFFileSpec fileSpec = new PDFFileSpec(++this.objectcount, file); this.objects.add(fileSpec); action = new PDFGoToRemote(++this.objectcount, fileSpec, dest); this.objects.add(action); link.setAction(action); } else if ((index = destination.indexOf(.pdf#)) 0) { String file = destination.substring(0, index + 4); String dest = destination.substring(index + 5); In my use of named destinations, I generate named destinations for every bookmark I have in my documents. The fact that the extension element fox:destination is only processed when used as a root element forces me to make and additional pass on my xml document just to generate the named destinations. If fox:destination was also processed whent it is used as a child of a fox:outline, I could avoid that additional pass. One way to achieve this, would be to add/change the following in extensions/Outline.java and render/pdf/PDFRenderer.java: Allow fox:destination as child of fox:outline Diff for src/org/apache/fop/extensions/Outline.java (maint rev 1.4.2.5) 63a64 private ArrayList _destinations = new ArrayList(); 119a121,122 } else if (obj instanceof Destination) { _destinations.add(obj); 142a146,149 } public ArrayList getDestinations() { return _destinations; Diff for src/org/apache/fop/render/pdf/PDFRenderer.java (maint rev 1.91.2.15) 986,987c986 Destination d = (Destination)ext; pdfDoc.addDestination(d.getDestinationName(), d.getInternalDestination()); --- renderDestination((Destination) ext); 1021a1021,1030 // handle sub destinations List vd = outline.getDestinations(); for (int i = 0; i vd.size(); i++) { renderDestination((Destination) vd.get(i)); } } private void renderDestination(Destination d) { pdfDoc.addDestination(d.getDestinationName(), d.getInternalDestination()); BTW, shouldn't the method getName in extensions/Outline.java return fox:outline instead of fop:outline? The constructor warning messages use fox:outline. This is probably not the best way to provide this kind of patches. If you need anything else, feel free to ask, I'll do my best. I try to follow the digest of this list, but it might be better to email me directly also. In the last few days I've also added some problems to Bugzilla. This is the first time I use Bugzilla and I've tried not to waste your time and be as effective
[PATCH] Named Destinations (was RE: Named Destinations)
Here are the updated patches to: - Add .pdf#nameddest= and .pdf# as alternative syntax forms of PDF urls with named destinations (according to Stefan recommendation): pdfurl.diff - Add processing of fox:destination as child of fox:outline (no changes, but as an attachement there are no wrapped lines): outlndest.diff -Original Message- From: Ricardo Amador [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 18, 2003 7:41 PM To: '[EMAIL PROTECTED]' Cc: '[EMAIL PROTECTED]' Subject: RE: Named Destinations Hi Stefan, I agree with you, it is safer and nicer that way. I'm currently trying to install WinCVS, hoping to be able to produce better patches (this patch stuff is new to me). I'll post the updated patches as soon as possible. Best Regards, Ricardo -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 18, 2003 11:45 AM To: Ricardo Amador Cc: [EMAIL PROTECTED] Subject: Re: Named Destinations Hi Ricardo, your additions seem right to me. Yet, I would recommend not to replace the #dest=-syntax by the the #nameddest-syntax but to add simply another option. In other words there would be the following options to specify named destinations: 1. .pdf#page= 2. .pdf#dest= 3. .pdf#nameddest= 4. .pdf# The syntax used inside FOP to describe named destination must not necessarily support only what Adobe suggests. --Stefan Hi all, I'm really glad to see that in 0.20.5 it will be possible to create named destinations in PDF. I have some small sugestions about this functionality. I'm using Acrobat Reader 5.1 and I was surprised to find out that the url syntax '.pdf#dest=NamedDest' wasn't working for me. I've looked deeper into http://www.adobe.com/products/acrobat/pdfs/c01acrotip.pdf#page=4 and I found a difference between the table (.pdf#dest=NamedDest) and the examples (.pdf#namedest=NamedDest). Helas the syntax '.pdf#namedest=NamedDest' also didn't work. Finally I've tried the syntax '.pdf#nameddest=NamedDest' and it worked. I've also tested the syntax '.pdf#NamedDest' and it also works fine. After some googling I found http://www.adobe.com/support/techdocs/a17e.htm and it looks like that the later form is really the one supported. If you believe it to be safe, the changes required to contemplate the working forms in pdf/PDFDocument.java would be: Change PDF urls with named destinations Diff for src/org/apache/fop/pdf/PDFDocument.java (rev 1.30.2.8) 1096c1096 } else if ((index = destination.indexOf(.pdf#dest=)) 0) { --- } else if ((index = destination.indexOf(.pdf#nameddest=)) 0) { 1098c1098,1106 String dest = destination.substring(index + 10); --- String dest = destination.substring(index + 15); PDFFileSpec fileSpec = new PDFFileSpec(++this.objectcount, file); this.objects.add(fileSpec); action = new PDFGoToRemote(++this.objectcount, fileSpec, dest); this.objects.add(action); link.setAction(action); } else if ((index = destination.indexOf(.pdf#)) 0) { String file = destination.substring(0, index + 4); String dest = destination.substring(index + 5); In my use of named destinations, I generate named destinations for every bookmark I have in my documents. The fact that the extension element fox:destination is only processed when used as a root element forces me to make and additional pass on my xml document just to generate the named destinations. If fox:destination was also processed whent it is used as a child of a fox:outline, I could avoid that additional pass. One way to achieve this, would be to add/change the following in extensions/Outline.java and render/pdf/PDFRenderer.java: Allow fox:destination as child of fox:outline Diff for src/org/apache/fop/extensions/Outline.java (maint rev 1.4.2.5) 63a64 private ArrayList _destinations = new ArrayList(); 119a121,122 } else if (obj instanceof Destination) { _destinations.add(obj); 142a146,149 } public ArrayList getDestinations() { return _destinations; Diff for src/org/apache/fop/render/pdf/PDFRenderer.java (maint rev 1.91.2.15) 986,987c986 Destination d = (Destination)ext; pdfDoc.addDestination(d.getDestinationName(), d.getInternalDestination()); --- renderDestination((Destination) ext); 1021a1021,1030 // handle sub destinations List vd = outline.getDestinations(); for (int i = 0; i vd.size(); i++) { renderDestination((Destination) vd.get(i)); } } private void renderDestination(Destination d) { pdfDoc.addDestination(d.getDestinationName(), d.getInternalDestination()); BTW, shouldn't the method getName
Patch for Named Destinations
Hi all. I patched the fop-0_20_2-maintain branch (21-01-2003, approx. 20:00 CET) to have named destinations. The patch allows to link to other PDF-Documents by the following syntax: fo:basic-link external-destination=handbuch-fop.pdf#dest=xyzexternal link to named destination/fo:basic-link fo:basic-link external-destination=handbuch-fop.pdf#page=5external link to page/fo:basic-link This part is based on work by Bernd Brandstetter published recently in the fop-user-list. In addition, the patch allows to define named destinations by a new extension element with the following syntax: fox:destination xmlns:fox=http://xml.apache.org/fop/extensions; destination-name=xyz internal-destination=N40001A/ The destination-name attribute must correspond to the value used in the link (dest=xyz above). The fox:destination elements must be children of the fo:root element. In addition, they must not be the last children, i.e. they should be placed right after the fo:root element opened. (Otherwise they get not processed for whaterever reason this is). This part is based on work by Lloyed McKenzie that was published in the fop-dev-list in November 2001. Two additional classes are neccessary: 1. The destination extension element (org.apache.fop.extensions.Destination) 2. The PDF element for the destination (org.apache.fop.pdf.PDFDestination) --Stefan named-destinations.diff Description: Binary data Destination.java Description: Binary data PDFDestination.java Description: Binary data - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Named Destinations
Hi all. Reading the mailing list archives (developer and user) I found that the topic of named destinations was raised several times and it seems that many people would like / need this feature. Studiying the changes list I even found the entry # Linking to a specific page and a named destinations of an external PDF file. (see www.adobe.com/products/acrobat/pdfs/c01acrotip.pdf) (CG) Thanks to Bernd Brandstetter. # update Unfortunately the corresponding patch (submitted on the user-list) seems not to be integrated in the next release 0.20.5. However, I could patch FOP myself. In addition, in November 2001, Lloyd McKenzie submitted a patch in the developer list that allowed the definition of named destinations (i.e. targets one can link to). His patch is not integrated either and I fruitlessly tried to apply it manually on the current version. Now my kind plea is that some of the FOP gurus could take a look on it and integrate this functionality. I am sure that many users would appreciate it much. --Stefan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: Named Destinations
[EMAIL PROTECTED] wrote: Hi all. Reading the mailing list archives (developer and user) I found that the topic of named destinations was raised several times and it seems that many people would like / need this feature. Studiying the changes list I even found the entry # Linking to a specific page and a named destinations of an external PDF file. (see www.adobe.com/products/acrobat/pdfs/c01acrotip.pdf) (CG) Thanks to Bernd Brandstetter. # update Unfortunately the corresponding patch (submitted on the user-list) seems not to be integrated in the next release 0.20.5. However, I could patch FOP myself. The patch from Bernd should work with the maintenance branch http://marc.theaimsgroup.com/?l=fop-cvsm=103478902410381w=2 [..] Now my kind plea is that some of the FOP gurus could take a look on it and integrate this functionality. I am sure that many users would appreciate it much. Sorry, to late for 0.20.5 Christian - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: insertion of named destinations into pdfs
Hi Matthew, I was running into the same problem. I've written an extension (similar to the bookmark extension) that provides support for PDF Named Destinations. I've also included modifications that allow references to a specific Named Destination when linking to an external PDF. (The code basically checks for .PDF#, and uses whatever follows the '#' as the named destination within the target PDF.) The attached files includes the additions/modifications to make it work, as well as a chunk of HTML that can be added to the web-site list of extensions. (It includes details on how to use the extension.) The diff files are comparisons against fop-0.20.2. I did a quick check through the CVS list archive and couldn't see any of the impacted files that have changed since then, but no promises : Hope everyone finds this useful, Lloyd (See attached file: fop-pdfDestination.zip) Lloyd McKenzie, P.Eng. I/T Architect, IBM Global Services Internet: [EMAIL PROTECTED] PhoneMail: (780)421-5620 Internal Mail:AZ*K0R*1004 *EDM [EMAIL PROTECTED] on 11/02/2001 05:46:10 PM - Message from Matthew L. Avizinis [EMAIL PROTECTED] on Mon, 29 Oct 2001 12:07:48 -0500 - To: [EMAIL PROTECTED] Subject: insertion of named destinations into pdf's Hello, I saw a brief discussion several (probably about six) months ago about this topic and the outcome didn't seem clear to me whether or not fop supports insertion of name destinations in pdf's (not bookmarks) so that it would be possible to open a pdf to a specific location from either another program or another pdf. As far as I can tell with the examples, newlinktest.fo and link.fo, it is possible to bounce around within a document and to link to another document. However, it looks like it only links to the top of the file, not to some destination in the middle of the file. If it is possible, how would you specify it? Is there some functionality to fo:basic-link that I am missing or is there something undocumented I am not aware of, or is this just not implemented yet? Thanks ahead for any creative suggestions. Matthew L. Avizinis mailto:[EMAIL PROTECTED] Gleim Publications, Inc. 4201 NW 95th Blvd. Gainesville, FL 32606 (352)-375-0772 ext. 101 www.gleim.com http://www.gleim.com === Information in this email and any attachments are confidential, and may not be copied or used by anyone other than the addressee, nor disclosed to any third party without my permission, however keg parties are ok. There is no intention to create any legally binding contract or other commitment, like marriage, through the use of this email. fop-pdfDestination.zip - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
insertion of named destinations into pdf's
Hello, I saw a brief discussion several (probably about six) months ago about this topic and the outcome didn't seem clear to me whether or not fop supports insertion of name destinations in pdf's (not bookmarks) so that it would be possible to open a pdf to a specific location from either another program or another pdf. As far as I can tell with the examples, newlinktest.fo and link.fo, it is possible to bounce around within a document and to link to another document. However, it looks like it only links to the top of the file, not to some destination in the middle of the file. If it is possible, how would you specify it? Is there some functionality to fo:basic-link that I am missing or is there something undocumented I am not aware of, or is this just not implemented yet? Thanks ahead for any creative suggestions. Matthew L. Avizinis mailto:[EMAIL PROTECTED] Gleim Publications, Inc. 4201 NW 95th Blvd. Gainesville, FL 32606 (352)-375-0772 ext. 101 www.gleim.com http://www.gleim.com === Information in this email and any attachments are confidential, and may not be copied or used by anyone other than the addressee, nor disclosed to any third party without my permission, however keg parties are ok. There is no intention to create any legally binding contract or other commitment, like marriage, through the use of this email. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
insertion of named destinations into pdf's
I also noticed that the basic-links are inserted about 10-15mm _above_ the text of link itself. Is this a known defect or is there some other setting to be made to put the link in the same location as the text you want anchored. thanks again, Hello, I saw a brief discussion several (probably about six) months ago about this topic and the outcome didn't seem clear to me whether or not fop supports insertion of name destinations in pdf's (not bookmarks) so that it would be possible to open a pdf to a specific location from either another program or another pdf. As far as I can tell with the examples, newlinktest.fo and link.fo, it is possible to bounce around within a document and to link to another document. However, it looks like it only links to the top of the file, not to some destination in the middle of the file. If it is possible, how would you specify it? Is there some functionality to fo:basic-link that I am missing or is there something undocumented I am not aware of? I never thought I'd need this particular functionality, but it has been thrown at me for put-everything-else-aside implementation. Thanks ahead for any creative and positive suggestions. Matthew L. Avizinis mailto:[EMAIL PROTECTED] Gleim Publications, Inc. 4201 NW 95th Blvd. Gainesville, FL 32606 (352)-375-0772 ext. 101 www.gleim.com http://www.gleim.com === Information in this email and any attachments are confidential, and may not be copied or used by anyone other than the addressee, nor disclosed to any third party without my permission, however keg parties are ok. There is no intention to create any legally binding contract or other commitment, like marriage, through the use of this email. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
insertion of named destinations into pdf's
Hello, I saw a brief discussion several (probably about six) months ago about this topic and the outcome didn't seem clear to me whether or not fop supports insertion of name destinations in pdf's (not bookmarks) so that it would be possible to open a pdf to a specific location from either another program or another pdf. As far as I can tell with the examples, newlinktest.fo and link.fo, it is possible to bounce around within a document and to link to another document. However, it looks like it only links to the top of the file, not to some destination in the middle of the file. If it is possible, how would you specify it? Is there some functionality to fo:basic-link that I am missing or is there something undocumented I am not aware of? I never thought I'd need this particular functionality, but it has been thrown at me for put-everything-else-aside implementation. Thanks ahead for any creative and positive suggestions. Matthew L. Avizinis mailto:[EMAIL PROTECTED] Gleim Publications, Inc. 4201 NW 95th Blvd. Gainesville, FL 32606 (352)-375-0772 ext. 101 www.gleim.com http://www.gleim.com === Information in this email and any attachments are confidential, and may not be copied or used by anyone other than the addressee, nor disclosed to any third party without my permission, however keg parties are ok. There is no intention to create any legally binding contract or other commitment, like marriage, through the use of this email. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
insertion of named destinations into pdf's
I also noticed that the basic-links are inserted about 10-15mm _above_ the text of link itself. Is this a known defect or is there some other setting to be made to put the link in the same location as the text you want anchored. thanks again, Hello, I saw a brief discussion several (probably about six) months ago about this topic and the outcome didn't seem clear to me whether or not fop supports insertion of name destinations in pdf's (not bookmarks) so that it would be possible to open a pdf to a specific location from either another program or another pdf. As far as I can tell with the examples, newlinktest.fo and link.fo, it is possible to bounce around within a document and to link to another document. However, it looks like it only links to the top of the file, not to some destination in the middle of the file. If it is possible, how would you specify it? Is there some functionality to fo:basic-link that I am missing or is there something undocumented I am not aware of? I never thought I'd need this particular functionality, but it has been thrown at me for put-everything-else-aside implementation. Thanks ahead for any creative and positive suggestions. Matthew L. Avizinis mailto:[EMAIL PROTECTED] Gleim Publications, Inc. 4201 NW 95th Blvd. Gainesville, FL 32606 (352)-375-0772 ext. 101 www.gleim.com http://www.gleim.com === Information in this email and any attachments are confidential, and may not be copied or used by anyone other than the addressee, nor disclosed to any third party without my permission, however keg parties are ok. There is no intention to create any legally binding contract or other commitment, like marriage, through the use of this email. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]