使用PHP下载PDF文件
单击下载按钮时,会发送一个ajax请求,并调用使用PHP下载PDF文件,php,pdf,download,fpdf,Php,Pdf,Download,Fpdf,单击下载按钮时,会发送一个ajax请求,并调用HtmlToPDF()php函数 首先,我将使用FPDF从html文件创建一个pdf文件。之后,我想下载创建的pdf文件 代码: PDF已创建。但是我不能下载这个文件。反应就像 %PDF-1.3 30 obj endobj 40 obj 流动 x��YMS�0��W���H�aɽa��)�o�五十、 Rw�ۡÿ�L��A.��!3.�$��}Z��}R9�P����Dd�D��D��(��_)伊尔~�&�$�C�3.�zk{,�}�4pI4倒D�D>
HtmlToPDF()
php函数
首先,我将使用FPDF从html文件创建一个pdf文件。之后,我想下载创建的pdf文件
代码:
PDF已创建。但是我不能下载这个文件。反应就像
%PDF-1.3
30 obj
endobj
40 obj
流动
x��YMS�0��W���H�aɽa��)�o�五十、 Rw�ۡÿ�L��A.��!3.�$��}Z��}R9�P����Dd�D��D��(��_)伊尔~�&�$�C�3.�zk{,�}�4pI4倒D�D>���B�� ���m-?4۹
��|�]7Ym�#<代码>H���Tc�8.��ӹ!�9�C�L�}?O�O�
� � �
��H�,���我�|��G�Q�s���?#R
GYB�韩元�1.�QҡQ��)��Ql�M�% {�/�_�C��XOۆQ�����)
endobj
80 obj
> )
/创建日期(D:2013090300123)
>
endobj
9.0 obj
endobj
外部参照
0 10
0000000000 65535 f
0000000 916 00000N
000000 13040 00000n
000000000 900万n
00000000 8700000N
000000 1003 00000n
000000 1099 00000 n
000000 1200百万n
000000 14120百万新西兰元
000000 15360 00000 n
拖车
起始外部参照
1639
%%EOF
我看到一些与此相关的堆栈溢出问题
但是无法解决我的问题。请帮助我。根据FPDF文档,您可以使用第二个
Output()
参数
将文档发送到的目标。它可以采取以下方式之一:
以下数值:
I:将文件内联发送到浏览器。如果
可用。选择“保存”时,将使用名称给定的名称
生成PDF的链接上的“as”选项
D:发送到浏览器并强制下载具有给定名称的文件
名字
F:保存到本地文件,文件名由name指定(可能包括
路径)
S:以字符串形式返回文档。忽略名称
通过使用D
参数,它应该强制下载,而不使用AJAX
根据FPDF文档,您可以使用第二个
Output()
参数
将文档发送到的目标。它可以采取以下方式之一:
以下数值:
I:将文件内联发送到浏览器。如果
可用。选择“保存”时,将使用名称给定的名称
生成PDF的链接上的“as”选项
D:发送到浏览器并强制下载具有给定名称的文件
名字
F:保存到本地文件,文件名由name指定(可能包括
路径)
S:以字符串形式返回文档。忽略名称
通过使用D
参数,它应该强制下载,而不使用AJAX
如何获取文件?ajax不是所有问题的答案questions@Pekka你能解释一下吗?当你想让浏览器下载一些东西时,你只需将它发送到该位置,或者创建一个指向资源的隐藏的
。下载部分不需要Ajax。请看这个问题:如何获取文件?Ajax是不是所有的答案questions@Pekka你能解释一下吗?当你想让浏览器下载一些东西时,你只需将它发送到该位置,或者创建一个指向资源的隐藏的
。下载部分不需要Ajax。请看这个问题:
function HtmlToPDF()
{
$fileName = $_POST['fileName'];
$file = basename($fileName, ".html");
$pdf=new HTML2FPDF();
$pdf->AddPage();
$fp = fopen("../".$fileName,"r");
$strContent = fread($fp, filesize("../".$fileName));
fclose($fp);
$pdf->WriteHTML($strContent);
$fullPath = "../Bills/".$file.".pdf";
$pdf->Output($fullPath);
if (is_readable ($fullPath)) {
$fsize = filesize($fullPath);
$path_parts = pathinfo($fullPath);
header('Content-Description: File Transfer');
header("Content-type: application/pdf"); // add here more headers for diff. extensions
header("Content-Disposition: attachment; filename=\"".$path_parts["basename"]."\"");
header('Content-Transfer-Encoding: binary'); // use 'attachment' to force a download
header('Expires: 0');
header("Content-length: $fsize");
header('Pragma: public');
header ("Cache-Control: must-revalidate, post-check=0, pre-check=0");
ob_clean();
flush();
echo file_get_contents($fullPath);
exit;
}
}