Bonjour
losque je transfome mon ficher xml en pdf, les "font" ne sont pas pris en compte
j ai l erreur
[ERROR] unknown font TimesNewRoman,normal,normal so defaulted font to any
quequ un sais resoudre ce pb?
Bonjour
losque je transfome mon ficher xml en pdf, les "font" ne sont pas pris en compte
j ai l erreur
[ERROR] unknown font TimesNewRoman,normal,normal so defaulted font to any
quequ un sais resoudre ce pb?
donne nous le morceau de code ou tu déclare ta police pour commencer, une erreur y est peut être.
ben je sais meme pas ou je dois le déclarer
amis j utilise les feuilles de style de FOP, ca te dit quelque chose?
autre bille
dans le code FOP (0.20.5), "Configuration.getFonts()" me renvoi null,
Comment setter les velurs de font dans configuration
Configuration est de " org.apache.fop.configuration.Configuration"
l'attribut font-family de fo:block!
Code : Sélectionner tout - Visualiser dans une fenêtre à part <fo:block font-family="sans-sherif">...</
ca veut dire quoi "sans sherif"
voila ce que j ai dans la feuille de style de FOP
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <!-- =================== --> <!-- MAIN ROOT TRANSFORM --> <!-- =================== --> <xsl:template match="/w:wordDocument"> <fo:root> <!-- Set default font-family attribute on fo:root --> <xsl:apply-templates select="w:fonts/w:defaultFonts"/> <!-- Create physical page layout and generate page sequences --> <xsl:call-template name="CreatePageLayout"/> <xsl:call-template name="GeneratePageSequences"/> </fo:root> </xsl:template>
c'est le type de la police souhaité. tout comme TimesNewRoman est un autre type de police de caractère
moi le pb, c est que ma feuille de style est générique , dans un classe jave de fop, une liste de font est cré, mais le probleme c est comment stoker cette liste dans configuration de apache
Bizard que personne est ce probleme je comprend pas
remplace la ligne <fo:root> par <fo:root font-family="sans-sherif"> ou tu peus mêttre le nom d'une autre police à la place de "sans-sherif"
je sais pas si tu as regardé le bout de code
en faite j ai une feuille de style qui inclut 5 autres feuille de style
regarde, moi j avoue que je comprend pas tout::
<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================
This stylesheet converts MS Word 2003 XML documents to XSL Formatting
Objects. It tries to be neutral to XSL FO formatters: no extension
elements are used. It is however specifically tuned to process WordML
emitted by Word 2003: when actual markup used by Word differs from the
documentation, the stylesheet favors the real implementation, rather
than the theory.
Please e-mail your comments to Alexei Gagarinov <agagarinov@renderx.com>
(c) RenderX, 2004
*************************************************************************
INTRODUCTORY NOTES
A typical WordML document consists of the following:
a. structure division elements: headers, footers, sections, paragraphs,
text runs;
b. elements describing high-level typographic abstractions:
lists, tables, graphics, hyperlinks, footnotes, data fields, etc.;
c. formatting properties that define the look and feel of elements;
d. styles that bundle formatting properties belonging to a class of elements.
The stylesheet covers all the above to some extent:
a-b. Word structure elements are translated to their XSL-FO counterparts.
The following elements are supported:
- sections;
- paragraphs;
- headers and footers;
- inline-level markup (text runs);
- lists;
- tables;
- hyperlinks;
- inline bitmap graphics, both embedded and linked from a file;
- footnotes (basic numbering scheme only);
- fields (with limitations).
c. Word properties are mapped to their XSL-FO equivalents:
- block-level properties: alignment, indentation, margins,
keeps and breaks, widows and orphans, borders (not all styles),
padding, background;
- inline-level properties: font styling and color,
text decoration properties.
d. Style mechanism is supported fully, including paragraph
and inline styles, style derivation, and style overrides
on specific elements.
IMPLEMENTATION NOTES
1. Stylesheet structure and techniques
This is topmost template. It defines global constants, defaults and
rules for general template matching. All formatting specific
to single elements is contained in subordinated stylesheets:
a. pageLayout.xsl - defines physical page layouts and creates
page sequences;
b. elementStructure.xsl - defines the presentation of the contents;
c. elementProperties.xsl - controls element properties at any level;
d. auxiliary.xsl - named templates that assist in performing
common tasks.
2. Implementation specifics
In some cases, MS Word 2003 interpretation of elements and attributes
diverges from the 'MS Office 2003 Reference schemas' document.
In all such cases, real usage by Word is preferred to the formal
description. All cases where such adjustments were needed are
marked by a commentary inside the templates.
==================================================================== -->
<xsl:stylesheet xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlnssl="http://www.w3.org/1999/XSL/Transform"
xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml"
version="1.0">
<xsl:include href="auxiliary.xsl"/>
<xsl:include href="pageLayout.xsl"/>
<xsl:include href="elementStructure.xsl"/>
<xsl:include href="elementProperties.xsl"/>
<xsl:include href="profile.xsl"/>
<xsl:output method="xml"
version="1.0"
indent="no"
encoding="utf-8" />
<!-- ==== -->
<!-- KEYS -->
<!-- ==== -->
<xsl:key name="styles" match="/w:wordDocument/w:styles/w:style" use="@w:styleId"/>
<xsl:key name="lists" match="/w:wordDocument/w:lists/w:list" use="@w:ilfo"/>
<xsl:key name="list-properties" match="/w:wordDocument/w:lists/w:listDef" use="@w:listDefId"/>
<xsl:key name="fonts" match="/w:wordDocument/w:fonts/w:font" use="@w:name"/>
<!-- ========== -->
<!-- PARAMETERS -->
<!-- ========== -->
<!-- This param deifnes the mode for displaying output messages -->
<!-- if an unsupported element encountered. -->
<!-- 'yes' - display messages -->
<!-- 'no' - don't display messages -->
<xsl:param name="verbose" select="'no'"/>
<xsl:param name="fop.extensions" select="1"/>
<xsl:param name="draft.mode" select="'maybe'"/>
<xsl:param name="tablecolumns.extension" select="1"/>
<!-- ================ -->
<!-- GLOBAL CONSTANTS -->
<!-- ================ -->
<xsl:variable name="section-block-name" select="'fo:block'"/>
<xsl:variable name="section-block-namespace" select="'http://www.w3.org/1999/XSL/Format'"/>
<xsl:variable name="default-paragraph-style" select="/w:wordDocument/w:styles/w:style[@w:default='on' and @w:type='paragraph']"/>
<xsl:variable name="default-character-style" select="/w:wordDocument/w:styles/w:style[@w:default='on' and @w:type='character']"/>
<xsl:variable name="default-table-style" select="/w:wordDocument/w:styles/w:style[@w:default='on' and @w:type='table']"/>
<!-- =================== -->
<!-- MAIN ROOT TRANSFORM -->
<!-- =================== -->
<xsl:template match="/w:wordDocument">
<fo:root>
<!-- Set default font-family attribute on fo:root -->
<xsl:apply-templates select="w:fonts/w:defaultFonts"/>
<!-- Create physical page layout and generate page sequences -->
<xsl:call-template name="CreatePageLayout"/>
<xsl:call-template name="GeneratePageSequences"/>
</fo:root>
</xsl:template>
<!-- ========================= -->
<!-- GENERAL TEMPLATE MATCHING -->
<!-- ========================= -->
<xsl:template match="*" priority="-1">
<xsl:if test="$verbose='yes'">
<xsl:message>
<xsl:text>Warning! Unsupported element: </xsl:text>
<xsl:value-of select="name()"/>
<xsl:text>. Element's contents will be lost.</xsl:text>
</xsl:message>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Tu peux me dire exactement ou mettre cettte balise
merci
Si tu commencait pas t'exprimer clairement car la c'est incrompréhensible!Envoyé par chouchou93
On prend du temps pour te répondre alors la moindre des choses c'est d'avoir un peu de respect en écrivant correctement et en francais car ca:
Ca veux rien dire!dans un classe jave de fop, une liste de font est cré,
Bref si tu fais pas un petit effort moi je laisse tomber!
Mille excuse, c est vrai je tape trop vite...
Je reprend:
- J utilise des feuilles de styles fournit par FOP : XOrd2FO.xsl (qui est la feuille de style principale), elle contient (include) 5 autres feuilles de styles, auxiliary.xsl, elementProperties....
Je ne sais pas si vous connaissez ces feuilles, mon chef de projet les à télécharger.
D après ce que j ai compris, c est feuille sont générique, je ne peux pas mettre "mes polices" dans les feuilles.
En "déboguant" le code de FOP, je me suis rendu compte que dans la classe "FontSetup", avec la méthode "setup" la liste des "fonts" étaient crée. Par contre toujours dans le code de FOP, dans la méthode addConfiguredFonts , l'instruction :
List fontInfos = Configuration.getFonts();
me renvoie null.
D ou ma question: comment "setter la liste des fonts dans configuration"
J espère que c est plus clair
heu je commence à un peut mieu cerner ton probleme.
ce n'est pas en touchant au code de fop que tu poura résoudre ton probleme, la police doit être spécifier quelque parts dans tes feuilles xsl-fo et non dans le code. tu feuille générique sont peut-être incorecte.
remplce le morceau suivant :
par celui ci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <fo:root> <!-- Set default font-family attribute on fo:root --> <xsl:apply-templates select="w:fonts/w:defaultFonts"/> <!-- Create physical page layout and generate page sequences --> <xsl:call-template name="CreatePageLayout"/> <xsl:call-template name="GeneratePageSequences"/> </fo:root>
ce qui te permet de définir une police par défaut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <fo:root font-family="sans-sherif"> <!-- Set default font-family attribute on fo:root --> <xsl:apply-templates select="w:fonts/w:defaultFonts"/> <!-- Create physical page layout and generate page sequences --> <xsl:call-template name="CreatePageLayout"/> <xsl:call-template name="GeneratePageSequences"/> </fo:root>
sinon, pourquois n'esseyerais tu pas de créer ta propre feuille de style [/code]
Je viens d essayer mais j ai toujours la meme erreur.
Pour ce projet , on utilise les feuilles de FOP, car la feuille de style sera appliquée à des documents différents.
Mais il y a plusieurs problemes dans le code FOP, j ai meme changé du code pour la gestion des images dans un document word, car c'était mal géré.
Je seche la!!!!
c'est plutot font-family="sans-serif" cela m'apprendra a faire du copier coller en provenance des autres post,
toujours le meme erreur snif
j ai la reponse:
dans fop, dans le fichier "usercong.xml", il faut ajouter la font que l on veut:
<font metrics-file="times.xml" kerning="yes" embed-file="C:/WINDOWS/FONTS/times.ttf">
<font-triplet name="TimesNewRoman" style="normal" weight="normal"/>
</font>
Puis lancer la ligne de commande suivante pour pouvoir générer le fichier
times.xml :
D:\workspace\fop-0.20.5>D:\outils\sdk\j2sdk1.4.2_10\bin\java -cp build\fop.jar;l
ib\avalon-framework-cvs-20020806.jar;lib\xml-apis.jar;lib\xercesImpl-2.2.1.jar;l
ib\xalan-2.4.1.jar org.apache.fop.fonts.apps.TTFReader D:\Fonts\times.ttf D:\Fon
ts\times.xml
sans oublier dans le code java :
File userConfigFile = new File(userConfig);
try
{
new Options(userConfigFile);
}
catch (Exception e2)
{
e2.printStackTrace();
}
userConfig = fichier xml de configuration fop
Partager