HTML 2 PDFファイル.のメールでPDF添付ファイルを生成
2427 ワード
私はHTML DOMをPDFに変換しようとしており、電子メールで添付ファイルとしてPDFを送信します.
私はHTML 2 pdfと一緒にフロントエンドにvue 2を使用しています.js私はPDFとしてDOMをダウンロードし、電子メールの添付ファイルとしてPDFを送信するためにこれを使用しています.直接ダウンロードされているPDFファイルは正しく開いていますが、電子メールで受信しているPDFはChromeや
これはフロントエンドのHTML 2 PDFコードです.
私はHTML 2 pdfと一緒にフロントエンドにvue 2を使用しています.js私はPDFとしてDOMをダウンロードし、電子メールの添付ファイルとしてPDFを送信するためにこれを使用しています.直接ダウンロードされているPDFファイルは正しく開いていますが、電子メールで受信しているPDFはChromeや
Failed to load pdf document
のエラーunable to open document , File type plain text document (text/plain) is not supported
を表示できません.これはフロントエンドのHTML 2 PDFコードです.
let opt = {
margin: 1,
filename: 'summary.pdf',
image: { type: 'jpeg', quality: 0.98 },
html2canvas: { scale: 2 },
jsPDF: { unit: 'in', format: 'A4', orientation: 'portrait' }
};
let canvas = document.querySelector("#summary-block");
html2pdf().from(canvas).toPdf()
.output('datauristring')
.then(function (pdfAsString) {
const data = {
pdf: pdfAsString,
emails: this.emails
}
console.log("promise-2-1");
console.log(this.selectedListing);
HTTP.post(`api/listings/${this.selectedListing.id}/share`, data)
.then((response) => {
this.btnLoading = false;
this.tagError = false;
this.emails = [];
})
}.bind(this));
これは私のLaravelコントローラのPHPコードです.$request = $this->request;
$b64file = trim( str_replace( 'data:application/pdf;base64,', '', $request->pdf ) );
$b64file = str_replace( ' ', '+', $b64file );
$decoded_pdf = base64_decode( $b64file );
if(!empty($request->emails))
{
foreach ($request->emails as $recipient)
{
$user = User::find($recipient["key"]);
$__NAME__ = 'User';
$__MAIL_FROM_NAME__ = "Repylot";
$__ADMIN_EMAIL__ = "[email protected]";
$search = ['__NAME__', '__MAIL_FROM_NAME__', '__ADMIN_EMAIL__'];
$replace = [$__NAME__,$__MAIL_FROM_NAME__, $__ADMIN_EMAIL__];
Mail::to($user)->send(new EmailNotificationWithAttachment($request->pdf, $search, $replace, "offer_summary"));
}
}
およびEmailNotificwithAttachmentハンドルを持っているreturn $this->subject($subject)->html($template)->attachData(
$attachment, 'summary.pdf', [
'mime' => 'application/pdf',
]);
Reference
この問題について(HTML 2 PDFファイル.のメールでPDF添付ファイルを生成), 我々は、より多くの情報をここで見つけました https://dev.to/abhimanusharma/html2pdf-js-generated-pdf-attach-with-laravel-mail-87nテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol