1

私はこれのために新しいスレッドを開始しています。できるだけ具体的にしようとします。

これは、営業担当者が連絡先情報を含むページをカスタマイズできるようにするアプリの一部です。送信をクリックすると、PDF ページが作成され、大きなドキュメントの最後に添付されます。

ドキュメントの最初のページも、入力した同じフォームから動的に作成されます。送信を押すと、フロント ページとバック ページの 2 つの PDF ファイルが作成され、両方のページが 1 つのレポートを作成する大きなドキュメントに添付されます。

漢字を入力しない限り、すべてがうまく機能し、得られるのはこのようなゴミ文字だけです-(质釕俕试æμ•程)。ドキュメントは、より大きなドキュメントとマージされる前でも、このように見えます。

Unicode フォントの使用から、独自に作成したフォントの使用まで、考えられるすべてのシナリオ (と思われる) を試し、TCPDF フォルダー内の各フォントを 1 つずつ試しました。私は完全に途方に暮れており、しばらくの間そうです。私は、TCPDF に言及しているほぼすべての Web サイトにアクセスしているように感じます。

これは、私が始めた基本的なコマンドに戻って、裏ページを作成するコードです。私が見逃しているのは、ここでの簡単なコマンドであることを願っています:

require_once(dirname(__FILE__).'/html2pdf.class.php');
try
{
    $html2pdf = new HTML2PDF('L','LETTER','en', false, 'ISO-8859-15', array(mL, mT, mR, mB)); 
    $html2pdf->setDefaultFont('Arial');
    $html2pdf->writeHTML($html, isset($_GET['vuehtml']));

//Line below saves PDF to file
    $html2pdf->Output('created/'.$lastname[1].'_html2pdf.pdf', 'F');

}

catch(HTML2PDF_exception $e) {
    echo $e;

}

そして、Centos 5.5 サーバーを実行してドキュメントを作成する価値があります。前もって感謝します。


HTML2PDF でこの問題を調査したところ、フォント arialuni.ttf が必要なすべての文字をサポートする必要があると言われました。そうは言っても、以下に示すスクリプトで使用すると、HTML2PDF はこのフォントをロードしません。

require_once(dirname(__FILE__).'/html2pdf.class.php');
try
{

    $html2pdf = new HTML2PDF('L','LETTER','en', false, '', array(mL, mT, mR, mB));      
    $html2pdf->pdf->AddTTFFont('ARIALUNI.TTF');
    $html2pdf->pdf->setFont('arialuni');
    $html2pdf->writeHTML($html, isset($_GET['vuehtml']));

    //Line below sends output to the screen only
    //$html2pdf->Output('exemple00.pdf');

    //Line below saves PDF to file
   $html2pdf->Output('created/'.$lastname[1].'_html2pdf.pdf', 'F');

}

catch(HTML2PDF_exception $e) {
    echo $e;

}

*私が考えることができるのは、構文が 100% 正しくないということだけです。ファイルを取得するために tt2fm と makefont を実行しましたが、これらのルーチンが 100% 成功したとは思いません。

助けてください-私はこのことに何ヶ月も断続的に取り組んできました。私はそれをスクラップしてドアを叩く準備がほぼ整っています。

ありがとうございました。

4

4 に答える 4

2

を使用して、PDF ドキュメントで漢字をレンダリングできます。

TCPDF のcid0jpフォント。

ご参考までに :-

PHP コード :-

http://www.tcpdf.org/examples/example_038.phps

生成された PDF :-

http://www.tcpdf.org/examples/example_038.pdf

cid0jp.phpファイルが font ディレクトリにあることを確認してください。

tcpdf/fonts/cid0jp.php 
于 2013-01-22T06:34:43.513 に答える
2

あなたのコードによると:

require_once(dirname(__FILE__).'/html2pdf.class.php');
try
{
    $html2pdf = new HTML2PDF('L','LETTER','en', false, 'ISO-8859-15', array(mL, mT, mR, mB));
    //$html2pdf->setDefaultFont('Arial');  //Please remove this
    $html2pdf->setDefaultFont('stsongstdlight'); //And change with this, it works 101% for me
    $html2pdf->writeHTML($html, isset($_GET['vuehtml']));

//Line below saves PDF to file
    $html2pdf->Output('created/'.$lastname[1].'_html2pdf.pdf', 'F');

}

catch(HTML2PDF_exception $e) {
    echo $e;

}

...そして、ここに中国語の文字をpdf出力に含めるための私の101%の作業コードがあります:

<?php
require_once ROOT_DIRECTORY.'/{it's your own location where you put the class at}/html2pdf-4.4.0/html2pdf.class.php'; //ROOT DIRECTORY is my own "defined" so do not use this line.
/* or use this:
* require_once(dirname(__FILE__).'/html2pdf.class.php');
* it depends on what you need
*/ 
try
{
    $html2pdf = new HTML2PDF('L', 'A6', 'en', true, 'UTF-8', 0); //I'm using UTF-8 //Also I'm working on A6 page in my project here, so if you need to have A4 size change A6 back to A4 or change to the size you need
    $html2pdf->pdf->SetDisplayMode('fullpage');
    $html2pdf->setDefaultFont('stsongstdlight'); //this is all you need to have the CHINESE character.
    $content = ob_get_clean();
    $html2pdf->writeHTML($content);

    $html2pdf->Output('Sticker-'.$this->invNumber.'-'.$this->custCode.'.pdf');
    exit;
}
catch(HTML2PDF_exception $e) {
    echo $e;
    exit;
}

うまくいけば、そこのコードでも機能します!

ハッピーコーディング:)

于 2016-08-29T08:36:25.657 に答える
0
$html2pdf = new HTML2PDF('L','LETTER','en', true, 'UTF-8', array(mL, mT, mR, mB));
于 2014-01-28T07:31:36.130 に答える
0

html2pdfに基づいてtcpdfいますが、少し異なります 。html2pdfは中国語をサポートしていません

javiergb.phpただし、インクルード ディレクトリから取得できます/tcpdf/fonts/。次に、このファイルをhtml2pdf/_tcpdf5.xxxx/fonts/ディレクトリにコピーします。

その後、$html2pdf->setDefaultFont('javiergb');次のように設定した html2pdfに行を追加するだけです。

$html2pdf = new HTML2PDF('P', 'A4', 'en');
$html2pdf->setDefaultFont('javiergb');
$html2pdf->writeHTML($html);
$html2pdf->Output('example_zh_cn.pdf');

私のフォークを見ることができます: https://github.com/cychai/html2pdf

于 2015-06-07T18:19:32.113 に答える