Mettre une font personnalisée dans un PDF


Cette manipulation est valable à partir d'Ametys 4.2.

Toutes les occurences entre crochets sont à remplacer par vos valeurs.

Dossier fonts

Créer un dossier fonts dans le projet sous WEB-INF/param dans lequel vous y mettez vos différentes polices de caractères.

Les fonts doivent être au format 'ttf' .

Fichier fop-user-config.xml

Créer le fichier fop-user-config.xml suivant dans le dossier WEB-INF/param :

fop-user-config.xml

<?xml version="1.0" encoding="UTF-8"?> 
<fop version="1.0">    
    <renderers>    
        <renderer mime="application/pdf">    
            <fonts>    
                <font    
                    kerning="yes"    
                    embed-url="./WEB-INF/param/fonts/[MA-FONT]-REGULAR.TTF">    
                    <font-triplet name="[MaFont]" style="normal" weight="normal"/>    
                </font>   
                <font    
                    kerning="yes"    
                    embed-url="./WEB-INF/param/fonts/[MA-FONT]-BOLD.TTF">    
                    <font-triplet name="[MaFont]" style="normal" weight="bold"/>    
                </font>   
                <font    
                    kerning="yes"    
                    embed-url="./WEB-INF/param/fonts/[MA-FONT]-ITALIC.TTF">    
                    <font-triplet name="[MaFont]" style="italic" weight="normal"/>    
                </font>   
                <font    
                    kerning="yes"    
                    embed-url="./WEB-INF/param/fonts/[MA-FONT]-BOLDITALIC.TTF">    
                    <font-triplet name="[MaFont]" style="italic" weight="bold"/>    
                </font>    
            </fonts>    
        </renderer>   
    </renderers>    
</fop>    

Il faut bien remplacer les fichiers TTF par les bons et faire correspondre les attributs name, style et weight. L'attribut name cité dans le fichier sera celui utilisé pour récupérer la police dans l'attribut font-family en CSS.

Font light
Pour déclarer une font light, il ne faut pas mettre weight="light" mais weight="100".

Prise en compte

Dû à l'intégration d'un nouveau fichier XML, il est nécessaire de redémarrer le serveur pour tout ajout ou modification du fichier fop-user-config.xml.

Retour en haut