I only use Arial font. With the command line, it replace Arial by "any" in all tags "text".

example : <text offset="0" baseline="6760" ipd="96540"
                                                  bpd="8810" ipda="96540" bpda="8810"
                                                  bap="0 0 0 0" font-size="10000"
                                                  font-name="any" font-style="normal"
                                                  font-weight="700" color="#000000">
                                                  <word offset="0"
                                                  >[EMAIL PROTECTED]</word>
                                                  </text>

 

I use the example files projectteam2fo.xsl and projectteam.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- $Id$ -->
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" exclude-result-prefixes="fo">
  <xsl:output method="xml" version="1.0" omit-xml-declaration="no" indent="yes"/>
  <xsl:param name="versionParam" select="'1.0'"/>
  <!-- ========================= -->
  <!-- root element: projectteam -->
  <!-- ========================= -->
  <xsl:template match="projectteam">
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="Arial">
      <fo:layout-master-set>
        <fo:simple-page-master master-name="simpleA4" page-height="29.7cm" page-width="21cm" margin-top="2cm" margin-bottom="2cm" margin-left="2cm" margin-right="2cm">
          <fo:region-body/>
        </fo:simple-page-master>
      </fo:layout-master-set>
      <fo:page-sequence master-reference="simpleA4">
        <fo:flow flow-name="xsl-region-body">
          <fo:block font-size="16pt" font-weight="bold" space-after="5mm">Project: <xsl:value-of select="projectname"/>
          </fo:block>
          <fo:block font-size="12pt" space-after="5mm">Version <xsl:value-of select="$versionParam"/>
          </fo:block>
          <fo:block font-size="10pt">
            <fo:table table-layout="fixed" width="100%" border-collapse="separate">
              <fo:table-column column-width="4cm"/>
              <fo:table-column column-width="4cm"/>
              <fo:table-column column-width="5cm"/>
              <fo:table-body>
                <xsl:apply-templates select="member"/>
              </fo:table-body>
            </fo:table>
          </fo:block>
        </fo:flow>
      </fo:page-sequence>
    </fo:root>
  </xsl:template>
  <!-- ========================= -->
  <!-- child element: member     -->
  <!-- ========================= -->
  <xsl:template match="member">
    <fo:table-row>
      <xsl:if test="function = 'lead'">
        <xsl:attribute name="font-weight">bold</xsl:attribute>
      </xsl:if>
      <fo:table-cell>
        <fo:block>
          <xsl:value-of select="name"/>
        </fo:block>
      </fo:table-cell>
      <fo:table-cell>
        <fo:block>
          <xsl:value-of select="function"/>
        </fo:block>
      </fo:table-cell>
      <fo:table-cell>
        <fo:block>
          <xsl:value-of select="email"/>
        </fo:block>
      </fo:table-cell>
    </fo:table-row>
  </xsl:template>
</xsl:stylesheet>

<projectteam>
  <projectname>The Killer Application</projectname>
  <member>
    <name>John Doe</name>
    <function>lead</function>
    <email>[EMAIL PROTECTED]</email>
  </member>
  <member>
    <name>Paul Coder</name>
    <function>dev</function>
    <email>[EMAIL PROTECTED]</email>
  </member>
  <member>
    <name>Max Hacker</name>
    <function>dev</function>
    <email>[EMAIL PROTECTED]</email>
  </member>
  <member>
    <name>Donna Book</name>
    <function>doc</function>
    <email>[EMAIL PROTECTED]</email>
  </member>
  <member>
    <name>Henry Tester</name>
    <function>qa</function>
    <email>[EMAIL PROTECTED]</email>
  </member>
</projectteam>

 

Arsène.


