Символ WriteHTML / Euro в TCPDF отображается неправильно - PullRequest
0 голосов
/ 21 февраля 2012

Я прочитал все остальные темы и перепробовал все. Вот где я нахожусь:

Конструктор:

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, false, 'ISO-8859-1', false);

Я выполняю utf8_encode в буфере перед выполнением writeHTML.

Я пробовал & евро; точная ссылка, вставка необработанного символа, изменение конструктора на UTF8, кажется, добавляет случайные буквы А с акцентами вокруг моего документа ...

Не уверен в этом.

Мой другой вопрос - стилизация с использованием writeHTML ... У меня есть таблицы, потому что функция writeHTML в TCPDF на самом деле не включает в себя блочную модель. Например, у меня есть этот код:

<td valign="top" align="left" style="padding:0;">
        <table width="193" cellpadding="0" cellspacing="0">
          <tr><td style="text-align:left;" align="left" valign="top" width="193" style="width:193px;">
        <?php
        $imageCount = count($theImages);
        for($i = 1; $i <= $imageCount; $i++)
        {
          $f = SITE_ROOT . '/i/properties/'. $p->id .'/l_'. $theImages[$i]['name'];
          $u = '/i/properties/'. $p->id .'/l_'. $theImages[$i]['name'];
          if(file_exists($f)) {
            echo '<img src="'.$u.'" width="193" /></td></tr><tr><td>';
          }
        }
        ?></td></tr></table>
      </td>

Просто выдержка, и первое изображение выровнено по краю, хотя это все 193? Я потратил целый день или два на это, и если у кого-нибудь есть альтернативы для создания красиво оформленных таблиц свойств, интеграции с php-сайтом, управляемым контентом, пожалуйста, дайте мне знать! :) В противном случае любые ответы на мои проблемы будут великолепны.

1 Ответ

2 голосов
/ 21 февраля 2012

Вы создаете свой PDF-файл, используя кодировку ISO-8859-1, которая имеет явный недостаток, заключающийся в отсутствии знака евро.Вы можете либо

  • Быстро и грязно, не рекомендуется: Изменить на ISO-8859-15 (который совместим с ISO-8859-1, но имеет знак евро)

или

  • Лучше: измените на UTF-8 и убедитесь, что весь ваш текст правильно закодирован в UTF-8, прежде чем выбросить его в генератор PDF
...