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 或类似软件中打开您的照片并再次保存。
但是在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 或类似软件中打开您的照片并再次保存。