TCPDF 生成的 PDF 在 Mac 预览和 Safari 上显示为空白

TCPDF generated PDF shows blank on Mac Preview and Safari

但是在GoogleChrome中打开没有问题。当我用 Safari/Preview 打开它时,我得到一个空白页。缩放 in/out 没有任何作用。

下面是我用来生成 PDF 文件的代码:

require_once('../vendor/tecnickcom/tcpdf/tcpdf.php');

class MYPDF extends TCPDF {
    //Page header
    public function Header() {
        // get the current page break margin
        $bMargin = $this->getBreakMargin();
        // get current auto-page-break mode
        $auto_page_break = $this->AutoPageBreak;
        // disable auto-page-break
        $this->SetAutoPageBreak(false, 0);
        // set bacground image
        $img_file = '../assets/img/background.jpg';
        $this->Image($img_file, 0, 0, 150, 90, '', '', '', false, 150, '', false, false, 0);
        // restore auto-page-break status
        $this->SetAutoPageBreak($auto_page_break, $bMargin);
        // set the starting point for the page content
        $this->setPageMark();
    }
}

$pdf = new MYPDF('L', PDF_UNIT, [150, 90], true, 'UTF-8');

$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Kent');
$pdf->SetTitle('Title Here');
$pdf->SetSubject('Subject Here');
$pdf->SetTopMargin(44);
$pdf->setPrintFooter(false);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->SetFont('helvetica', '', 44);
$pdf->AddPage();
$pdf->writeHTML('This is the content.', false, false, false, false, 'C');
$pdf->Output(__DIR__ . '/output.pdf', 'F');

这个问题的2个原因,首先请使用绝对路径,其次您的pdf也无法在adobe acrobat中打开。这是因为您的图片缺少 icc 配置文件。在 Photoshop 或类似软件中打开您的照片并再次保存。