Problème DOMPDF avec des caractères cyrilliques
Je suis en utilisant le DOMPDF bibliothèque pour créer une facture en PDF. Ce document peut être en français, en russe ou en anglais, mais je vais avoir des problèmes d'impression des caractères russes.
Tout d'abord, j'ai essayé d'utiliser l'encodage UTF-8 et a placé le meta
dans la balise head de la page HTML à être convertis:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Mais cela ne fonctionne pas.
Puis j'ai inséré ce meta
balise à l'intérieur de la BODY
tag, et il a aidé à résoudre le problème avec des caractères français.
Mais des caractères russes ne fonctionnent toujours pas. J'ai également essayé de convertir russe caractères en entités HTML, mais ne fonctionne pas.
- Je utiliser la R&OS CPDF de la classe, pas PDFLib comme un backend.
Peut aider quelqu'un?
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Problème avec les polices par défaut dompdf utilise (c'est qu'il n'ont pas tous les caractères unicode, ouragans sont désormais plus de 5000). Généralement arialuni.ttf est ce que vous avez besoin. Vous pouvez télécharger localisée version russe à http://chernev.ru/dompdf.rar {lien brisé}
Lien mis à jour: https://code.google.com/p/ipwn/downloads/detail?name=arialuni.ttf
Accepté de répondre à lien est rompu et il contenait ancienne version de DOMPDF.
De travailler avec des symboles unicode dans DOMPDF de 0,6 vous avez deux solutions: utiliser existait des polices ou créer votre propre police.
Utilisation existait police (appliqué pour DOMPDF 0.6):
/dompdf/lib/fonts/
.dompdf_font_family_cache.dist.php
avec l'extrait de code 1.font-family: times;
.Extrait 1:
Si vous souhaitez utiliser votre propre police TTF (dire,
Arial.ttf
):ttf2afm -o Arial.afm Arial.ttf
. (Je l'ai fait dans Ubuntu.)ttf2ufm -a -F Arial.ttf
. (Je l'ai fait dans Windows à l'aide d'un exe à partir d' UFPDFmais je suppose que vous pouvez utiliser/dompdf/lib/ttf2ufm/bin/ttf2ufm.exe
.)Arial.*
fichiers dans/dompdf/lib/fonts/
.dompdf_font_family_cache.dist.php
extrait 2.font-family: arial;
.Extrait 2:
si vous allez utiliser la police DejaVu vous pouvez voir les caractères cyrilliques
DOMPDF inclure police DejaVu être par défaut
Vous pouvez également définir le changement def pour la police par défaut dans dompdf_config.inc.php
Télécharger arialuni.ttf
Exécutez php load_font.php 'Arial' arialuni.ttf dans dompdf répertoire, définir la police arial
Il fonctionne 😉
Pour moi les 4 étapes ci-dessus ne résolvent pas le problème.
En outre, dompdf convertit les pdf créés à la norme ANSI (ISO)
Vous devez désactiver cette sur la page d'options
http://domain.com/admin/settings/print/pdf
Cochez la case Utiliser dompdf du Mode Unicode. Cette force de créer des fichiers en UTF-8/Unicode.
Veuillez noter que les paramètres web remplacent les paramètres dompdf_config.inc.php par défaut.
A noté que le problème pourrait être dans le css de réinitialisation de l'utilisation, en particulier
font:inherit;