2016-05-12 10 views
3

dompdfを使用して、htmlページをphpでpdfとして保存します。私はHTMLページ(実際にはPHPページ)でペルシア語の文字を使用しますが、私がpdfとして保存しようとしているとき、エクスポートは '?????' :(。私はすべてのネットを検索して、 "dompdf_config.inc.php"または"dompdf_config.custom.inc.php"ファイルにユニコード文字の設定を見つけましたが、問題はできません私のdompdfフォルダと私のファイルシステムのすべてでそのようなファイルを見つけてください誰かが私が何をしなければならないかを教えてください。
これは、これが私のコードでエクスポート。 http://i.stack.imgur.com/nYAzW.png

です。"DOMPDF_UNICODE_ENABLED"を設定するためのdompdf_config.inc.phpまたはdompdf_config.custom.inc.phpが見つからない

require("dompdf/autoload.inc.php"); 
use Dompdf\Dompdf; 
$dompdf = new Dompdf(); 
$dompdf->loadHtml("<html><head> 
<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"> 

<link rel=\"stylesheet\" type=\"text/css\" href=\"styles/scorestyle.css\"> 

</head> 
<body><div> 
<div id=\"showscorediv\"><table><tbody><tr class=\"scoresubject\"><th colspan=\"2\">کارنامه ارزیابی</th></tr><tr class=\"scorecategory\"><th>شاخص ها</th><th>امیتاز ها</th></tr><tr><td><span class=\"level_0\">شاخص های کیفی</span></td><td class=\"scoretd\">62</td></tr><tr><td><span class=\"level_1\">شاخص های مرتبط با تیم کاری</span></td><td class=\"scoretd\">10</td></tr><tr><td><span class=\"level_1\">شاخص های مرتبط با محصول</span></td><td class=\"scoretd\">28</td></tr><tr><td><span class=\"level_1\">شاخص های مرتبط با بازار</span></td><td class=\"scoretd\">24</td></tr><tr><td><span class=\"level_0\">شاخص های کمی</span></td><td class=\"scoretd\">60</td></tr><tr><td><span class=\"level_1\">شاخص های تولیدی</span></td><td class=\"scoretd\">20</td></tr><tr><td><span class=\"level_1\">شاخص های درآمدی</span></td><td class=\"scoretd\">14</td></tr><tr><td><span class=\"level_1\">شاخص های هزینه ای</span></td><td class=\"scoretd\">26</td></tr><tr class=\"scoresubject\"><th>امتیاز کل</th><th>122</th></tr></tbody></table> 
</div> 
</div></body></html>"); 
$dompdf->setPaper('A4', 'landscape'); 
$dompdf->render(); 
$dompdf->stream(); 
+0

おそらくそれらをダウンロードする必要があります。直感で推測するだけでは分かりません。 –

+0

これらのファイルをダウンロードした後、どこに@LajosArpadを置く必要がありますか?私はどの住所ですか? – HosSeinM

+0

カスタム設定ファイルをルートフォルダに置く必要があるようです:https://github.com/rposborne/gravityformspdf/blob/master/dompdf/dompdf_config.custom.inc.php –

答えて

1

dompdf 0.7.0を使用しているようですが、dompdf_config.inc.php設定ファイルは使用されていません。このリリースでは、Unicodeサポートが常に有効になっています。あなたはそれを確認する必要があり、あなたのサンプルコードで使用されている文字を表示するには

  1. あなたはこれらの文字(そのappears to be the case)をサポートするフォントを供給しています。
  2. dompdfには、一時ディレクトリ、フォントディレクトリ、およびフォントキャッシュディレクトリに対する読み取りと書き込みの両方の機能があります。 $dompdf->set_option('option', 'value');(オプションはtempDirfontDir、またはfontCache)を使用してこれらを設定できます。
  3. フォントはdompdfからアクセス可能で、TTF形式です。
  4. フォントを使用するようにコンテンツのスタイルを正しく設定しています。あなたのCSSを見ずに知るのは難しいです。

参考までに、TTF/UFMをフォントディレクトリにドロップすることはできません。 dompdfはフォントを使用するためにフォントに関する情報を記録しなければなりません。また、AFMメトリックファイルは、フォントのWindows ANSIエンコーディングを示すため、この場合は動作しません。 Windows ANSIエンコーディングは、サンプル内の文字をサポートしていません。 Dompdfは、UnicodeサポートにUFMメトリック形式を使用します。

dompdfの以前のバージョンに含まれていたユーティリティは、もはや0.7.0に含まれていません。 @font-face宣言の使用要件を満たしている限り、外部ユーティリティは必要ありません。ただし、必要に応じてdompdf-utils projectに互換性のあるload_font.phpスクリプトを見つけることができます。

あなたは0.7を使用しているためです。0(ちょうどリリースされた)は、インターネット上の情報の多くは、最新でない可能性があり、あなたはそれを使用する方法をよく読んですることもできます。


最後に、DOMPDFは、あなたの文字をサポートすることができ、フォント(そしてDejaVu)が含まれています。スタイルシートに以下を追加して、カスタムフォントが機能しない場合に備えてフォールバックするようにしてください:

* { font-family: BZar_0, DejaVu Sans, sans-serif; } 
0

DOMPDFオプションを設定するには、名前付き定数を定義する必要があります。 利用可能なすべてのオプションは、ここにあります:http://pxd.me/dompdf/www/setup.php

基本的にユニコードサポートを有効にする必要があります。

define("DOMPDF_UNICODE_ENABLED", true); 

あなただけのフォント使用すると、サポートのUnicode文字を使用していることを確認するために、同様DOMPDF_FONT_DIRDOMPDF_DEFAULT_FONTを設定することもできます。

+0

この定数はどこに置かれますか?私のメインコードの意味ですか?私はこれを何も変えませんでした。 – HosSeinM

+0

これは私のコードです:<?php require( "dompdf/autoload.inc.php"); define( "DOMPDF_UNICODE_ENABLED"、true); Dompdf \ Dompdfを使用します。 Dompdf \ Optionsを使用します。 $ dompdf =新しいDompdf(); $ dompdf-> loadHtml(mb_convert_encoding( "فارسی"、 'HTML-ENTITIES'、 'UTF-8')); $ dompdf-> setPaper( 'A4'、 'Portrait'); $ dompdf-> render(); $ dompdf-> stream(); – HosSeinM

+0

あなたは、このチュートリアルを使用してDOMPDFを使用する前にこのチュートリアルを使用して、DOMPDFを使用する前に http://stackoverflow.com/questions/8968627/how-to-make-dompdf-support-unicode-font-step-by-step https://github.com/dompdf/dompdf/wiki/UnicodeHowTo – Yeti