[英]Appending PDF Files in PHP with Base64
我有一系列要合并在一起的base64 PDF文件。 目前,我正在使用file_get_contents(),并且使用PHPMailer可以分别附加每个文件。
$woFile = file_get_contents($url);
$invoiceFile = file_get_contents($invPDF64);
$tsFile = file_get_contents($tsPDF64);
...
$mail->AddStringAttachment($woFile, "1.pdf", "base64", "application/pdf");
$mail->AddStringAttachment($invoiceFile, "2.pdf", "base64", "application/pdf");
$mail->AddStringAttachment($tsFile, "3.pdf", "base64", "application/pdf");
我在网上看到的所有示例(例如FPDF)都要求文件在本地下载,至少是从我所看到的地方。 有没有一种方法可以将每个这些PDF文件附加到一个文件中,然后再附加到电子邮件中?
提前致谢!
我不确定您是否特别需要将PDF合并为一个PDF,或者只需要一个文件。 这是两个选项:
如果只需要一个文件,请考虑将文件放入ZIP存档并发送。 为此,您可能还喜欢ZipStream库 。 这是使用本机库的一些最少的代码:
$attachmentArchiveFilename = tempnam('tmp', 'zip'); $zip = new ZipArchve(); # omitting error checking here; don't do it in production $zip->open($attachmentArchiveFilename, ZipArchve::OVERWRITE); $zip->addFromString('PDFs/first.pdf', $woFile); $zip->addFromString('PDFs/second.pdf', $invoiceFile); $zip->addFromString('PDFs/third.pdf', $tsFile); $zip->close(); $mail->addAttachment($attachmentArchiveFilename, 'InvoicePDFs.zip'); # be sure to unlink/delete/remove your temporary file unlink( $attachmentArchiveFilename );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.