3

codeigniterのプラグインとしてdompdfを使用しています。それは完全にpdfを生成します。しかし、いくつかの問題が私を数日間食べ尽くしています。

  1. 生成されたPDFのすべてのページに画像をヘッダーとして配置したいと思います。私はここで与えられたチュートリアルに従ってそれをしました。しかし、進歩はありません。pdfのsriptが存在する同じフォルダー内のすべてのタイプ(jpg、png、gif)の画像を試しました。それは動かなかった。次に、に示すように画像とcssのパス変数を設定しようとしましたが、http://code.google.com/p/dompdf/wiki/Usageそのための良い例やチュートリアルを取得できませんでした。誰かがこれを使ったことがあるなら、私を助けてください。

  2. また、すべてのページに透かしを追加したいと思います。そのために私は使用しています

    $pdf->page_text(110, $h - 240, "TRIAL", Font_Metrics::get_font("verdana", "bold"),110, array(0.92, 0.92, 0.92), 0, -58);

これは正常に機能し、透かしを生成します。ただし、透かしはコンテンツに適用されます。透かしの不透明度を変更するものはありますか。配列のパラメータを変更しても変更されません。

3.すべてのページの最後(最後のページを除く)に「続き.. 」というテキストを入れたい。そのために私は使用しています

$text = "Continued..";
  $width = Font_Metrics::get_text_width($text, $font, $size);
  $pdf->page_text($w - 16 - $width - 38, $y-15, $text, $font, $size, $color);

すべてのページにテキストを配置します(必要に応じて)。最後のページを除くすべてのページにテキストを配置する方法はありますか?

  1. dompdfのlibファイルで利用できないフォントを設定する方法は?
4

2 に答える 2

2

1) 正確には、使用しているコードは何ですか? 画像ではなく、インラインスクリプトで成功しているようです。したがって、コードに問題がある可能性があります。

2) これはインライン スクリプトの問題です。HTML コンテンツの上に表示されることを意味する HTML コンテンツの後にレンダリングされます。インライン スクリプトを使用してテキストを追加するときに不透明度オプションがありましたが、正しく機能していたかどうかはわかりません。0.6.0 コード ベースから削除されました。

次のリリースを待つ必要があるかもしれません。このリリースには、HTML でやりたいこと (具体的には、固定配置と CSS 変換) を可能にするスタイリング オプションがさらに含まれます。

3) 最後のページ以外のすべてのページにヘッダーを表示できるかどうかわかりません。オブジェクトの表示を停止するオプションがありますが、後続のページにのみ影響するようです。したがって、最後のページの前に関連するコードをページに追加する必要があります。

4) フォントを追加したい場合は、load_font.php を使用して解析できる必要があります。実行可能ファイル ttf2afm (dompdf 0.5.1) または ttf2ufm (dompdf 0.6.0) へのアクセスも必要になります。フォントの読み込み方法についての説明があります。または、私が開発したWeb ベースのフォント準備ツールを試すこともできます。

于 2011-02-02T19:13:43.077 に答える
1

DOMPDF_ENABLE_PHP が dompdf_config.inc.php で true に設定されていることを確認してください~ 0.6.2 の 173 行目 信頼されていないソースから pdf へのフィルタリングされていないコンテンツがある場合、これは潜在的なセキュリティ リスクであることに注意してください。

/**
 * Enable inline PHP
 *
 * If this setting is set to true then DOMPDF will automatically evaluate
 * inline PHP contained within <script type="text/php"> ... </script> tags.
 *
 * Enabling this for documents you do not trust (e.g. arbitrary remote html
 * pages) is a security risk.  Set this option to false if you wish to process
 * untrusted documents.
 *
 * @var bool
 */
define("DOMPDF_ENABLE_PHP", true);
于 2011-05-17T13:09:28.883 に答える