如何将phpmailer主体中的html转换为图像或pdf


How to convert a html inside phpmailer body into image or pdf?

我想知道你们能不能帮我。因为我一直在谷歌上寻找如何做到这一点,但最终失败了,所以我不知道如何再做一次。

我有一张表格,当客户填写这些表格时,这些表格将发送到他们的电子邮件和我的电子邮件中。发送到他们电子邮件的表格格式只是一个常规表格,而发送到我的填写表格是一张填写了照片和客户身份的身份证。现在我想把我用phpmailer主体中的html制作的身份证转换成图像或pdf,这样我就可以在电子邮件上下载一次。

这是我想转换的代码

$mail = new PHPMailer();
$mail->IsSMTP();// set mailer to use SMTP
$mail->Host = "mail.sample.com";  // specify main and backup server
$mail->SMTPAuth = true;     // turn on SMTP authentication
$mail->Username = "noreply@sample.com";  // SMTP username
$mail->Password = "password"; // SMTP password
$mail->From = "noreply@sample";
$mail->FromName = "Sample";
$mail->AddAddress("Sample@gmail.com");
$mail->IsHTML(true);// set email format to HTML
$mail->Subject = "Form";
$mail->Body = "
<html>
<head>
<title>Rectangle</title>
</head>
<body>
<div id='kartu'>
<div style='background-color: #fe031b; width: 750px; padding: 2px; border: 2px solid black; margin: 25px;'>
<img src='images/ucilogo.png' height='100px' width='750px'>
<p><img src='".$uploadfile."' width='150px' height='189px' />
<img src='images/rules.png' width='300px' height='180px' align='right'></p>
<p><img src='".$uploadttd."' width='150px' height='80px' />
<img src='images/ttdpres.png' width='280px' height='100px' align='right'></p>
<div style='font-family:georgia;font-size:16px;'>".$nama." &nbsp; ".$namaakhir."</div>
</div>

<div style='background-color: #fe031b; width: 750px; height:450px; padding: 2px; border: 2px solid black; margin: 25px;'>
<table border='0' align='center' width='750px' style='table-layout:fixed;word-wrap:break-word;font-size:18px;
font-family:georgia;padding-top:20px;'/>
<tr>
<td style='width:150px;'>
UCI Category
</td>
<td style='width:5px;'>:</td>
<td style='width:200px;'>
".$kategori_uci."
</td>
<td style='width:150px;'>
Gender
</td>
<td style='width:5px;'>:</td>
<td style='width:150px;'>
".$gender."
</td>
</tr>
<tr>
</tr>
<td></td>
<td></td>
<tr>
<td>
National Category
</td>
<td>:</td>
<td>
".$kategori_nas."
</td>
<td>
Blood Type
</td>
<td>:</td>
<td>
".$tipe_darah."
</td>
</tr>
</tr>
<td></td>
<td></td>
<tr>
<tr>
<td>
Last Name
</td>
<td>:</td>
<td>
".$namaakhir."
</td>
<td>
Number
</td>
<td>:</td>
<td>
".$no_urutan."
</td>
</tr>
</tr>
<td></td>
<td></td>
<tr>
<tr>
<td>
First Name
</td>
<td>:</td>
<td>
".$nama."
</td>
<td>
Date Of Birth
</td>
<td>:</td>
<td>
".$tgl_lahir."
</td>
</tr>
</tr>
<td></td>
<td></td>
<tr>
<tr>
<td>
Nationality
</td>
<td>:</td>
<td>
".$nationality."
</td>
<td>
Club
</td>
<td>:</td>
<td>
".$nama_klub."
</td>
</tr>
</tr>
<td></td>
<td></td>
<tr>
<tr>
<td>
Region
</td>
<td>:</td>
<td>
".$provinsi."
</td>
</tr>
</tr>
<td></td>
<td></td>
<tr>
<tr>
<td>
Address
</td>
<td>:</td>
<td>
".$alamat."
</td>
</tr>
</table>
<img style='float:right;' src='images/logoissi.png'>
<div style='font-size:18px;font-family:georgia;'>
Issued On :Jakarta ".date('d-M-Y')."</div>
<div style='font-size:18px;font-family:georgia;'>
UCI Code ;INA ".$tgllahir."</div>
<div style='font-size:18px;font-family:georgia;'>
Year ".date('Y')."</div>
</div>
</div>
</body>
</html>";
if(!$mail->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Mail not send";

请帮帮我,因为我太困惑了,而且我对这个编程代码还很陌生。感谢

image src必须是文件所在的现有服务器的绝对路径!

只需将您的图像放在Web服务器上(即http://yourserver.com/mail/images/name.jpg下),并插入正确的url作为<img src>

由于用户无法访问作为源的相对路径,他必须通过电子邮件从您的服务器上下载。我希望这能帮助