【问题标题】:WriteHTML / Euro symbol in TCPDF not displaying correctlyTCPDF 中的 WriteHTML / Euro 符号显示不正确
【发布时间】:2012-02-21 19:18:40
【问题描述】:

我已阅读所有其他主题并尝试了所有方法。这是我所在的位置:

构造函数:

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

在执行 writeHTML 之前,我在缓冲区上运行 utf8_encode。

我已经尝试了准确的参考,粘贴原始字符,将构造函数更改为 UTF8 似乎在我的文档周围添加了带有重音符号的随机 A...

目前不确定。

我的另一个问题是使用 writeHTML 进行样式设置...我有表格,因为 TCPDF 的 writeHTML 函数似乎并没有真正包含盒子模型。例如我有这个代码:

<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>

只是一个提取,第一张图片与 eft 对齐,即使它都是 193?到目前为止,我已经花了一两天的时间,如果有人有任何替代方法来创建样式精美的属性数据表,与内容管理的 php 站点集成,请告诉我! :) 否则我的问题的任何答案都会很棒。

【问题讨论】:

    标签: php pdf-generation tcpdf


    【解决方案1】:

    您使用编码ISO-8859-1 创建PDF,它的明显缺点是没有欧元符号。你可以

    • 又快又脏,不推荐:改成ISO-8859-15(与ISO-8859-1兼容,但有欧元符号)

    • 更好:更改为 UTF-8 并确保所有文本都正确编码为 UTF-8,然后再将其扔到 PDF 生成器中

    【讨论】:

    • 对不起,我传递了布局:我们放弃了它,现在我们每页创建一个图像并在 PDF 中只包含图像,实际上使 PDF 只是图像的包装.
    • 嗯。这听起来像是正确的答案。我已经尝试过您的更改...但它似乎不起作用:S 尝试:&欧元; € $欧元 = $pdf->unichr(8364);
    • 显然我把它改成了 $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, false, 'ISO-8859-15', false);并添加了 header('Content-Type: text/html; charset=ISO-8859-15');为了安心。
    猜你喜欢
    • 2012-11-22
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    • 2011-07-17
    • 2011-12-15
    • 1970-01-01
    • 2011-07-05
    • 2012-08-03
    相关资源
    最近更新 更多