fpdf 创建文件后无法看到 header
unable to see header after fpdf creates file
我正在开发一个 wordpress 插件,
我想创建一个 pdf 文件,为此我使用了 fpdf
通过使用此代码,我能够生成 pdf 并将其保存到服务器
require('fpdf/html_table.php');
$pdf=new PDF_HTML();
$questions = $_POST['question'];
$count = count($questions);
$quests = "";
$pdf->SetFont('times','',12);
$pdf->SetTextColor(50,60,100);
$pdf->AddPage('P');
$pdf->SetDisplayMode(real,'default');
$pdf->SetFontSize(12);
for($i=1;$i<=$count;$i++)
{
$qus_id = $questions[$i-1];
$get_q = "select * from `SelleXam_question` where `id`='$qus_id'";
$get_q = $wpdb->get_results($get_q);
$questf = "Quest $i : ".$get_q[0]->question;
$pdf->Cell(0, 10, $questf."\n");
$pdf->Ln();
}
$dir='C:/wamp/www/';
$filename= "filename.pdf";
$pdf ->Output($dir.$filename);
echo "Save PDF in folder";
但是当它保存并显示消息时Save PDF in Folder
。我是unable to see the header part of the wordpress website.
或者当我使用
$pdf->Output($filename,'D');
那么有什么方法可以在 link
中显示文件
当您为 Wordpress 开发时,您不能随时 echo
文本。 Wordpress 有一系列 actions 它通过逐步生成呈现给浏览器的输出。如果你在不合适的时间生成输出,你会搞砸 Wordpress 在正确的时间生成输出的能力。
如果我正在开发它,我会将此函数称为 filter on the_content
。您的输出代码将更改为如下所示:
function append_pdf_to_content($content) {
//Your existing code
$pdf->Output($filename, 'F');
$pdf_link = "<br><a href='$filename' download>Download PDF</a>"
return $content . $pdf_link;
}
add_filter('the_content', 'append_pdf_to_content');
如果您想使用 D
选项,您需要 link 您的用户使用调用下载的 target='_blank'
单独的 php
页面.否则 PDF headers 将覆盖任何 headers Wordpress 尝试发送的文件。
顺便说一句,您可能还想看看 mPDF,它是 fpdf 的一个分支,并且仍在积极开发中。
我正在开发一个 wordpress 插件,
我想创建一个 pdf 文件,为此我使用了 fpdf
通过使用此代码,我能够生成 pdf 并将其保存到服务器
require('fpdf/html_table.php');
$pdf=new PDF_HTML();
$questions = $_POST['question'];
$count = count($questions);
$quests = "";
$pdf->SetFont('times','',12);
$pdf->SetTextColor(50,60,100);
$pdf->AddPage('P');
$pdf->SetDisplayMode(real,'default');
$pdf->SetFontSize(12);
for($i=1;$i<=$count;$i++)
{
$qus_id = $questions[$i-1];
$get_q = "select * from `SelleXam_question` where `id`='$qus_id'";
$get_q = $wpdb->get_results($get_q);
$questf = "Quest $i : ".$get_q[0]->question;
$pdf->Cell(0, 10, $questf."\n");
$pdf->Ln();
}
$dir='C:/wamp/www/';
$filename= "filename.pdf";
$pdf ->Output($dir.$filename);
echo "Save PDF in folder";
但是当它保存并显示消息时Save PDF in Folder
。我是unable to see the header part of the wordpress website.
或者当我使用
$pdf->Output($filename,'D');
那么有什么方法可以在 link
中显示文件当您为 Wordpress 开发时,您不能随时 echo
文本。 Wordpress 有一系列 actions 它通过逐步生成呈现给浏览器的输出。如果你在不合适的时间生成输出,你会搞砸 Wordpress 在正确的时间生成输出的能力。
如果我正在开发它,我会将此函数称为 filter on the_content
。您的输出代码将更改为如下所示:
function append_pdf_to_content($content) {
//Your existing code
$pdf->Output($filename, 'F');
$pdf_link = "<br><a href='$filename' download>Download PDF</a>"
return $content . $pdf_link;
}
add_filter('the_content', 'append_pdf_to_content');
如果您想使用 D
选项,您需要 link 您的用户使用调用下载的 target='_blank'
单独的 php
页面.否则 PDF headers 将覆盖任何 headers Wordpress 尝试发送的文件。
顺便说一句,您可能还想看看 mPDF,它是 fpdf 的一个分支,并且仍在积极开发中。