You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何隐藏TCPDF生成PDF后浏览器中显示的版本信息?

隐藏TCPDF生成PDF中的版本信息解决方案

我帮你搞定这个问题!在TCPDF 6.4版本里,其实有两个核心方法可以轻松隐藏或替换默认的TCPDF版本信息,不用修改包源码就能实现:

关键方法说明

  • 使用setProducer():这个方法用于设置PDF元数据中的Producer字段,默认会显示TCPDF 6.4.0 (https://tcpdf.org)这类版本信息,我们可以把它替换为空字符串或自定义内容。
  • 使用setCreator():如果需要,也可以通过这个方法清空或替换Creator字段的默认值(默认也是TCPDF相关标识)。

修改后的代码示例

把这两个方法添加到你初始化TCPDF的代码后面即可,修改后的完整代码片段如下:

$pdf = new \TCPDF('L', PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// 隐藏/替换版本信息的关键代码
$pdf->setProducer(''); // 清空Producer字段,不会显示TCPDF版本
$pdf->setCreator('');  // 可选:清空Creator字段
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$pdfParams = $this->handlePageParamsByCoverSize($coverSize);
$fontSize = $this->calculateFontSizeByCoverSize($coverSize);
$scissorsIconPath = $this->fileLocator->locate('scissors.png');
$pdf->SetFont( 'helvetica', '', $fontSize );
$pdf->AddPage('L', $pdfParams['format'], true, true);
$pdf->Image( $coverPath, $pdfParams['cover']['x'], $pdfParams['cover']['y'], $pdfParams['cover']['w'], $pdfParams['cover']['h'], '', '', '', false, 300, '', false, false, 0 );
$pdf->Image( $scissorsIconPath, $pdfParams['scissorsIcon']['x'], $pdfParams['scissorsIcon']['y'], $pdfParams['scissorsIcon']['w'], $pdfParams['scissorsIcon']['h'], '', '', '', false, 300, '', false, false, 0 );
$filePath = '/covers/' .$coverName . '.pdf';
$absFileName = $rootPath . $filePath;
try {
    $pdf->Output($absFileName, 'F');
} catch (\Exception $e) {
    //Move on
}
if (file_exists($absFileName)) {
    $result = [
        'absPath' => $absFileName,
        'path' => $filePath,
    ];
} else {
    $result = ['path' => 'error'];
}
return $result;

补充说明

如果你不想完全清空,也可以设置自定义的标识,比如:

$pdf->setProducer('Your App Name');

这样PDF的元数据里就会显示你自定义的内容,而不是TCPDF的版本信息了。

内容的提问来源于stack exchange,提问作者learningsymfony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 06:38:12