使用FPDF PHP时出现奇怪的字符? [英] weird characters when using FPDF PHP?
问题描述
使用FPDF库生成pdf文件时,我得到此输出.
I'm getting this output when using FPDF library to generate a pdf file.
%PDF-1.3 3 0 obj<> endobj 4 0 obj<>流 x U n 0 <ˁ 7 8'!Z q(U〜 !B 8 o e l . e & l ltʙ :Cl k|| p |K e '-9 B Wj $F V t q 3到XrlQP % nc X B_!Sl + B } װ I (m HVendstream endobj 1 0 obj<> endobj 5 0 obj <> endobj 2 0 obj<< /ProcSet [/PDF/文本/ImageB/ImageC/ImageI] /字体<< /F1 5 0 R >>/XObject<< >> >> endobj 6 0 obj<< /制作人 (FPDF 1.7)/CreationDate(D:20151013130538)>> endobj 7 0 obj<< /类型 /目录/页1 0 R >> endobj外部参照0 8 0000000000 65535 f 0000000354 00000 n 0000000542 00000 n 0000000009 00000 n 0000000087 00000 n 0000000441 00000 n 0000000646 00000 n 0000000721 00000 n拖车<< /大小8/根7 0 R/信息6 0 R >> startxref 770 %% EOF
%PDF-1.3 3 0 obj <> endobj 4 0 obj <> stream x�U��n�0��<�ˁ�7��8'�!Z���q(U~���!B�8��o�e����l���e�&��l�tʙ��:Cl�k||��p�|K����e�'�-9���B���Wj�$F�����V��t���q��3to��XrlQP�%���n-c�X��B_!Sl�����+�� ����B�)װ�I����(m�����HV endstream endobj 1 0 obj <> endobj 5 0 obj <> endobj 2 0 obj << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI] /Font << /F1 5 0 R >> /XObject << >> >> endobj 6 0 obj << /Producer (FPDF 1.7) /CreationDate (D:20151013130538) >> endobj 7 0 obj << /Type /Catalog /Pages 1 0 R >> endobj xref 0 8 0000000000 65535 f 0000000354 00000 n 0000000542 00000 n 0000000009 00000 n 0000000087 00000 n 0000000441 00000 n 0000000646 00000 n 0000000721 00000 n trailer << /Size 8 /Root 7 0 R /Info 6 0 R >> startxref 770 %%EOF
我的代码:
header("Content-Type: application/pdf");
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
**when i check the header response this is what i get:**
Cache-Control:private, max-age=0, must-revalidate
Connection:Keep-Alive
Content-Disposition:inline; filename="doc.pdf"
Content-Encoding:gzip
Content-Length:708
Content-Type:text/html;charset=UTF-8
Date:Tue, 13 Oct 2015 17:17:47 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive:timeout=5, max=100
Pragma:public
Server:Apache/2.4.10 (Ubuntu)
Set-Cookie:PHPSESSID=q20auj7ssdj2c1obhbfqu8ha85; path=/
Vary:Accept-Encoding
推荐答案
以下标题和输出命令是我目前在FPDF中使用的:
The following headers and Output command is what I currently use with FPDF:
// Set a filename
$filename = "AppName_Day_".$day1."_gen_".date("Y-m-d_H-i").".pdf";
// Send headers
header("Content-Type: application/pdf");
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition: attachment; filename="'.$filename.'"');
header("Content-Transfer-Encoding: binary ");
// Blast out the PDF
$pdf->Output('php://output');
值得注意的是,我的用例是一个动态文档,该文档在下次下载时可能会发生变化,因此我从不希望浏览器对其进行缓存.这也是一个下载文件,永远不会在浏览器中查看,因此content-disposition: attachment
可能不适用于您的用例.
It's worth noting, my use case is a dynamic document that could change at the next download, so I never want a browser to cache it. It's also ALWAYS a download and never viewed in the browser, so the content-disposition: attachment
may not apply to your use case.
这篇关于使用FPDF PHP时出现奇怪的字符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!