尝试使用PHP和fpdf显示pdf文件
作者:互联网
背景:它的’ae学习网站,当用户处于学习阶段时,它将在前3页显示阅读内容,之后需要用户进行测试,当用户克服所有挑战时,它将显示pdf证书.
目前,问题是:在到达最后一页后,它总是向我显示一些奇怪的词:(以下是所有的一部分)
(%PDF-1.3 3 0 obj<> endobj 4 0 obj<>streamx 3R 2 35W( rQ w3T04 30PISp Z* [ (hx ) (j * d 7W)
以下是代码的一部分,其文件名为load_data.php
else if ($cur_page == $no_of_paginations){
ob_end_clean();
require("../fpdf.php");
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
if (preg_match("/MSIE/i", $_SERVER["HTTP_USER_AGENT"])){
header("Content-type: application/PDF");
} else {
header("Content-type: application/PDF");
header("Content-Type: application/pdf");
}
$pdf->Output();
exit;
}
这是分页的ajax:
function loadData(page){
// debugger;
loading_show();
$.ajax
({
type: "POST",
url: "load_data.php",
data: { page: +page, tableName: $.urlParam('modules') },
//data: "page="+page,
success: function(msg)
{
$("#container").ajaxComplete(function(event, request, settings)
{
loading_hide();
$("#container").html(msg);
});
}
});
}
loadData(1); // For first time page load default results
$('#container .pagination li.active').live('click',function(){
var page = $(this).attr('p');
loadData(page);
})
解决方法:
FPDF允许您输出PDF的几个选项.您可以强制下载,将文件保存到文件系统,或者您可以在页面上显示它们,但您不能做的是生成PDF并将其显示为内嵌,如Jasper所述.这是你要做的:
创建一个新文件(可能是show_pdf.php):
require("../fpdf.php");
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
if (preg_match("/MSIE/i", $_SERVER["HTTP_USER_AGENT"])){
header("Content-type: application/PDF");
} else {
header("Content-type: application/PDF");
header("Content-Type: application/pdf");
}
$pdf->Output();
您可能需要通过$_GET传递特定的数据参数,以便在展开此代码时使其正常工作.
要在页面上显示它,您将执行以下操作:
else if ($cur_page == $no_of_paginations){
?>
<iframe src="show_pdf.php?id=asdfasdf"></iframe>
<?php
}
标签:fpdf,php,pdf 来源: https://codeday.me/bug/20191007/1865839.html