通过电子邮件向使用正则表达式填充的DIV发送生成的.PDF时,保持格式设置

时间:2019-06-22 20:05:51

标签: php html

在保持格式和使用Regex更改的变量的同时,我无法从DIV生成PDF以通过电子邮件发送给客户端。本质上,PDF文件应按其应发送的格式发送,但格式混乱(即,空格等),并且即使生成后,变量也显示为{input1},{input2}等。

我在发现的网站上尝试了其他多个答案,包括CakePHP,但它对我不起作用。

indexing.html:   由于某些原因,我无法发布HTML代码。基本上,它只是一个ID为'string1'的Div,中间有一些文本,其中包括{input1}。

*我使用正则表达式将{input1}替换为用户输入。

pdf.php:     

require_once 'dompdf/autoload.inc.php';

use Dompdf\Dompdf;

class Pdf extends Dompdf{

public function __construct(){
    parent::__construct();
}
}

?>

PHP:     

$message = '';

$html= file_get_contents("indexing.html");
$dom = new DOMDocument;
$dom->loadHTML($html);
$div = $dom->getElementById('string1');
$result = $dom->saveHTML($div);

if(isset($_POST["action"]))
{
include('pdf.php');
$file_name = md5(rand()) . '.pdf';
$html_code = '<link rel="stylesheet" href="bootstrap.min.css">';
$pdf = new Pdf();
$pdf->load_html($result);
$pdf->render();
$file = $pdf->output();
file_put_contents($file_name, $file);

require 'class/class.phpmailer.php';
$mail = new PHPMailer();
#$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host       = ''; // Specify main and backup SMTP servers
#$mail->SMTPAuth   = true; // Enable SMTP authentication
$mail->Username   = ''; // SMTP username
$mail->Password   = ''; // SMTP password
#$mail->SMTPSecure = 'SSL'; // Enable SSL
$mail->Port       = 587; // TCP port to connect to
$mail->setFrom("", "");
$mail->addAddress("");
$mail->isHTML(true);
$mail->AddAttachment($file_name); //Adds an attachment from a path on the filesystem
$mail->Subject = 'Generate Legal Document'; //Sets the Subject of the message
$mail->Body = 'Please see attached PDF File.'; //An HTML or plain text message body
if($mail->Send())   //Send an Email. 
Return true on success or false on error
{
$message = '<label class="text-success">Sent successfully... 
</label>';
}
unlink($file_name);
header("Location: indexing.html");
}

PDF文件按应发送的格式发送,但格式混乱(即,空格等),即使生成后,变量也显示为{input1},{input2}等。

0 个答案:

没有答案