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)。有关于如何加载字体的说明,或者您也可以尝试我开发的基于网络的字体准备工具。

于 2011-02-02T19:13:43.077 回答
1

确保在dompdf_config.inc.php 中将 DOMPDF_ENABLE_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 回答