使用mPDF从HTML表单创建PDF

时间:2012-07-23 22:32:10

标签: html-form fpdf html-encode mpdf

我想使用mpdf来创建我的PDF文件,因为我使用挪威语字母,例如ÆØÅ。 PDF文件中的信息主要包括用户以HTML格式写入的文本。但是,我有一些问题。

使用此代码时:

$mpdf->WriteHTML('Text with ÆØÅ');

PDF将显示特殊字符。

但使用时:

<?php
include('mpdf/mpdf.php');

$name = 'Name - <b>' . $_POST['name'] . '</b>';

$mpdf = new mPDF();

$mpdf->WriteHTML($name);

$mpdf->Output();
exit;

?>

特殊字符不会显示。

HTML表单如下所示:

<form action="hidden.php" method="POST">
    <p>Name:</p>
    <input type="text" name="name">

   <input type="submit" value="Send"><input type="reset" value="Clear">
</form>

为什么特殊字符不会显示此方法?我应该使用哪种方法?

1 个答案:

答案 0 :(得分:1)

由于将POST数据回显到网站上也没有显示字符,这显然不是mpdf的问题。当使用包含非Ascii字符的内容时,必须特别注意网站字符编码。

从mpdf文档中可以看出它支持UTF-8编码,因此您可能希望将其用于数据。 POST数据以与网站使用的编码相同的方式接收。因此,如果网站使用latin-1,您需要调用 utf8_encode()将POST数据转换为unicode。如果网站已经使用了UTF-8,你应该没问题。

如果您没有在网站标题中设置特定的编码(您应该始终避免这种麻烦),编码可能取决于几个因素,例如服务器上的操作系统和配置或编码最初的php源文件,它会受到你自己的操作系统配置和编辑器选择的影响。