代码之家  ›  专栏  ›  技术社区  ›  AgeDeO

使用phpmailer发送TCPDF生成的pdf

  •  2
  • AgeDeO  · 技术社区  · 7 年前

    我正在动态生成一个pdf文件,而不将其保存到磁盘上:

    $attachment = $this->pdf->Output('e-tickets.pdf', 'S');

    TCPDF 这将返回一个包含 pdf 文件

    PHPMailer 导致文件损坏:

    $mail->AddStringAttachment($attachment, 'e-tickets.pdf', 'base64', 'application/pdf');

    我尝试了以下选择(以及所有可能的组合):

    $attachment = $this->pdf->Output('e-tickets.pdf', 'E');

    $mail->AddStringAttachment($attachment, 'e-tickets.pdf');

    没有任何结果 文件 D TCPDF 文件下载良好。

    关于Stackoverflow的所有其他主题对我都没有帮助。它们都很旧,我猜使用的是旧版本。

    2 回复  |  直到 7 年前
        1
  •  1
  •   AgeDeO    7 年前

    我自己解决了。这真是个愚蠢的错误

    我使用 $this->pdf->Output('e-tickets.pdf', 'E');

    我把它改成了 return $this->pdf->Output('e-tickets.pdf', 'E'); 它解决了这个问题。

        2
  •  -1
  •   Luca Polito    7 年前

    $attachment = $this->pdf->Output('e-tickets.pdf', 'E');
    $attachment = chunk_split($attachment);
    $mail->AddStringAttachment($attachment, 'e-tickets.pdf');