在保持格式和使用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}等。