一、添加依赖:
<dependency>
<groupId>com.github.librepdf</groupId>
<artifactId>openpdf</artifactId>
<version>1.3.29</version>
</dependency>
二、创建视图类
package cn.edu.yale.service;
import com.lowagie.text.Document;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;
import org.springframework.web.servlet.view.document.AbstractPdfView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
public class MyPdfView extends AbstractPdfView {
@Override
protected void buildPdfDocument(Map<String, Object> model, Document document, PdfWriter writer, HttpServletRequest request, HttpServletResponse response) throws Exception {
List<String> words = Arrays.asList("abc","defgh","ijklmn");
for (String word : words) {
document.add(new Paragraph(word));
}
document.addTitle("this is my document");
}
}
三、创建controller,返回上述视图:
package cn.edu.yale.controller;
import cn.edu.yale.service.MyPdfView;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class PdfController {
@RequestMapping("/export/pdf")
public ModelAndView test(){
ModelAndView modelAndView=new ModelAndView();
modelAndView.setView(new MyPdfView());
return modelAndView;
}
}