TCPDF 错误:无法创建输出文件

新手上路,请多包涵

我正在尝试结合 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 许可协议

阅读 769
1 个回答

尝试把 ob_clean();就在 $pdf->Output(‘output.pdf’, ‘F’); 的正上方

ob_clean();

// save file
$pdf->Output('output.pdf', 'F');

如果那不起作用。比你需要设置这样的路径:

 $pdf->Output('yourpath/output.pdf', 'F');

如果你不知道绝对路径试试这个:

 $pdf->Output($_SERVER['DOCUMENT_ROOT'] . 'output.pdf', 'F');

原文由 Puya Sarmidani 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