我正在使用带有 tcpdf 的 CakePHP 2.x 创建 PDF 文件。我想现在将其输出到浏览器,而不保存。
布局->pdf.ctp
<?php
header("Content-type: application/pdf");
echo $content_for_layout;
?>
查看->pdf_testing.ctp
<?php
App::import('Vendor', 'xtcpdf');
$pdf = new XTCPDF('P', 'mm', 'USLETTER', true, 'UTF-8', false);
$textfont = 'freesans'; // looks better, finer, and more condensed than 'dejavusans'
$pdf->AddPage();
$pdf->setHeaderData('', '', '', 'RMA#100000');
$pdf->SetTitle('Some Text');
$pdf->SetHeaderMargin(20);
$pdf->SetTopMargin(40);
$pdf->setFooterMargin(20);
$pdf->SetAutoPageBreak(True, PDF_MARGIN_FOOTER);
$pdf->SetAuthor('Any Author');
$pdf->SetDisplayMode('real', 'default');
$pdf->SetTextColor(0, 0, 0);
$pdf->SetFont($textfont, 'B', 20);
$pdf->Cell(0, 14, "TESTING", 0, 1, 'L');
echo $pdf->Output('filename.pdf', 'I');
?>
对于 Internet Explorer,这可以正常工作并显示 PDF。
使用 Chrome,我只能得到非常用户友好的输出,例如:
%PDF-1.7 %���� 10 0 obj << /Type /Page /Parent 1 0 R /Las....
即使我将其设置为
echo $pdf->Output('filename.pdf', 'F');
要将其保存为文件,我仍然会得到“内容长度:20”,并且对于内联选项“I”,我总是得到内容类型 HTML/文本而不是应用程序/pdf。
任何想法都非常感谢。
提前致谢。