fpdf输出垃圾值

时间:2017-03-23 08:06:48

标签: php fpdf

我正在尝试将PDF输出生成为字符串,但它会生成垃圾输出。

<?php
//here some code will come 
require('fpdf.php'); 
$pdf =new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output('file.pdf','D');
?>

当我使用简单的示例代码时,FPDF工作正常,但当我在我的项目中使用相同的代码时,它会返回垃圾值,如

%PDF-1.3 3 0 obj <> endobj 4 0 obj <> stream x�3R��2�35W(�r Q�w3T04�30PISp    �Z*�[����(hx����+���(j*�d��7W endstream endobj 1 0 obj <> endobj 5 0 obj <> stream x�]R�n�0��>��L�%�DI�8���~�%E*r�ﻻvҪHX�gvVk?/���Ῑ��`]�[�x5 �3\z��P�}����PO���j�Jݍ^���x6/f�����������|���4}�z�����}���@�,ۖ-��˺E�u�^�,���<� �Z_�K� IQ����Yd����C�K�_�%q�8>�!J"V!2&bGģ%r"H��D��\}2EL1n��h�j���e��"a*H����:��d��9c���[�X1~��"�3�g��Ñ�;O��> endobj 2 0 obj << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI] /Font << /F1 6 0 R >> /XObject << >> >> endobj 7 0 obj << /Producer (FPDF 1.81) /CreationDate (D:20170323090213) >> endobj 8 0 obj << /Type /Catalog /Pages 1 0 R >> endobj xref 0 9 0000000000 65535 f 0000000228 00000 n 0000000867 00000 n 0000000009 00000 n 0000000087 00000 n 0000000315 00000 n 0000000749 00000 n 0000000971 00000 n 0000001047 00000 n trailer << /Size 9 /Root 8 0 R /Info 7 0 R >> startxref 1096 %%EOF

2 个答案:

答案 0 :(得分:1)

请检查您的字符集编码是否支持。请按照此链接阅读有关fpdf官方网页的更多信息。 FAQ

不要将UTF-8与标准字体一起使用;他们期望用ISO-8859-1或windows-1252编码的文本。您可以使用utf8_decode()执行到ISO-8859-1的转换:

 $str = utf8_decode($str);

但某些字符(例如欧元)将无法正确翻译。如果iconv扩展名可用,正确的方法如下:

 $str = iconv('UTF-8', 'windows-1252', $str);

答案 1 :(得分:0)

您必须转换使用过的字体here。之后,将文件转换为/ fonts目录。