From:  Jeremias Maerki <[EMAIL PROTECTED]>
To:  fop-users@xmlgraphics.apache.org
Subject:  Re: Generate PDF/A-1b file with FOP
Date:  Mon, 22 Oct 2007 13:45:10 +0200
>Yes, one of the base fonts is the problem. But it's only necessary to
>configure the base 14 fonts for PDF/A, if you actually use them in a
>document. If you don't use ZapfDingbats, you don't need to configure it
>for PDF/A output.
>
>I think it's best if you post your FO file so I can have a look. If you
>can't do that (confidentiality or whatever), then disable PDF/A for a
>short test and run the same document through the command-line with the
>following arguments:
>
>-at application/pdf out.at.xml
>
>Then look at the generated XML file. It should tell you where exactly
>FOP wants to use the "Times-Roman" font. Maybe you can use that to
>identify the problem in your FO file.
>
>Or are you actually using SVG in your document? If yes, make sure you
>explicitely specify the fonts in the SVG file and only use fonts that
>are configured for embedding.
>
>Jeremias Maerki
>
>
>
>On 22.10.2007 12:41:13 Arsène Kafando wrote:
> > Hello,
> > I have font-family="Arial" in my fo:root element. I think that, the
> > problem is the 14 base fonts. If i understand corretly, all these fonts
> > must be declared in the config file (here fop.xconf) to generate
> > PDF/A-1b file. I try to find all fonts but "monotye sorts" =
> > ZapfDingbats is not free.
> >
> > Is it this the problem?
> > If yes, where can i find the 14 base fonts?
> > Thanks.
> >
> > Arsène.
> >
> >
> > ------------------------------------------------------------
> >
> > > From:  Jeremias Maerki <[EMAIL PROTECTED]>
> > > To:  fop-users@xmlgraphics.apache.org
> > > Subject:  Re: Generate PDF/A-1b file with FOP
> > > Date:  Fri, 19 Oct 2007 22:13:24 +0200
> > > >If you have no more "ATTENTION: Font 'Arial,normal,700' not found.
> > > >Substituting with 'any,normal,700'." on the log output, you probably
> > > >have some text somewhere that uses a default font. A very good idea in
> > > >conjunction with PDF/A is to put font-family="Arial" on fo:root, i.e on
> > > >the root element, so there's no default font anymore, or rather, you
> > > >replace the default font like this.
> > > >
> > > >Jeremias Maerki
> > > >
> > > >
> > > >
> > > >On 19.10.2007 18:12:10 Arsène Kafando wrote:
> > > > > Thanks for your answer but i have the same error with this (
> > > > > <font-base>D:/Projets/workspace/Tests/files</font-base>
> > > > > ) :
> > > > > GRAVE: org.apache.fop.pdf.PDFConformanceException: For PDF/A-1b, all fonts, even the base 14 fonts, have to be embedded! Offending font: Times-Roman
> > > > > (Emplacement inconnu de l'erreur)org.apache.fop.pdf.PDFConformanceException: For PDF/A-1b, all fonts, even the base 14 fonts, have to be embedded! Offending font: Times-Roman
> > > > >
> > > > > Arsène.
> > > > >
> > > > >
> > > > > ------------------------------------------------------------
> > > > >
> > > > > > From:  Jeremias Maerki <[EMAIL PROTECTED]>
> > > > > > To:  fop-users@xmlgraphics.apache.org
> > > > > > Subject:  Re: Generate PDF/A-1b file with FOP
> > > > > > Date:  Fri, 19 Oct 2007 18:00:12 +0200
> > > > > > >You've specified "./" as the font base directory. "." does not specify
> > > > > > >the directory of fop.xconf but the "current directory" of the process in
> > > > > > >which FOP runs. That can be something else. It's better to supply an
> > > > > > >absolute path there.
> > > > > > >
> > > > > > >HTH
> > > > > > >Jeremias Maerki
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >On 19.10.2007 17:50:41 Arsène Kafando wrote:
> > > > > > > > Hello,
> > > > > > > >
> > > > > > > > I try to generate a PDF/A-1b file. For this, i use the example code
> > > > > > > > ExampleXML2PDF.java, and i obtain this code :
> > > > > > > >
> > > > > > > >  /*
> > > > > > > >   * Licensed to the Apache Software Foundation (ASF) under one or more
> > > > > > > >   * contributor license agreements.  See the NOTICE file distributed with
> > > > > > > >   * this work for additional information regarding copyright ownership.
> > > > > > > >   * The ASF licenses this file to You under the Apache License, Version 2.0
> > > > > > > >   * (the "License"); you may not use this file except in compliance with
> > > > > > > >   * the License.  You may obtain a copy of the License at
> > > > > > > >   *
> > > > > > > >   *      http://www.apache.org/licenses/LICENSE-2.0
> > > > > > > >   *
> > > > > > > >   * Unless required by applicable law or agreed to in writing, software
> > > > > > > >   * distributed under the License is distributed on an "AS IS" BASIS,
> > > > > > > >   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> > > > > > > >   * See the License for the specific language governing permissions and
> > > > > > > >   * limitations under the License.
> > > > > > > >   */
> > > > > > > >
> > > > > > > >  /* $Id: ExampleXML2PDF.java 426576 2006-07-28 15:44:37Z jeremias $ */
> > > > > > > >
> > > > > > > >  //Java
> > > > > > > >  import java.io.File;
> > > > > > > >  import java.io.OutputStream;
> > > > > > > >
> > > > > > > >  //JAXP
> > > > > > > >  import javax.xml.transform.Transformer;
> > > > > > > >  import javax.xml.transform.TransformerFactory;
> > > > > > > >  import javax.xml.transform.Source;
> > > > > > > >  import javax.xml.transform.Result;
> > > > > > > >  import javax.xml.transform.stream.StreamSource;
> > > > > > > >  import javax.xml.transform.sax.SAXResult;
> > > > > > > >
> > > > > > > >  //FOP
> > > > > > > >  import org.apache.fop.apps.FOUserAgent;
> > > > > > > >  import org.apache.fop.apps.Fop;
> > > > > > > >  import org.apache.fop.apps.FopFactory;
> > > > > > > >  import org.apache.fop.apps.MimeConstants;
> > > > > > > >  import org.apache.fop.fo.FOElementMapping;
> > > > > > > >  import org.apache.fop.fo.extensions.ExtensionElementMapping;
> > > > > > > >  import org.apache.fop.fo.extensions.svg.BatikExtensionElementMapping;
> > > > > > > >  import org.apache.fop.fo.extensions.svg.SVGElementMapping;
> > > > > > > >  import org.apache.fop.fo.extensions.xmp.RDFElementMapping;
> > > > > > > >  import org.apache.fop.fo.extensions.xmp.XMPElementMapping;
> > > > > > > >  import org.apache.fop.render.ps.extensions.PSExtensionElementMapping;
> > > > > > > >
> > > > > > > >  /**
> > > > > > > >   * This class demonstrates the conversion of an XML file to PDF using
> > > > > > > >   * JAXP (XSLT) and FOP (XSL-FO).
> > > > > > > >   */
> > > > > > > >  public class ExampleXML2PDF {
> > > > > > > >
> > > > > > > >      /**
> > > > > > > >       * Main method.
> > > > > > > >       * @param args command-line arguments
> > > > > > > >       */
> > > > > > > >      public static void main(String[] args) {
> > > > > > > >          try {
> > > > > > > >              System.out.println("FOP ExampleXML2PDF\n");
> > > > > > > >              System.out.println("Preparing...");
> > > > > > > >
> > > > > > > >              // Setup directories
> > > > > > > >              File baseDir = new File("files");
> > > > > > > >              File outDir = new File(baseDir, "pdf");
> > > > > > > >              outDir.mkdirs();
> > > > > > > >
> > > > > > > >              // Setup input and output files
> > > > > > > >              File xmlfile = new File(baseDir, "xml/projectteam.xml");
> > > > > > > >              File xsltfile = new File(baseDir, "xslt/projectteam2fo.xsl");
> > > > > > > >              File pdffile = new File(outDir, "ResultXML2PDF.pdf");
> > > > > > > >
> > > > > > > >              System.out.println("Input: XML (" + xmlfile + ")");
> > > > > > > >              System.out.println("Stylesheet: " + xsltfile);
> > > > > > > >              System.out.println("Output: PDF (" + pdffile + ")");
> > > > > > > >              System.out.println();
> > > > > > > >              System.out.println("Transforming...");
> > > > > > > >
> > > > > > > >              // configure fopFactory as desired
> > > > > > > >              FopFactory fopFactory = FopFactory.newInstance();
> > > > > > > >
> > > > > > > >              File configFile = new File("files/fop.xconf");
> > > > > > > >              fopFactory.setUserConfig(configFile);
> > > > > > > >
> > > > > > > >              FOUserAgent foUserAgent = fopFactory.newFOUserAgent();
> > > > > > > >              foUserAgent.getRendererOptions().put("pdf-a-mode", "PDF/A-1b");
> > > > > > > >              // configure foUserAgent as desired
> > > > > > > >      PDFRenderer pdfrenderer = new PDFRenderer();
> > > > > > > >      pdfrenderer.setUserAgent(foUserAgent);
> > > > > > > >
> > > > > > > >      foUserAgent.setRendererOverride(pdfrenderer);
> > > > > > > >
> > > > > > > >              // Setup output
> > > > > > > >              OutputStream out = new java.io.FileOutputStream(pdffile);
> > > > > > > >              out = new java.io.BufferedOutputStream(out);
> > > > > > > >
> > > > > > > >              try {
> > > > > > > >                  // Construct fop with desired output format
> > > > > > > >                  Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, out);
> > > > > > > >
> > > > > > > >                  // Setup XSLT
> > > > > > > >                  TransformerFactory factory = TransformerFactory.newInstance();
> > > > > > > >                  Transformer transformer = factory.newTransformer(new StreamSource(xsltfile));
> > > > > > > >
> > > > > > > >                  // Set the value of a param in the stylesheet
> > > > > > > >                  transformer.setParameter("versionParam", "2.0");
> > > > > > > >
> > > > > > > >                  // Setup input for XSLT transformation
> > > > > > > >                  Source src = "" StreamSource(xmlfile);
> > > > > > > >
> > > > > > > >                  // Resulting SAX events (the generated FO) must be piped through to FOP
> > > > > > > >                  Result res = new SAXResult(fop.getDefaultHandler());
> > > > > > > >
> > > > > > > >                  // Start XSLT transformation and FOP processing
> > > > > > > >                  transformer.transform(src, res);
> > > > > > > >              } finally {
> > > > > > > >                  out.close();
> > > > > > > >              }
> > > > > > > >
> > > > > > > >              System.out.println("Success!");
> > > > > > > >          } catch (Exception e) {
> > > > > > > >              e.printStackTrace(System.err);
> > > > > > > >              System.exit(-1);
> > > > > > > >          }
> > > > > > > >      }
> > > > > > > >  }
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >  The content of the file fop.xconf is :
> > > > > > > >
> > > > > > > >
> > > > > > > >  <?xml version="1.0"?>
> > > > > > > > <fop version="1.0">
> > > > > > > > <!-- Strict user configuration -->
> > > > > > > >   <strict-configuration>true</strict-configuration>
> > > > > > > >   <!-- Strict FO validation -->
> > > > > > > >   <strict-validation>true</strict-validation>
> > > > > > > >
> > > > > > > >   <!-- Base URL for resolving relative URLs -->
> > > > > > > >   <base>./</base>
> > > > > > > >
> > > > > > > >   <!-- Font Base URL for resolving relative font URLs -->
> > > > > > > >   <font-base>./</font-base>
> > > > > > > >
> > > > > > > >   <!-- Source resolution in dpi (dots/pixels per inch) for determining the size of pixels in SVG and bitmap images, default: 72dpi -->
> > > > > > > >   <source-resolution>72</source-resolution>
> > > > > > > >   <!-- Target resolution in dpi (dots/pixels per inch) for specifying the target resolution for generated bitmaps, default: 72dpi -->
> > > > > > > >   <target-resolution>300</target-resolution>
> > > > > > > >
> > > > > > > >   <!-- Default page-height and page-width, in case
> > > > > > > >        value is specified as auto -->
> > > > > > > >   <default-page-settings height="29.7cm" width="21cm"/>
> > > > > > > >
> > > > > > > >   <!-- Information for specific renderers -->
> > > > > > > >   <!-- Uses renderer mime type for renderers -->
> > > > > > > >   <renderers>
> > > > > > > >     <renderer mime="application/pdf">
> > > > > > > >       <fonts>
> > > > > > > >         <font metrics-url="" kerning="yes" embed-url="">
> > > > > > > >           <font-triplet name="Arial" style="normal" weight="normal"/>
> > > > > > > >         </font>
> > > > > > > >       </fonts>
> > > > > > > >     </renderer>
> > > > > > > >   </renderers>
> > > > > > > > </fop>
> > > > > > > >
> > > > > > > >
> > > > > > > >  The files arial.ttf.xml and arial.ttf are in the same directory that the file
> > > > > > > > fop.xconf
> > > > > > > >
> > > > > > > >  I have this error :
> > > > > > > >
> > > > > > > >  19 oct. 2007 15:42:41 org.apache.fop.fonts.FontInfo notifyFontReplacement
> > > > > > > > ATTENTION: Font 'Arial,normal,700' not found. Substituting with 'any,normal,700'.
> > > > > > > > 19 oct. 2007 15:42:41 org.apache.fop.fonts.FontInfo notifyFontReplacement
> > > > > > > > ATTENTION: Font 'Arial,normal,400' not found. Substituting with 'any,normal,400'.
> > > > > > > > 19 oct. 2007 15:42:41 org.apache.fop.fo.FOTreeBuilder fatalError
> > > > > > > > GRAVE: org.apache.fop.pdf.PDFConformanceException: For PDF/A-1b, all fonts, even the base 14 fonts, have to be embedded! Offending font: Times-Roman
> > > > > > > > (Emplacement inconnu de l'erreur)org.apache.fop.pdf.PDFConformanceException: For PDF/A-1b, all fonts, even the base 14 fonts, have to be embedded! Offending font: Times-Roman
> > > > > > > >
> > > > > > > >  Please help me!
> > > > > > > >
> > > > > > > >  Thanks.
> > > > > > > >
> > > > > > >
> > > > >
> > > >
> >
>


MSN Messenger : appels gratuits de PC à PC partout dans le monde ! --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to