Maison  >  Article  >  Java  >  Comment éviter \"\" lors du rendu des caractères chinois dans Apache FOP ?

Comment éviter \"\" lors du rendu des caractères chinois dans Apache FOP ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-26 11:06:29182parcourir

How to Avoid

Éviter #### dans Apache FOP lors du rendu des caractères chinois

Apache FOP, un outil populaire pour générer des documents PDF, rencontre souvent un problème où les caractères chinois sont affichés sous la forme "####" au lieu des glyphes prévus. Pour résoudre ce problème, trois étapes critiques doivent être suivies :

Étape 1 : Spécifiez la famille de polices dans le fichier FO

Attribuez la police souhaitée à l'aide de la famille de polices propriété dans le fichier FO. Dans l'exemple fourni, la police SimSun est utilisée :

<code class="xml"><fo:block font-family="SimSun">...</fo:block></code>

Étape 2 : Configurer le mappage des polices dans le fichier de configuration de FOP

Dans le fichier de configuration de FOP (généralement fop. xconf), mappez la famille de polices au fichier de police correspondant :

<code class="xml"><directory>/Users/furini/Library/Fonts</directory></code>

Ou pour un mappage de police spécifique :

<code class="xml"><font embed-url="/Users/furini/Library/Fonts/SimSun.ttf">
  <font-triplet name="SimSun" style="normal" weight="normal"/>
</font></code>

Étape 3 : Pointez FOP vers le fichier de configuration

Lorsque vous appelez FOP depuis la ligne de commande, utilisez l'option -c :

$ fop -c /path/to/fop.xconf input.fo input.pdf

À partir du code Java :

<code class="java">fopFactory.setUserConfig(new File("/path/to/fop.xconf"));</code>

En implémentant ces étapes, FOP restituera correctement les caractères chinois dans les PDF générés. Cependant, si le fichier de police spécifié dans la configuration est introuvable, un message d'erreur s'affichera et la configuration de la police devra être vérifiée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn