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

时间:2016-07-28 13:31:08

标签: macos pdf safari tcpdf preview

但在谷歌浏览器中打开它没有问题。当我用Safari / Preview打开它时,我得到一个空白页面。放大/缩小无效。

以下是我用于生成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');

1 个答案:

答案 0 :(得分:0)

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