spring boot 导出pdf文件详细描述
最近项目上需要导出pdf文件,于是进行了一系列搜索,经过层层测试,终于成功导出了,在此记录整个过程。
首先是pom文件:
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.4.3</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
<!-- PDF -->
其次就是代码具体实现
接口层:
@PostMapping("/list")
public ModelAndView listExport(HttpServletRequest request, HttpServletResponse response,
@Valid @RequestBody ProfileGroupExportDto params) {
log.info("export list...");
Map<String, Object> model = new HashMap<>(4);
model.put("title", params.getTitle());
model.put("row",params.getRow());
model.put("rowDate",params.getRowDate());
model.put("type",params.getType());
return new ModelAndView(new ViewPdfUtil(),model);}
此处返回的是一个视图。
ViewPdfUtil工具类:注意导入jar包,重写buildPdfDocument方法
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.pdf.PdfWriter;
import com.yss.datamiddle.enums.ExcelTypeEnum;
import org.springframework.web.servlet.view.document.AbstractPdfView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
impo