dompdf水印,图像,页眉和页脚问题

时间:2011-02-01 12:14:47

标签: php footer watermark dompdf

我使用dompdf作为codeigniter中的插件。它完美地生成了pdf。但有些问题让我吃了好几天。

  1. 我想在生成的pdf的每个页面中将图像作为标题。我根据here给出的教程做了。 但没有进展。我尝试了所有类型的图像(jpg,png,gif)在pdf驻留的同一个文件夹中。那没起效。然后我尝试设置图像和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. 这很好用并生成水印。但是水印来自内容。有什么东西可以改变水印的不透明度。通过更改数组中的参数不会改变它。

    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文件中没有的字体?

2 个答案:

答案 0 :(得分: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)。有instructions on how to load fonts,或者您也可以尝试我开发的web-based font prep tool

答案 1 :(得分:1)

确保在0.6.2中的dompdf_config.inc.php~nine 173中 DOMPDF_ENABLE_PHP设置为true 请注意,如果任何未经过滤的内容来自不受信任的来源,则存在潜在的安全风险。

/**
 * 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);