后端队列生成pdf,发送到邮箱
最开始可以先将你想要的pdf模板写好先,如testPage
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{{$data[['title']}}</title>
<style type="text/css"> * {
font-family: 'Arial', sans-serif;
}
ul li{
list-style:none;
float:left;
}
div li{
list-style:none;
margin-left:50px
}
table {
border:1px solid black;
}
table th{
border:1px solid black;
}
table td{
border:1px solid black;
word-wrap: break-word;
word-break: break-all;
}
.header{
width:100%;
height:800px;
text-align:center
}
</style> </head> <body> <div class="header">
<div style="text-align:center">
</div>
<table style="width:100%;" cellspacing="0">
<tr>
<th colspan="5"><h1>{{$data['testPager']['exam_page']['title']}}</h1></th>
</tr>
<tr>
<th colspan="3" style="text-align:left"><h3>Shop: {{$data['testPager']['pagerable']['name']}}</h3></th>
<th colspan="2"><h3>Total Score</h3></th>
</tr>
<tr>
<!-- <th>No</th> -->
<th colspan="3" style="text-align:left"><h3>Date</h3></th>
<th colspan="2" style="font-color:red"><font color="red">{{$data['score']}}</font></th>
</tr>
<tr>
<th>No</th>
<th>Category</th>
<th>Details</th>
<th>Point</th>
<th>Score</th>
</tr>
@foreach($data['page_content'] as $key=>$value)
<tr>
<td>{{$key+1}}</td>
<td>{{$value['title']}}</td>
<td style="text-align:left">{{$value['description']}}</td>
<td>{{$value['point']}}</td>
<td><font color="red">{{$value['score']}}</font></td>
</tr>
@endforeach
</table>
</div>
</div> </body>
<script language="JavaScript" type="text/javascript">
</script>
</html>
1.后端控制器获取数据,分派队列任务,将获取的数据传到队列中去
$user = User::all()->toArray();
class ReportPage extends Mailable
{
use Queueable, SerializesModels;
// protected $data;
protected $pdf; //传递过来的pdf原数据
protected $data; //pdf的变量数据
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($pdf,$data)
{
$this->data = $data;
$this->pdf = $pdf;
} /**
* Build the message.
*
* @return $this
*/
public function build()
{
//发送邮件视图testPage时,data数据也要传到视图中去,output()是pdf原数据,testPage.pdf发送到邮箱的pdf文件名字
return $this->view('pdfTemplate.testPage',['data'=>$this->data])
->subject('testPage') //邮件主题,即收到邮件时邮件的名字
->attachData($this->pdf->output(), 'testPage.pdf', [
'mime' => 'application/pdf'
]);
}
}
后端队列生成pdf,发送到邮箱的更多相关文章
- 在js内生成PDF文件并下载的功能实现(不调用后端),以及生成pdf时换行的格式不被渲染,word-break:break-all
在js内生成PDF文件并下载的功能实现(不调用后端),以及生成pdf时换行的格式不被渲染,word-break:break-all 前天来了个新需求, 有一个授权书的文件要点击下载, 需要在前端生成, ...
- Python+Selenium+Unittest+HTMLTestRunner生成测试报告+发送至邮箱,记一次完整的cnblog登录测试示例,
测试思路:单个测试集.单个测试汇成多个测试集.运行测试集.生成测试报告.发送至邮箱. 第一步:建立单个测试集,以cnblog登录为例. 测试用例: cnblog的登录测试,简单分下面几种情况:(1)用 ...
- netcore3.1 + vue (前后端分离)生成PDF(多pdf合并)返回前端打印
1.使用Adobe Acrobat XI Pro编辑pdf模板 2.公共类代码 3.service层调用 4.Controller层 5.前端(Vue) 因为print.js不支持宋体,所以打算用后台 ...
- laravel使用snappy生成pdf问题及过程(本地环境)
1.安装过程可以按照这里进行https://packagist.org/packages/barryvdh/laravel-snappy 其中要按装好 "barryvdh/laravel-s ...
- 将生成的Excel表发送到邮箱
本文接上一篇,将得到的Excel表发送到邮箱.. 在上一篇中,本人使用的是直接从数据库中获取数据,然后包装成Excel表.现在将该Excel表发送到目的邮箱,如果需要跟上篇一样,定时每天某时刻发送,就 ...
- 前端生成PDF,让后端刮目相看
PDF 简介 PDF 全称Portable Document Format (PDF)(便携文档格式),该格式的显示与操作系统.分辨率.设备等因素没有关系,不论是在Windows,Unix还是在苹果公 ...
- Java使用iText7生成PDF
前言 我们之前使用js库html2canvas + jspdf实现html转PDF.图片,并下载(详情请戳:html页面转PDF.图片操作记录),大致原理是将页面塞到画布里,以图片的方式放到PDF中, ...
- 生成 PDF 全攻略【1】初体验
经历过多少踩坑,翻看过多少类似博客,下载过多少版本的Jar,才能摸索出正确的代码书写方式,才能实现项目经理需求分析书中的功能点. 本文借一次 JavaEE 生成PDF的颠簸的实现过程,描述中小公司程序 ...
- java邮件发送 qq与163邮箱互发和qq和163邮箱发送其他邮箱实例
研究了近一天的时间,通过查阅相关资料,终于对java发送邮件的机制,原理有了一点点的理解,希望能够帮到大家! 1.首先要向你的项目里导入1个jar包:mail-1.4.4.jar即可(实现qq和163 ...
随机推荐
- luogu P4724 模板 三维凸包
LINK:三维凸包 一个非常古老的知识点.估计也没啥用. 大体上了解了过程 能背下来就背下来吧. 一个bf:暴力枚举三个点 此时只需要判断所有的点都在这个面的另外一侧就可以说明这个面是三维凸包上的面了 ...
- FFT专练
就多项式乘法这个地方不太熟 再多巩固一下. LINK:[ZJOI2014力](https://www.luogu.com.cn/problem/P3338) 把$(j-i)^2$看成一个函数 可以发现 ...
- DeepVO: Towards End-to-End Visual Odometry with Deep Recurrent Convolutional Neural Networks
1.Introduction DL解决VO问题:End-to-End VO with RCNN 2.Network structure a.CNN based Feature Extraction 论 ...
- 打印java系统的信息
System.getProperties() 确定当前系统属性 Properties.list() 将获取到的信息打印到流中 public class Userone { public static ...
- CSS页面布局与网格(下)
3.二维布局:CSS Grid Layout CSS Grid Layout模块为了能在二维空间里控制元素的顺序.位置和大小而定义了一组CSS属性. 被设值为display: grid的元素叫网格容器 ...
- CentOS7安装MinIO教程,并在C#客户端WPF中实现监控上传进度
MinIO的详细介绍可以参考官网(https://min.io/product/overview). 简单来说它是一个实现了AWS S3标准的100%开源的,可商用的( Apache V2 licen ...
- 2020-05-07:具体讲一下CMS流程
福哥答案2020-05-07: 福哥口诀法:C初并重清(初始标记.并发标记.重新标记.并发清除) 整个过程分为 4 个步骤,包括:初始标记:仅仅只是标记一下 GCRoots 能直接关联到的对象,速度很 ...
- LeetCode 931. 下降路径最小和 详解
题目详情 给定一个方形整数数组 A,我们想要得到通过 A 的下降路径的最小和. 下降路径可以从第一行中的任何元素开始,并从每一行中选择一个元素.在下一行选择的元素和当前行所选元素最多相隔一列. 示例: ...
- Qt 信号发射部分 undefined reference to错误
在使用信号与槽很容易发生 undefined reference to 发射信号 ①继承QObject ②添加Q_OBJECT ③执行qmake ④构建 然后就可以运行啦!但是不知道是为什么,悄咪咪 ...
- 实型(浮点型):float、double
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib. ...