0

我正在使用 TCPDF(最新版本 – 6.0.023)来生成 PDF。在文档的标题中,我显示了一个徽标(JPEG 或 PNG 格式)。事实证明,当使用“大”图像(> 30KB)时,TCPDF 会生成损坏的 PDF 文件。

这是显示图像的代码:

<?php
public function Header() {
    // $this->headerLeftLogo = '@' . $image;
    // $this->logoHeight = 8;
    $type = (...some check...) ? 'JPEG' : 'PNG';
    $this->Image($this->headerLeftLogo, $this->getX(), $this->getY(), 0, $this->logoHeight, $type);
}
?>

在检查生成的 PDF 的源代码并比较好的和损坏的 PDF 之后,看起来损坏的 PDF 文件只是在文档中间的某个地方结束。我在好的 PDF 末尾看到的一些(可读)信息在损坏的 PDF 中不存在。

生成 PDF 时不会出现任何错误。(所有 PHP 错误都已打开。)

运行 TCPDF 的示例 9(其中显示大图像)时,不会出现任何问题。

4

1 回答 1

1

事实证明,我不得不让 TCPDF 调整图像大小。添加参数后true,脚本运行良好。$resizeImage()

具体来说,这是我所做的更改:

<?php
// Old:
$this->Image($this->headerLeftLogo, $this->getX(), $this->getY(), 0, $this->logoHeight, $type);
// New:
$this->Image($this->headerLeftLogo, $this->getX(), $this->getY(), 0, $this->logoHeight, $type, '', '', true);
?>
于 2013-08-26T20:29:08.353 回答