如何将phpmailer体内的html转换为图像或pdf?

时间:2015-03-25 09:56:36

标签: php html image pdf

我想知道你们是否可以帮助我。因为我一直在寻找如何在谷歌这样做,但它最终失败了,所以我不知道如何再做一次。

我有一张表格,当客户填写这些表格时,那些表格将被发送到他们的电子邮件和我的。发送到他们的电子邮件的表单格式只是一个常规表单,而发送到我的电子邮件的填写表格是一张充满图片和客户身份的身份证。现在我想在phpmailer body中使用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";

请帮助我,因为我很困惑,而且我在这个编程代码中也是新手。感谢

1 个答案:

答案 0 :(得分:0)

图像src必须是文件存在的现有服务器的绝对路径!

只需将您的图片放在您的网络服务器上(即http://yourserver.com/mail/images/name.jpg下),然后插入正确的网址作为<img src>

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