dompdf Zeichenkodierung UTF-8

7

Ich versuche, PDF mit korrekten Zeichen zu erstellen, aber es gibt "?" Zeichen. Ich habe eine Test-PHP-Datei erstellt, in der ich versuche, die beste Lösung zu finden. Wenn ich im Browser das HTML öffne, sehe ich aus wie ok

%Vor%

Aber wenn ich in die pdf schaue, sehe ich das

%Vor%

Hier ist mein ganzer Code:

%Vor%

Was mache ich falsch? Ich habe viele verschiedene Möglichkeiten ausprobiert, die ich gefunden habe :( Irgendeine Idee?

    
lostika 05.05.2013, 12:27
quelle

6 Antworten

25

Sie sollten die Unicode-Anleitung erneut lesen. Das Hauptproblem besteht darin, dass Sie keine Schriftart angeben, die Ihre Zeichen unterstützt. Es sieht so aus, als ob Sie die Anleitung gelesen haben, da Sie das Schriftbeispiel aus diesem Dokument verwenden. Das Beispiel sollte jedoch nicht global auf ein Dokument angewendet werden, dompdf enthält standardmäßig nicht Firefly (eine chinesische Schriftart) oder Verdana.

Wenn Sie keine Schriftart angeben, greift dompdf auf eine der Hauptschriften zurück (Helvetica, Times Roman, Courier), die nur die Windows ANSI-Codierung unterstützen. Achten Sie also immer darauf, Ihren Text mit einer Schriftart zu formatieren, die die Unicode-Codierung unterstützt und über die Zeichen verfügt, die Sie anzeigen müssen.

Mit dompdf 0.6.0 können Sie die mitgelieferten Deja Vu Fonts verwenden. Also sollte folgendes funktionieren (nur das HTML):

%Vor%     
BrianS 06.05.2013 02:53
quelle
20

Ich habe UTF-8-Zeichen, die mit dieser Kombination arbeiten. Bevor Sie html an DOMpdf übergeben, machen Sie die Codierung mit:

%Vor%

Verwenden Sie DejaVu Schriftart in Ihrem CSS

%Vor%

Stellen Sie sicher, dass Sie die Codierung utf-8 in HTML <head> tag

eingestellt haben %Vor%

Jetzt arbeiten alle Sonderzeichen "ľ š ť ť ž"     

Frantisek 02.02.2015 10:17
quelle
4

Nur hinzufügen

%Vor%

vor </head> Es funktioniert für mich.

    
Prasant Kumar 17.01.2017 16:42
quelle
0

Nichts von den erwähnten Antworten hat mir geholfen. Nach Stunden des Kampfes wechselte ich zu niklasravnsborg / laravel-pdf hat fast genau die gleiche Syntax und Verwendung, und alles funktioniert gut .

    
Fusion 02.03.2017 00:19
quelle
0

Wenn es dir nichts ausmacht, nur einen Zeichensatz zu haben, kannst du jeden Zeichensatz in dompdf_font_family_cache.dist.php

ändern

genau wie

%Vor%

Ich weiß, es ist nicht der beste Weg, aber es spart viel Zeit

    
David Škarda 19.03.2017 12:22
quelle
-1

Ich hatte ein ähnliches Problem und habe tcpdf verwendet. Das könnte hilfreich sein. Ссылка
Problem war die Schriftart, die ich verwendete.Ich konnte die richtige Ausgabe mit dieser Schriftart 'freeserif' erhalten. Ich denke, es könnte möglich sein, die gleiche Ausgabe mit dieser Schriftart mit dompdf zu erhalten.

%Vor%

Hier ist das Beispiel, das ich benutzt habe. tcpdf utf-8 Beispiel

%Vor%     
Deshan 11.09.2013 12:06
quelle