我正在尝试结合 TCPDF 和 FPDI 生成 pdf。这是我的代码。
require_once('../tcpdf/tcpdf.php');
require_once('../FPDI/fpdi.php');
$fileName = '../sample.pdf';
class PDF extends FPDI {
/**
* "Remembers" the template id of the imported page
*/
var $_tplIdx;
var $numPages = 0;
/**
* Draw an imported PDF logo on every page
*/
function Header() {
global $fileName;
if (is_null($this->_tplIdx)) {
$this->setSourceFile($fileName);
$this->_tplIdx = $this->importPage(1);
$this->numPages = $this->setSourceFile($fileName);
}
$size = $this->useTemplate($this->_tplIdx);
}
function Footer() {
// emtpy method body
}
}
// initiate PDF
$pdf = new PDF($fileName);
$pdf->setFontSubsetting(true);
// add a page
$pdf->AddPage();
// save file
$pdf->Output('output.pdf', 'F');
在这里,最后一行 $pdf->Output('output.pdf', 'F');
用于保存文件。但它不起作用。当我只有 $pdf->Output()
时,它在浏览器中显示 pdf。
我试过 $pdf->Output('output.pdf', 'D');
下载,效果很好。似乎 $pdf->Output('output.pdf', 'F');
只是不工作,它显示错误 TCPDF ERROR: Unable to create output file: output.pdf
。
注意:不存在文件权限问题
谁能指出这个问题。
原文由 Linga 发布,翻译遵循 CC BY-SA 4.0 许可协议
尝试把 ob_clean();就在 $pdf->Output(‘output.pdf’, ‘F’); 的正上方
如果那不起作用。比你需要设置这样的路径:
如果你不知道绝对路径试试这个: