font weight in embedded SVG images
Hello all, I have noticed an odd behavior when text is rendered in SVG in pdf output with FOP 0.20.5. I didn't see any references to this in the mail archive and am wondering if perhaps I am doing something wrong or missing something. In short, it appears that text in SVG images in pdf output is rendered like bold text when compared to the same text (same font, style, weight, etc) rendered in a normal part of the pdf. Is this my imagination, or is this essentially defective behavior? The same SVG when extracted from the fo document, btw, renders the text as expected when viewed in Batik's Squiggle browser or in the Adobe SVG viewer. Any comments are appreciated in advance. thanks for your consideration, Matthew L. Avizinis Gleim Publications, Inc.
Re: font weight in embedded SVG images
Andreas L. Delmelle wrote: -Original Message- From: Matthew L. Avizinis [mailto:[EMAIL PROTECTED]] Hello all, I have noticed an odd behavior when text is rendered in SVG in pdf output with FOP 0.20.5. I Have you checked: http://xml.apache.org/fop/graphics#svg-pdf-text Yes, but it didn't occur to me to read the page about FOP configuration which the above page links to. If I had done that right off I would have seen that setting strokeSVGText to false is the solution. thanks, Matt
Re: Failed to read font metrics file
You need to use the FOP TTFReader to generate the metrics file. Look at http://xml.apache.org/fop/fonts.html#truetype-metrics Au revoir, Matthew L. Avizinis GleimPublications,Inc. Nadeau, Isabelle wrote: Failed to read font metrics file in my Servlet File userConfigFile = new File("c:\\fop-0.20.5\\conf\\userconfig.xml"); Options options = new Options(userConfigFile); in c:/fop-0.20.5/conf/userconfig.xml fonts font metrics-file="file:///c:/fop-0.20.5/conf/arial.xml" kerning="yes" embed-file="c:\WINNT\Fonts\ARIAL.TTF" font-triplet name="Arial" style="normal" weight="normal"/ /font fonts = [ERROR] Failed to read font metrics file file:/c:/fop-0.20.5/conf/arial.xml: c:\fop-0.20.5\conf\arial.xml (The system cannot find the file specified) Am I suppose to write arial.xml file ? Is yes, what it contains ? Or can I find one somewhere ? Thank you for your help ! Isabel _ This message contains information that may be privileged or confidential and is the property of the Cap Gemini/Ernst Young Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message. _
RE: FOP extension functions
When I run FOP I get the following messages when it gets to the WritePageNumber extension function. Any suggestions? I have the idea that the extension function properties are not being mapped correctly -- am I right in this? thanks in advance. [INFO] FOP 0.20.4 [INFO] building formatting object tree [ERROR] property 'id' ignored [ERROR] property 'file' ignored [ERROR] property 'filename' ignored [ERROR] property 'id' ignored [ERROR] property 'file' ignored [ERROR] property 'filename' ignored [INFO] [1] [ERROR] no Maker for filename [ERROR] property filename ignored [ERROR] no Maker for filename [ERROR] property filename ignored [ERROR] null the ExtensionElementMapping file is as follows package com.gleim.fop.extensions.writepagenumber; import org.apache.fop.extensions.*; import org.apache.fop.fo.*; import org.apache.fop.fo.properties.ExtensionPropertyMapping; import java.util.Enumeration; import java.util.HashMap; import java.util.Iterator; public class ExtensionElementMapping implements ElementMapping { public static final String URI = http://gleim.com/fop/extensions;; private static HashMap foObjs = null; private static synchronized void setupExt() { if(foObjs == null) { foObjs = new HashMap(); foObjs.put(WritePageNumber, WritePageNumber.maker()); } } public void addToBuilder(TreeBuilder builder) { setupExt(); builder.addMapping(URI, foObjs); builder.addPropertyListBuilder(URI, new DirectPropertyListBuilder()); } } -Original Message- From: Jeremias Maerki [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 14, 2003 11:20 AM To: [EMAIL PROTECTED] Subject: Re: FOP extension functions This passage means that when you package your extension in a separate JAR file you have to add a certain file to the JAR. It's name is org.apache.fop.fo.ElementMapping and must contain the fully qualified classname of your class that extends the ElementMapping interface. That file must be in the directory META-INF/services. So if you have generated your extension jar, it must have approximately the following contents: /META-INF/services/org.apache.fop.fo.ElementMapping com/gleim/myfopext/MyFopExtElementMapping.class com/gleim/myfopext/MyFopExtElement.class [..] In Driver.java (at the end) you will see code that inspects this special file you have to add. It's to make sure that the extension is registered. You can also skip this step with tat special file if you call Driver.addElementMapping() either with the fully qualified classname or an instance of the ElementMapping implementation. This may also help on your way: http://marc.theaimsgroup.com/?l=fop-userm=10384400488w=2 I hope this helps. May I ask what extension you're planning? Just curious. On 14.01.2003 16:40:53 Matthew L. Avizinis wrote: Sorry, forgot to include what I wanted commentary on... :-) Hello all, Could someone elaborate a little on the following from the FOP extensions documentation please? Mabye paste some example code as well? Create a jar file with your classes, it must also include the following file /META-INF/services/org.apache.fop.fo.ElementMapping. In this file you need to put the fully qualified classname of your element mappings class. This class must implement the org.apache.fop.fo.ElementMapping interface. Thanks in advance for help, Jeremias Maerki - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
FOP extension functions
Hello all, Could someone elaborate a little on the following from the FOP extensions documentation please? Mabye paste some example code as well? Thanks in advance for help, Matthew L. Avizinis Gleim Publications, Inc. 4201 NW 95th Blvd. Gainesville, FL 32606 (352)-375-0772 www.gleim.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
FOP extension functions
Sorry, forgot to include what I wanted commentary on... :-) Hello all, Could someone elaborate a little on the following from the FOP extensions documentation please? Mabye paste some example code as well? Create a jar file with your classes, it must also include the following file /META-INF/services/org.apache.fop.fo.ElementMapping. In this file you need to put the fully qualified classname of your element mappings class. This class must implement the org.apache.fop.fo.ElementMapping interface. Thanks in advance for help, Matthew L. Avizinis Gleim Publications, Inc. 4201 NW 95th Blvd. Gainesville, FL 32606 (352)-375-0772 www.gleim.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: FOP extension functions
I have written an extension that I had discussed a while ago about writing page numbers to an alternate xml file while FOP is running. I submitted it a while ago. It has a number of properties that allow you to name the file, whether it is the first or last entry going into the file so you can create a well-formed xml file, name the root element if it is the first entry to the file, the element name itself, and an id. This has allowed me to compile large books with many images by chapter (thus reducing memory usage) and still be able to make page cross-references from chapter to chapter. The code has been corrected recently by someone here that is more of a Java programmer than I. I will be posting the corrected extension code as soon as I implement your very information instructions and test it. Previously, I had only been able to insert the function by rebuilding FOP with my code files in the source area (I had a misinterpretation of the instructions that another person here at my company interpreted correctly and pointed it out to me). I also have an extension that emits two page numbers (there was a short discussion a number of months ago) per page, e.g. left page - 1, 2; right page -- 3, 4, since I recently had a need for such a thing myself. thanks for the help. -Original Message- From: Jeremias Maerki [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 14, 2003 11:20 AM To: [EMAIL PROTECTED] Subject: Re: FOP extension functions This passage means that when you package your extension in a separate JAR file you have to add a certain file to the JAR. It's name is org.apache.fop.fo.ElementMapping and must contain the fully qualified classname of your class that extends the ElementMapping interface. That file must be in the directory META-INF/services. So if you have generated your extension jar, it must have approximately the following contents: /META-INF/services/org.apache.fop.fo.ElementMapping com/gleim/myfopext/MyFopExtElementMapping.class com/gleim/myfopext/MyFopExtElement.class [..] In Driver.java (at the end) you will see code that inspects this special file you have to add. It's to make sure that the extension is registered. You can also skip this step with tat special file if you call Driver.addElementMapping() either with the fully qualified classname or an instance of the ElementMapping implementation. This may also help on your way: http://marc.theaimsgroup.com/?l=fop-userm=10384400488w=2 I hope this helps. May I ask what extension you're planning? Just curious. On 14.01.2003 16:40:53 Matthew L. Avizinis wrote: Sorry, forgot to include what I wanted commentary on... :-) Hello all, Could someone elaborate a little on the following from the FOP extensions documentation please? Mabye paste some example code as well? Create a jar file with your classes, it must also include the following file /META-INF/services/org.apache.fop.fo.ElementMapping. In this file you need to put the fully qualified classname of your element mappings class. This class must implement the org.apache.fop.fo.ElementMapping interface. Thanks in advance for help, Jeremias Maerki - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Combining JavaScript with Fop application
What you're writing about here is how to use Javascript with Xalan. When you run FOP from the command line, it is transparent to the user that it is calling and running Xalan to create the fo file before FOP itself runs on the fo file. If you look at the Xalan page of apache.org, you'll see a number of examples of how to use Javascript. If you need any more help after that, just send another message and I'll be glad to help, as I use Java and Javascript extension functions to Xalan in my own work. 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 -Original Message- From: Meir [mailto:[EMAIL PROTECTED] Sent: Wednesday, January 08, 2003 2:14 PM To: [EMAIL PROTECTED] Subject: Combining JavaScript with Fop application Hello this question for the people that have or using the Fop application (http://xml.apache.org/fop/) i did read the manual and did read some of the news groups msg's but i didn't understand how can i use JavaScript with Fop ? in the .xsl file that creating the xsl-fo ? do i need program new extension ? is there any extension? im really in dead end here can someone give me please example ? or some derection for me to understand how to use js with Fop? thank for the help - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Fonts don't line up in table
That would be fo:table-cell padding=2pt display-align=bottom ^^^ -Original Message- From: Urban, Patrick [mailto:[EMAIL PROTECTED] Sent: Monday, June 10, 2002 3:33 PM To: '[EMAIL PROTECTED]' Subject: RE: Fonts don't line up in table Try ... fo:table-cell padding=2pt vertical-align=bottom -Original Message- From: Darrel Riekhof [mailto:[EMAIL PROTECTED] Sent: Monday, June 10, 2002 3:26 PM To: [EMAIL PROTECTED] Subject: Fonts don't line up in table I'm having trouble getting different sized fonts to line up in a table. Below is my xsl code. The smaller font is too high compared to the larger font. How do I get these different sized fonts to line up by their base? fo:table fo:table-column column-width=100pt/ fo:table-column column-width=435pt/ fo:table-body font-size=20pt fo:table-row fo:table-cell padding=2pt fo:block font-size=16pt margin-bottom=0mmSide Mark/fo:block /fo:table-cell fo:table-cell padding=2pt fo:block font-weight=bold xsl:value-of select=freightItemVO/sidemark/ /fo:block /fo:table-cell /fo:table-row /fo:table-body /fo:table Darrel [EMAIL PROTECTED]
RE: Fonts don't line up in table
Sorry, now I've got it straight That would be fo:table-cell padding=2pt display-align=after ^^^^ -Original Message- From: Urban, Patrick [mailto:[EMAIL PROTECTED] Sent: Monday, June 10, 2002 3:33 PM To: '[EMAIL PROTECTED]' Subject: RE: Fonts don't line up in table Try ... fo:table-cell padding=2pt vertical-align=bottom -Original Message- From: Darrel Riekhof [mailto:[EMAIL PROTECTED] Sent: Monday, June 10, 2002 3:26 PM To: [EMAIL PROTECTED] Subject: Fonts don't line up in table I'm having trouble getting different sized fonts to line up in a table. Below is my xsl code. The smaller font is too high compared to the larger font. How do I get these different sized fonts to line up by their base? fo:table fo:table-column column-width=100pt/ fo:table-column column-width=435pt/ fo:table-body font-size=20pt fo:table-row fo:table-cell padding=2pt fo:block font-size=16pt margin-bottom=0mmSide Mark/fo:block /fo:table-cell fo:table-cell padding=2pt fo:block font-weight=bold xsl:value-of select=freightItemVO/sidemark/ /fo:block /fo:table-cell /fo:table-row /fo:table-body /fo:table Darrel [EMAIL PROTECTED]
RE: How do I stop table cell wrapping?
I seem to recall that the fo:block wrap-option=wrap | no-wrap attribute works in cells. -Original Message- From: J.Pietschmann [mailto:[EMAIL PROTECTED] Sent: Friday, May 03, 2002 4:12 PM To: [EMAIL PROTECTED] Subject: Re: How do I stop table cell wrapping? John Bourke wrote: Guys is there a way to stop cells in a table wrapping the text to the next line and simply cutting the data if it's longer than the cell width? I would think there may be some kind of attribute to do this? You probably want to use the overflow=clip property too, unfortunately, it isn't implemented yet in FOP. You'll have to clip at the XSLT level. There are various apporaches in the XSL list archive. J.Pietschmann
RE: How do I stop table cell wrapping?
Now I get the whole picture thanks, -Original Message- From: J.Pietschmann [mailto:[EMAIL PROTECTED] Sent: Friday, May 03, 2002 5:20 PM To: [EMAIL PROTECTED] Subject: Re: How do I stop table cell wrapping? Matthew L. Avizinis wrote: I seem to recall that the fo:block wrap-option=wrap | no-wrap attribute works in cells. Yes, it works. However, if the content is too large for the cell, it will visibly overflow into whatever is further in inline progression direction (read: table cells to the right). The standard provides the property overflow=hidden (not =clip, sorry) to clip the overflowing content, and this doesn't work in FOP, at least for rendering PDF. J.Pietschmann
RE: SVG rendering in release 0.20.3
Then why would the image display correctly in the Batik viewer 1_1_1? And why would it render correctly when I use the previous version of the batik.jar instead of the current one? This is what is mysterious to me. Still wondering and trying, matthew l. avizinis -Original Message- From: Keiron Liddle [mailto:[EMAIL PROTECTED] Sent: Monday, April 15, 2002 3:05 AM To: [EMAIL PROTECTED] Subject: Re: SVG rendering in release 0.20.3 The examples in the docs/examples/svg/ directory work fine, so how is yours different? Do these examples work for you? I suspect the svg referenced in the image is invalid. On 2002.04.13 18:51 Matthew L. Avizinis wrote: The rect renders fine. It's actually the image that actually causes the problem. Here, I have used an svg that I knew worked previously. I have tried an href URI that is relative and an absolute path, e.g. D:\pictures\test.svg. I have tried a URL, e.g. http://test.gleim.com/pictures/test.svg. I have tried file:[EMAIL PROTECTED], file:/[EMAIL PROTECTED], file://[EMAIL PROTECTED], and file:///[EMAIL PROTECTED] I believe I have tried every option I have ever seen suggested in this list to no avail.
RE: SVG rendering in release 0.20.3
Nope, but thanks for the suggestions. Has to be something else. I know nothing about the insides of Batik, but this is the cause of the problem. I put the batik.jar from 0.20.2 in place of the current one, and there you go, it works again. -Original Message- From: Keiron Liddle [mailto:[EMAIL PROTECTED] Sent: Friday, April 12, 2002 2:41 AM To: [EMAIL PROTECTED] Subject: Re: SVG rendering in release 0.20.3 I suspect this is a base url problem. Are you embedding?, is the base directory set? Is your URL correct? On 2002.04.12 03:39 Matthew L. Avizinis wrote: Hello all, This used to work in version 0.20.2 and 0.20.3rc fo:instream-foreign-object svg viewBox=0 0 {number(@width+1)*2.8346} {number(@height+1)*2.8346} xmlns=http://www.w3.org/2000/svg; width={concat(@width,'mm')} height={concat(@height,'mm')} xml:space=preserve g style=fill:white; stroke:{$stroke}; stroke-width:{$border} rect x=0 y=0 width={concat(@width,'mm')} height={concat(@height,'mm')}/ /g image preserveAspectRatio=xMidYMid xlink:href=file:[EMAIL PROTECTED] x=0 y=0 width={concat(@width,'mm')} height={concat(@height,'mm')}/ /svg /fo:instream-foreign-object It doesn't now in the last 0.20.3. What happens is the box with the border is drawn but the image is replaced by a broken svg picture. There are no error messages. Is there some change between versions that I have to change the above code or is there a change in classpaths or something else. I don't see anything mentioned in the CHANGES file.
RE: SVG rendering in release 0.20.3
I believe either of these would be in scope: svg xmlns:xlink=http://www.w3.org/1999/xlink; viewBox=0 0 {number(@width+1)* or image xmlns:xlink=http://www.w3.org/1999/xlink; . It still doesn't work with the new batik.jar. Anything else to check? thanks, matthew l. avizinis -Original Message- From: J.Pietschmann [mailto:[EMAIL PROTECTED] Sent: Saturday, April 13, 2002 8:48 AM To: [EMAIL PROTECTED] Subject: Re: SVG rendering in release 0.20.3 Matthew L. Avizinis wrote: This used to work in version 0.20.2 and 0.20.3rc ... image preserveAspectRatio=xMidYMid xlink:href=file:[EMAIL PROTECTED] There ought to be a declaration for the xlink namespace somewhere? Check whether it is in scope. J.Pietschmann
page-number-citation defect?
Hello all, I have noticed that a page-number-citation which refers to a block id that also has a break-before=page attribute does not emit a page number if it's the last block. fo:page-number-citation ref-id=abc and fo:block break-before=page id=abc Is this a defect? I am basically doing this: xsl:for-each select=module xsl:choose xsl:when test=title/@page-break !-- needed for forced page-breaks -- fo:block id=module-ID break-before=pagemodule content/fo:block /xsl:when xsl:otherwise fo:block id=module-IDmodule content/fo:block /xsl:otherwise /xsl:choose /xsl:for-each thanks in advance for 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
RE: page-number-citation defect?
However, if I use a break-after=page in the previous block instead the page-number-citation works fine and emits all page numbers as expected. -Original Message- From: Matthew L. Avizinis [mailto:[EMAIL PROTECTED] Sent: Saturday, April 13, 2002 1:09 PM To: [EMAIL PROTECTED] Subject: page-number-citation defect? Hello all, I have noticed that a page-number-citation which refers to a block id that also has a break-before=page attribute does not emit a page number if it's the last block. fo:page-number-citation ref-id=abc and fo:block break-before=page id=abc Is this a defect? I am basically doing this: xsl:for-each select=module xsl:choose xsl:when test=title/@page-break !-- needed for forced page-breaks -- fo:block id=module-ID break-before=pagemodule content/fo:block /xsl:when xsl:otherwise fo:block id=module-IDmodule content/fo:block /xsl:otherwise /xsl:choose /xsl:for-each thanks in advance for 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
RE: Error
Imho, it's more than likely that it's the [ERROR] null at the end that's causing the problem, not the too-wide tables. I don't know precisely what would be causing it, however. 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 -Original Message- From: Woods, John T. [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 02, 2002 12:16 PM To: '[EMAIL PROTECTED]' Subject: Error I am converting a very large fo file into PDF and I get this error message at the very end of the conversion process. This is causing the PDF file to not open due to a file damaged error. Has anyone seen this error before? [INFO]: [119] [WARN]: Sum of fixed column widths 461480 greater than maximum specified IPD 460 913 [INFO]: [120] [INFO]: [121] [INFO]: [122] [INFO]: [123] [INFO]: [124] [INFO]: [125] [WARN]: Sum of fixed column widths 461480 greater than maximum specified IPD 460 913 [ERROR]: null -John Woods
RE: how to print page count ?
Put something like fo:block id=EndOfDocument/ at the end of your document. Then wherever you need page X of Y insert, page fo:page-number/ of fo:page-number-citation ref-id=EndOfDocument/ You might find http://zvon.org/xxl/xslfoReference/Output/index.html useful. 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 -Original Message- From: Argyn Kuketayev [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 02, 2002 4:28 PM To: [EMAIL PROTECTED] Apache. Org (E-mail) Subject: how to print page count ? I've to print page X of Y, where Y is a total number of pages. how?
RE: When a page is not a page
Right. So, you'll end up with NaN, which is what I get when I attempted this before brain was engaged. -Original Message- From: J.Pietschmann [mailto:[EMAIL PROTECTED] Sent: Sunday, March 31, 2002 5:40 AM To: [EMAIL PROTECTED] Subject: Re: When a page is not a page Matthew L. Avizinis wrote: Nope. Neither will work. Sorry. That's what I get for speaking b4 thinking. Where's the variable going to get it's value from? Certainly not from the fo:page-number instruction -- that's for the FOP processor to use not the XSLT processor. You'll get NaN. No. The value is an RTF with a fo:page-number element as its only node below the root. J.Pietschmann
RE: When a page is not a page
I believe this will not work as Wayne intends. Page numbers will be generated sequentially starting with the initial-page-number. So, this might work better: fo:page-sequence initial-page-number=0 then xsl:variable name=currentpagefo:page-number//xsl:variable then Then xsl:value-of select=(2 * $currentpage) + 1/ for the left page number and xsl:value-of select=(2 * $currentpage) + 2/ for the right page number hth, 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 -Original Message- From: David Wood [mailto:[EMAIL PROTECTED] Sent: Friday, March 29, 2002 8:03 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: When a page is not a page Just speculating, but have you tried putting the page-number element inside a variable? i.e.: xsl:variable name=currentpagefo:page-number//xsl:variable Then xsl:value-of select=$currentpage * 2/, etc... I haven't tried this, but it's just what pops into my head... -David At 08:44 AM 3/30/2002 +0800, Wayne Elliott wrote: A picture paints a thousand words... --- | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | |1:2| --- The picture above represents a single sheet of A4 (Letter) paper. However it also represents two pages in a book, and if the page is folded down the dotted line it even starts to look like a book. My problem is this; I need the page number sequence as displayed in the picture - ie. 2 pages per page (sheet) I have no trouble laying out the text flow correctly using stuff like fo:simple-page-master master-name=content page-height={$pageheight}mm page-width={$pagewidth}mm margin-left={$marginleft}mm margin-right={$marginright}mm margin-top={$margintop}mm margin-bottom={$marginbottom}mm fo:region-before extent=10mm/ fo:region-after extent=10mm/ fo:region-body margin-top=10mm margin-bottom=10mm column-count=2 column-gap=20mm/ /fo:simple-page-master and I defined a static region for the page number values using the following fo:static-content flow-name=xsl-region-after font-family=serif font-size=9pt fo:table table-layout=fixed fo:table-column column-width=120mm/ fo:table-column column-width=120mm/ fo:table-body fo:table-row fo:table-cell fo:block text-align=center fo:page-number/ !-- 2x -- /fo:block /fo:table-cell fo:table-cell fo:block text-align=center fo:page-number/ !-- 2x + 1 -- /fo:block /fo:table-cell /fo:table-row /fo:table-body /fo:table /fo:static-content but I do not know how to get the fo:page-number/ to play the game and give me more than one page number per page. Perhaps I am wrong in my approach and there is a way of specifying two page regions per page/sheet, but I have not found it yet. Any ideas? WPE
RE: When a page is not a page
Nope. Neither will work. Sorry. That's what I get for speaking b4 thinking. Where's the variable going to get it's value from? Certainly not from the fo:page-number instruction -- that's for the FOP processor to use not the XSLT processor. You'll get NaN. -Original Message- From: Matthew L. Avizinis [mailto:[EMAIL PROTECTED] Sent: Friday, March 29, 2002 8:43 PM To: [EMAIL PROTECTED] Subject: RE: When a page is not a page I believe this will not work as Wayne intends. Page numbers will be generated sequentially starting with the initial-page-number. So, this might work better: fo:page-sequence initial-page-number=0 then xsl:variable name=currentpagefo:page-number//xsl:variable then Then xsl:value-of select=(2 * $currentpage) + 1/ for the left page number and xsl:value-of select=(2 * $currentpage) + 2/ for the right page number hth, 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 -Original Message- From: David Wood [mailto:[EMAIL PROTECTED] Sent: Friday, March 29, 2002 8:03 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: When a page is not a page Just speculating, but have you tried putting the page-number element inside a variable? i.e.: xsl:variable name=currentpagefo:page-number//xsl:variable Then xsl:value-of select=$currentpage * 2/, etc... I haven't tried this, but it's just what pops into my head... -David At 08:44 AM 3/30/2002 +0800, Wayne Elliott wrote: A picture paints a thousand words... --- | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | |1:2| --- The picture above represents a single sheet of A4 (Letter) paper. However it also represents two pages in a book, and if the page is folded down the dotted line it even starts to look like a book. My problem is this; I need the page number sequence as displayed in the picture - ie. 2 pages per page (sheet) I have no trouble laying out the text flow correctly using stuff like fo:simple-page-master master-name=content page-height={$pageheight}mm page-width={$pagewidth}mm margin-left={$marginleft}mm margin-right={$marginright}mm margin-top={$margintop}mm margin-bottom={$marginbottom}mm fo:region-before extent=10mm/ fo:region-after extent=10mm/ fo:region-body margin-top=10mm margin-bottom=10mm column-count=2 column-gap=20mm/ /fo:simple-page-master and I defined a static region for the page number values using the following fo:static-content flow-name=xsl-region-after font-family=serif font-size=9pt fo:table table-layout=fixed fo:table-column column-width=120mm/ fo:table-column column-width=120mm/ fo:table-body fo:table-row fo:table-cell fo:block text-align=center fo:page-number/ !-- 2x -- /fo:block /fo:table-cell fo:table-cell fo:block text-align=center fo:page-number/ !-- 2x + 1 -- /fo:block /fo:table-cell /fo:table-row /fo:table-body /fo:table /fo:static-content but I do not know how to get the fo:page-number/ to play the game and give me more than one page number per page. Perhaps I am wrong in my approach and there is a way of specifying two page regions per page/sheet, but I have not found it yet. Any ideas? WPE
RE: When a page is not a page
Precisely. I thought I just said that. You're just more eloquent... :-) -Original Message- From: Arved Sandstrom [mailto:[EMAIL PROTECTED] Sent: Friday, March 29, 2002 9:48 PM To: [EMAIL PROTECTED] Subject: RE: When a page is not a page Here is the thing. XSLT and XSL-FO are independent. XSL-FO has no more special meaning to XSLT than does MathML or DocBook or SVG. XSLT understands its own elements (including extensions of course). It understands no others. fo:page-number/ (or as Ken Holman points out, page-number/ in the http://www.w3.org/1999/XSL/Format namespace, since we may assign any prefix we like, or none) is not acted on by the XSL-FO formatter to produce a number until after XSLT is done. Period. And note that fo:page-number/ never actually _is_ a number, and in fact the formatter is not required to even generate a stringified page-number. This is what the XSL Recommendation allows or does not allow you to do. If you feel that there is a compelling use case for being able to do what you want to do, I'd suggest writing it up and submitting it to the [EMAIL PROTECTED] list. Hope this clears things up. Regards, Arved Sandstrom -Original Message- From: Wayne Elliott [mailto:[EMAIL PROTECTED] Sent: March 29, 2002 10:15 PM To: [EMAIL PROTECTED] Subject: Re: When a page is not a page Thanks for the tips guys. However fo:page-number/ does not like being treated like a number, as it does not assign to a variable numerically. This was surprising. The following snippet fo:block space-after=5mm text-align=justify - fo:page-number/ - xsl:variable name=curpagefo:page-number//xsl:variable xsl:value-of select=$curpage/ - xsl:value-of select=$curpage * 2/ - xsl:value-of select=floor($curpage) * 2/ - xsl:value-of select=column-number/ - xsl:value-of select=(2 * $curpage) + 1/ - xsl:number/ /fo:block produces the following output On page (sheet) 1. - 1 - - NaN - NaN - - NaN - 1 On sheet 2. - 2 - - NaN - NaN - - NaN - 1 i.e On sheet n. - n - - NaN - NaN - - NaN - 1 Expected for sheet n was - n - n - 2n - 2n - 2n? - 2n+1- 1? Not sure why page-number behaves non-numerically. Perhaps it is something to do with the number formatting, e.g 1 = i = a etc. Perhaps there is a low level function that can extract the number part from fo:page-number? What I really need is a way of determining the number of the current column, based on column count and page number,but this also eludes me. WPE - Original Message - From: Matthew L. Avizinis [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Saturday, March 30, 2002 9:42 AM Subject: RE: When a page is not a page I believe this will not work as Wayne intends. Page numbers will be generated sequentially starting with the initial-page-number. So, this might work better: fo:page-sequence initial-page-number=0 then xsl:variable name=currentpagefo:page-number//xsl:variable then Then xsl:value-of select=(2 * $currentpage) + 1/ for the left page number and xsl:value-of select=(2 * $currentpage) + 2/ for the right page number hth, 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 -Original Message- From: David Wood [mailto:[EMAIL PROTECTED] Sent: Friday, March 29, 2002 8:03 PM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: When a page is not a page Just speculating, but have you tried putting the page-number element inside a variable? i.e.: xsl:variable name=currentpagefo:page-number//xsl:variable Then xsl:value-of select=$currentpage * 2/, etc... I haven't tried this, but it's just what pops into my head... -David At 08:44 AM 3/30/2002 +0800, Wayne Elliott wrote: A picture paints a thousand words... --- | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | | ... : .. | |1:2| --- The picture above represents a single sheet of A4 (Letter) paper. However it also represents two pages in a book, and if the page is folded down the dotted line it even starts to look like a book. My problem is this; I need the page number sequence as displayed
RE: fop-0.20.3: table cell data on same page
Sorry, what I actually meant was fo:table-row keep-with-previous=always keep-with-next=always etc This is precisely what I have used and it works. -Original Message- From: Mathy V Arumugam [mailto:[EMAIL PROTECTED] Sent: Thursday, March 28, 2002 5:06 PM To: [EMAIL PROTECTED] Subject: Re: fop-0.20.3: table cell data on same page Hm.. still does not work.. What is really wrong with my code then Matthew L. Avizinis wrote: I've found that you have to have fo:table-row keep-with-next=always fo:table-cell fo:block.../fo:block/fo:table-cell /fo:table-row fo:table-row keep-with-previous=always fo:table-cell fo:block.../fo:block/fo:table-cell /fo:table-row for it to work properly. hth -Original Message- From: Mathy V Arumugam [mailto:[EMAIL PROTECTED] Sent: Thursday, March 28, 2002 4:09 PM To: [EMAIL PROTECTED] Subject: fop-0.20.3: table cell data on same page Hi all, How can I prevent the table cells from splitting on page break? I thought the following should prevent the table cells from splitting on page boundaries...but, does not work for me fo:table-cell keep-together.within-page=always fo:block/fo:block /fo:table-cell I have also tried: fo:table-row keep-with-next=always fo:table-cell fo:block.../fo:block/fo:table-cell /fo:table-row Thanks Mathy
table-cell content justify
Hello all, Is it possible to text-align=justify some-textfo:leadersome-text in a table-cell? It seems like text by itself can be justified, but when a fo:leader is inserted between text is displayed, leader fills the rest of the cell and the remaining text hangs off to the right. Is there a way to keep it all within the boundaries of the cell, or is it necessary to calculate how much space the text occupies in the cell and then make a good estimate of, i.e. calculate by, the length of the leader? Any suggestions? thank you in advance, Matthew L. Avizinis Gleim Publications, Inc. 4201 NW 95th Blvd. Gainesville, FL 32606 (352)-375-0772 ext. 101 www.gleim.com
RE: Security on FOP
-Original Message- From: Christian Geisert [mailto:[EMAIL PROTECTED] Sent: Tuesday, February 05, 2002 4:27 AM To: [EMAIL PROTECTED] Subject: Re: Security on FOP dav sem wrote: Hi Community, I have a question: with FOP, Is possible to lock with a password the PDF Document generated??? No. Which part of API can permit this? or this lock have to be performed by XSL:FO meta-language?? ? You will have to do some post-processing with other software. If you have Acrobat 5.0 -- you can use the File | Batch Processing | Edit Batch Sequences feature. You'll be able to process multiple files at one time. Although, not the ideal solution, it works for us. 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 === computing (kum' pyoot ing) 1. n the art of calculating how much time you wasted and money you spent in a doomed attempt to master a machine with a mind of it's own. --from computing: A HACKER'S DICTIONARY Tanks Christian
RE: multiple output files
Thanks for your response, Joerg. Read on if you think you might be able to help me further. -Original Message- From: Joerg Pietschmann [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 29, 2002 10:04 AM To: FOP User Subject: Re: multiple output files Matthew L. Avizinis [EMAIL PROTECTED] wrote: A whole lotta help needed please: I need to write to a file all the 1) page-number-citations page numbers along with their corresponding ref-id's also the 2) last page of the pdf file being currently generated by FOP along with it's corresponding file name. Odd subject for these questions. However, look at http://marc.theaimsgroup.com/?l=fop-devm=100747811203665w=2 and decide whether this helps you. In any case, i can't see Well, yes and no. It does show how I might pull some other information out and maybe write it out to a new file. However, what I need more is the _last page number_. What method actually generates the actual page number for fo:page-number? Knowing that, even if I can't determine the last one, I could write output of all page-numbers to an xml file in addition to the pdf and then later just find the last one generated. how you can achieve your goal without fiddling with FOP internals. You might also want to educate yourself about how to write FOP extension functions. There is a brief intro in docs/html-docs/extensions.html in your FOP distribution. Judging by the (rather sparse) instructions, it seems to me that what I need is not an extension to fo but a way to grab information fop is already producing and spit it out to an xml file as it's generated, while at the same time allowing the pdf to continue to be output. So, yes it looks like I have to fiddle with the FOP internals, but the question is, Where is a logical location to begin? There's a lot of code and I'm not that really familiar with the itnernals of the project yet. At first glance, it looks like I could stick in a few lines of code in the PageNumberCitation Status method to write out the information I need to a new file (or append to an existing file). As to the getting the last page, it seems I would need to get the current PageNumber from someplace and write it out. I know that somewhere I will have to put some basic code like try { BufferedWriter out = new BufferedWriter(new FileWriter(filename,true)); out.write(the formatted information I want); out.close(); } catch (IOException e) { } to append to my temporary information file with this format info x-ref id=###pg#/x-ref x-ref id=###pg#/x-ref x-ref id=###pg#/x-ref file name=goo.pdflast-page#/file (or just a list of all page numbers in this pdf) x-ref id=###pg#/x-ref x-ref id=###pg#/x-ref x-ref id=###pg#/x-ref file name=goo.pdflast-page#/file /info HTH J.Pietschmann
RE: multiple output files
Actually, now that I think of it, what I will need is a list of all the object id's that are then (or only might then be) later referenced by the PageNumberCitation ref-id. This way, when I generate a pdf that makes a PageNumberCitation to a ref-id in a pdf that was in a chapter generated in a previous pdf, I will be able to get the correct PageNumber. thanks again, 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 === computing (kum' pyoot ing) 1. n the art of calculating how much time you wasted and money you spent in a doomed attempt to master a machine with a mind of it's own. --from computing: A HACKER'S DICTIONARY -Original Message- From: Joerg Pietschmann [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 29, 2002 10:04 AM To: FOP User Subject: Re: multiple output files Matthew L. Avizinis [EMAIL PROTECTED] wrote: A whole lotta help needed please: I need to write to a file all the 1) page-number-citations page numbers along with their corresponding ref-id's also the 2) last page of the pdf file being currently generated by FOP along with it's corresponding file name. Odd subject for these questions. However, look at http://marc.theaimsgroup.com/?l=fop-devm=100747811203665w=2 and decide whether this helps you. In any case, i can't see how you can achieve your goal without fiddling with FOP internals. You might also want to educate yourself about how to write FOP extension functions. There is a brief intro in docs/html-docs/extensions.html in your FOP distribution. HTH J.Pietschmann
RE: multiple output files
Aha, now I see what you're saying. Thanks. I'll try that. -Original Message- From: Joerg Pietschmann [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 29, 2002 11:35 AM To: FOP User Subject: Re: multiple output files Matthew L. Avizinis [EMAIL PROTECTED] wrote: Judging by the (rather sparse) instructions, it seems to me that what I need is not an extension to fo but a way to grab information fop is already producing and spit it out to an xml file as it's generated, while at the same time allowing the pdf to continue to be output. So, yes it looks like I have to fiddle with the FOP internals, but the question is, Where is a logical location to begin?[...] At first glance, it looks like I could stick in a few lines of code in the PageNumberCitation Status method to write out the information I need to a new file (or append to an existing file). I still think it is cleaner and perhaps easier to write extensions and place them into the block whose page number should be written: fo:block id=stuff myex:write-page-number/ ... Override the layout() method for actually writing the info, you can get the current page with area.getPage(), look at fo.flow.PageNumber.java for more info. Create another extension element to be placed at the end of the page flow for recording the last page. I suppose you generated the FO with XSL, in this case you shouldn't have too much trouble to insert the extension elements. HTH J.Pietschmann
multiple output files
Anyone want to take a stab at this? thanks much, Hi all, A whole lotta help needed please: I need to write to a file all the 1) page-number-citations page numbers along with their corresponding ref-id's also the 2) last page of the pdf file being currently generated by FOP along with it's corresponding file name. If multiple pdf's are processed in sequence then, the page-number-citations/ref-id and last page/file name pairs for each file should be appended to the file. I am not a Java expert by any stretch of the imagination, but it seems to me that I should be able to do at least #1 each time the PageNumberCitation Status method is used. Am I mistaken in this? Where would be the best location to modify the fop src in order to achieve these results? I have no clue as to how to get #2. I am looking to spit out a file that looks something like: info x-ref id=###pg#/x-ref x-ref id=###pg#/x-ref x-ref id=###pg#/x-ref file name=goo.pdflast-page#/file x-ref id=###pg#/x-ref x-ref id=###pg#/x-ref x-ref id=###pg#/x-ref file name=goo.pdflast-page#/file /info much thanks in advance, 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
RE: Choice of a XSL-Fo processor
FWIW IMO, here's a couple things: FOP -- Free XEP -- = ~$5,000 Antenna -- = ~$1,900 PassiveTex -- don't know FOP -- source - you can modify it / contribute to this, imho, excellent project if you want (or have ability) to XEP -- nope Antenna -- nope PassiveTex -- don't know FOP -- support only if someone has an interest or ability to answer your questions (many peoples questions just slide through the cracks it seems); change lists and documentation spotty; releases not as frequent and development group not as active as other Apache projects. XEP -- good support (because of the pricetag, they feel more obligated?) Antenna -- don't know PassiveTex -- don't know HTH, 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 -Original Message- From: GISBERT Aurélien (DSIT-EX) [mailto:[EMAIL PROTECTED] Sent: Friday, January 25, 2002 5:38 AM To: '[EMAIL PROTECTED]' Subject: TR: Choice of a XSL-Fo processor I have to do a comparison between the different existing XSL-Fo processors. I focused on these ones: -FOP, Apache -XEP, RenderX -Antenna House XSL Processor -PassiveTeX Could you give me their good and bad parts? Who support them? What are the aims of each one about the XSL specification? Finally, is there any other good XSL-Fo processors? I understood that these 4 XSL-Fo processors were all compliant to the basic conformance level in the W3C recommendation, and also to some of the objects and properties of the extended level. I would like to have your opinions. I have to transform an XML document into a PDF file, using a specific model of presentation (first page, contents, headers, titles, ...) Regards --- Aurelien Gisbert Engineer student in the INSA of Lyon, France Internee in the SNCF, France (working with Alain Herbuel, in the DSIT-EX section)