W3C home > Mailing lists > Public > www-xsl-fo@w3.org > December 2003

Some Letters do not appear at the beginning of the second Page!

From: <melih@portistanbul.com>
Date: Mon, 08 Dec 2003 02:21:01 -0800 (PST)
To: www-xsl-fo@w3.org
Message-Id: <20031208022102.25148.h009.c001.wm@mail.portistanbul.com.criticalpath.net>



Hi,

lets say I have a sentence like
"Leading the Web to Its Full Potential...".

There is after the word "Full" a page break.
Normally, the word "Potential" should appear at the
second Page, but I have "tential..." or "ntial..." or
something like that. The first letters do not appear.

I have attached the main part of my xsl:fo file
and the Java code.

*************

...
<xsl:template match ="/docu">
	<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
		<fo:layout-master-set>
			<fo:simple-page-master master-name="sample"
						page-height="29.7cm" 
						page-width="21cm"
						margin-top="1cm" 
						margin-bottom="1cm" 
						margin-left="2cm" 
						margin-right="2.5cm">
				<fo:region-body margin-top="2.5cm"
margin-bottom="2.5cm"/>
				<fo:region-before extent="13cm"/>
				<fo:region-after extent="1.8cm"/>
			</fo:simple-page-master>
		</fo:layout-master-set>
        <xsl:apply-templates
select="/docu/sequence/generate"/>
	</fo:root>
</xsl:template>

<xsl:template match="generate">
	<xsl:variable name="generate_address"
select="@address"/>
                
	<fo:page-sequence master-reference="sample"
initial-page-number="1">

		<fo:static-content flow-name="xsl-region-before">
			<fo:block
					font-size="48pt" 
					font-family="Courier"
					color="rgb(180,180,180)"
					font-weight="bold" 
					line-height="48pt" >
                            <xsl:if
test="$print='SAMPLE'">
                                <xsl:value-of
select="SAMPLE"/>
                            </xsl:if>
			</fo:block>
		</fo:static-content>

		<fo:static-content flow-name="xsl-region-after">
			<fo:block text-align="end" 
					font-size="10pt" 
					font-family="serif" 
					line-height="10pt" >
			 	 Page <fo:page-number/> from
<fo:page-number-citation
ref-id="end{$generate_address}"/> ...
			</fo:block>
		</fo:static-content>
			
		<fo:flow flow-name="xsl-region-body">
			<fo:table table-layout="fixed"
space-after="1.2cm">			        
				<fo:table-column column-width="9.3cm"/>
				<fo:table-column column-width="7cm"/>
				<fo:table-body border-width="0.2mm"
border-style="{$debug_table_border_style}">
                        <fo:table-row height="2cm">
                          <fo:table-cell
display-align="center"
border-width="{$debug_table_border_width}"
border-style="{$debug_table_border_style}">
                          </fo:table-cell>
                          <fo:table-cell
display-align="before" number-rows-spanned="2"
border-width="{$debug_table_border_width}"
border-style="{$debug_table_border_style}">
                             <xsl:apply-templates
select="/docu/info/user"/>
                         </fo:table-cell>
                        </fo:table-row>
                        <fo:table-row height="4.5cm">
                          <fo:table-cell
display-align="before"
border-width="{$debug_table_border_width}"
border-style="{$debug_table_border_style}">
                            <xsl:apply-templates
select="/docu/info/addresses/address[@id=$generate_address]"/>
                          </fo:table-cell>
                        </fo:table-row>
                    </fo:table-body>                    
				</fo:table>

                <xsl:apply-templates
select="/docu/textsequence/*">
                   <xsl:with-param name="variables"
select="/docu/info/addresses/address[@id=$generate_address]/vardef"/>
                </xsl:apply-templates>

            	<fo:block id="end{$generate_address}">
		</fo:block>
 
		</fo:flow>
	</fo:page-sequence>
</xsl:template>
...

*************

the Java code which transforms it to a pdf file.

*************

	public static File createPDF(StringReader dataXML,
StringReader xslt, String tempDir)
		throws PDFException, IOException {

		File pdfFile = null;
		
		if (tempDir != null){
		
			pdfFile = File.createTempFile("mel", ".pdf", new
File(tempDir));
			pdfFile.deleteOnExit();
			OutputStream theFileStream = new
FileOutputStream(pdfFile);
			renderXML(dataXML, xslt, theFileStream);
			theFileStream.close();
		} else {
			pdfFile = File.createTempFile("mel", ".pdf");
			pdfFile.deleteOnExit();
			OutputStream theFileStream = new
FileOutputStream(pdfFile);
			renderXML(dataXML, xslt, theFileStream);
			theFileStream.close();
		}		
		
		return pdfFile;		
	}
	private static void renderXML(StringReader dataXML,
StringReader xslt, OutputStream out)
	
		throws PDFException {
		renderXML(new StreamSource(dataXML), new
StreamSource(xslt), out);
	}
	private static void renderXML(StreamSource dataXML,
StreamSource xslt, OutputStream out)
		throws PDFException {
		try {
			//ok. now transform it to
			Driver driver = new Driver();
			driver.setLogger(log);
			driver.setRenderer(Driver.RENDER_PDF);
			driver.setOutputStream(out);

			SAXResult tempResult = new
SAXResult(driver.getContentHandler());
			TraxTransform.transform(dataXML, xslt, tempResult);

		} catch (Exception ex) {
			ex.printStackTrace();
			throw new PDFException("Error!!!", ex);
		}
	}

*************


Thanks in advance,
Melih Vardar
Received on Monday, 8 December 2003 05:29:34 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 3 October 2007 16:06:11 GMT