dompdf проблемы с водяными знаками, изображениями, колонтитулами - PullRequest
3 голосов
/ 01 февраля 2011

Я использую dompdf в качестве плагина в codeigniter.он генерирует PDF отлично.но некоторые проблемы сжигают меня на несколько дней.

  1. Я хочу поместить изображение в качестве заголовка на каждой странице сгенерированного PDF.я сделал это в соответствии с руководством здесь .но нет прогресса.Я пытался для изображений всех типов (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. В конце каждой страницы (кроме последней) я хочу поместить текст " продолжение .. ".для этого я использую

$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. как установить шрифт, которого нет в файле lib dompdf?

Ответы [ 2 ]

2 голосов
/ 02 февраля 2011

1) Какой именно код вы используете?Похоже, у вас есть успех с встроенным скриптом, а не с изображениями.Так что может быть проблема с вашим кодом.

2) Это проблема встроенного скрипта.Он отображается после содержимого HTML, что означает, что он отображается поверх содержимого HTML.Раньше была опция непрозрачности при добавлении текста с помощью встроенных сценариев, но я не уверен, что он когда-либо работал правильно.Он был удален из базы кода 0.6.0.

Возможно, вам придется подождать следующего выпуска, который будет включать в себя дополнительные параметры стиля, которые позволят вам делать то, что вы хотите сделать в HTML (в частности, фиксированное позиционирование иПеревод CSS).

3) Я не уверен, что вы можете отображать заголовок на каждой странице, кроме последней.Существует возможность остановить отображение объекта, но это влияет только на последующие страницы.Поэтому вам нужно добавить соответствующий код на страницу, предшествующую последней.

4) Если вы хотите добавить шрифт, вам нужно иметь возможность его проанализировать с помощью load_font.php.Вам также понадобится доступ к исполняемому файлу ttf2afm (dompdf 0.5.1) или ttf2ufm (dompdf 0.6.0).Есть инструкции по загрузке шрифтов , или вы также можете попробовать веб-инструмент подготовки шрифтов , который я разработал.

1 голос
/ 17 мая 2011

Убедитесь, что для DOMPDF_ENABLE_PHP установлено значение true в dompdf_config.inc.php ~ строка 173 в 0.6.2 Имейте в виду, что это потенциальная угроза безопасности, если какой-либо нефильтрованный контент поступает из ненадежного источника в 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...