7

この問題について助けていただきたいのですが、mPDF を初めて扱っていますが、これは素晴らしいと思いますが、Web と同じ種類のフォントでレポートを表示したいと考えています。これを達成するために、まだ私にとってはうまくいかないようです。私が今までやったことは:

  1. その後に生成されるドキュメントに、Google から Open Sans への URL を追加し<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>ます。
  2. 次に、フォントの使用を含むスタイル シート ファイルを追加します <link rel="stylesheet" href="<?php echo base_url(); ?>assets/publicidad/css/reporte.css" type="text/css"> 。既に追加した reporte.css 内に、'Open Sans' フォントを使用する定義があります。

    body { font-family: 'Open Sans', Sans-Serif; 期待どおりにフォントを表示します。

  3. 正常に動作する mPDF で pdf を生成しますが
    、Open Sans をドキュメント スタンドとして表示したい場合、目的のフォントが表示されません。「Open Sans」の ttfs ファイルをhttp://www.fontsquirrel.comからダウンロードしました。 /fonts/open-sans、ドキュメント内に記載されているように、mPDF ディレクトリの ttfonts フォルダー内に追加されました。


その後、この明確なドキュメントhttp://mpdf1.com/manual/index.php?tid=453に従いますが、今までPDFドキュメントに目的のフォントが表示されていません。 「4. 特定の言語でフォントを使用するには、構成ファイル (config_cp.php) も編集する必要があります。Frutiger には、タイ語に必要な文字の完全なセットが含まれていると想像してください:」という部分ですが、書き留めたデフォルト構成を使用しているので、それが問題だとは思わないでください。

function pdf_create($html, $filename, $stream = TRUE) {
            require_once(APPPATH . 'helpers/mpdf/mpdf.php');
            $mpdf = new mPDF();
            $mpdf->SetAutoFont();
            $mpdf->WriteHTML($html);
            if ($stream)
            {
                $mpdf->Output($filename . '.pdf', 'D');
            }
            else
            {
                $mpdf->Output('./uploads/temp/' . $filename . '.pdf', 'F');

                return './uploads/temp/' . $filename . '.pdf';
            }
        }

私のコントローラーでこれを行います。

$html = $this->load->view('publicidad/reporte_x_curso', $data, true);
$this->load->helper('mpdf');
pdf_create($html, 'Reporte_por_cursos', true);

(上記はstackverflowエディターに認識されていません)

そして最後に、ドキュメントに従って私が望むすべてのことを行う必要がある、これまでに行ったことは次のとおりです。

$this->fontdata = array(
    "'Open Sans'" => array(
    'R' => 'OpenSans-Regular.ttf'
    )

PD: HTML ドキュメントにそのように追加していたので、単一引用符を付けましたが、単一引用符なしで試してみましたが、成功しませんでした。よろしくお願いします。

4

4 に答える 4

15

ノート

まず、mpdf1.com Web サイトは使用しないでください。閉鎖されています。https://github.com/mpdf/mpdfを使用します。バージョン 6 と 7 ではコードが異なります

mPDF v6.x の例

ソース

1) 2) にアップロードMyFont.ttfし、配列内 に以下を追加します。/mpdf/ttfonts
/mpdf/config_fonts.php$this->fontdata

"my_custom_font" => array( 
        'R' => 'MyFont.ttf',            // Regular - REQUIRED
        'I' => "MyFont-Oblique.ttf",    // Italic  - OPTIONAL
        'B' => "MyFont-Bold.ttf",       // Bold    - OPTIONAL
),


3) 次に、カスタム スクリプトを実行する場所my_custom_fontttで、css を使用します。

<?php

$mpdf=new mPDF();
$texttt= '
    <html><head><style>
    body { font-family: "my_custom_font"; }
    </style></head>
    <body>My SAMPLE TEXTTTTT</body>
    </html>';
$mpdf->WriteHTML("$texttt");
$mpdf->Output(dirname(__FILE__).'/new_created_file.pdf','F');
于 2014-07-14T15:46:20.620 に答える