java生成PDF,并下载到本地

更新时间:2023-07-31 06:27:08 阅读: 评论:0

java⽣成PDF,并下载到本地
1、⾸先要写⼀个PDF⼯具类,以及相关⼯具
2、PDF所需jar包
iText是⼀种⽣成PDF报表的Java组件
freemarker是基于模板来⽣成⽂本输出
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>
3、需要使⽤Adobe Acrobat pro软件把要⽣成的模板转换为PDF格式
打开Adobe Acrobat pro,打开模板,选择 |—— 准备表单,它会⾃动检测并命名表单域,然后保存为pdf格式即可PDF⼯具类
public class PDFTemplet {
private String templatePdfPath;
private String targetPdfpath;
private ServiceOrder order ;
public PDFTemplet() {
}
public void PDFTemplet(File file,String baPath)thows Exception{
/*模板路径*/
PdfReader reader = new PdfReader(templatePdfPath);
ByteArrayOutputStream bos=new ByteArrayOutputStream();
/* 读取*/
PdfStamper pdfStamper= new PdfStamper(reader,bos);
数学家英语
/*使⽤中⽂字体*/
BaFont ateFont(baPath+"WEB-INF/static/SIMHEI.TTF",BaFont.IDENTITY_H,BaFont.EMBEDDED); ArrayList<BaFont> fontList=new ArrayList<>();
fontList.add(baFont);
AcroFields  AcroFields();
s.tSubstitutionFonts(fontList);
/*需要注意的是  tField的name和命名的表单域名字要⼀致*/
s.tField("enterpriName",EnerpriName());
s.tField("incubatorName",IncubatorName());
s.tField("recommend","");//孵化器推荐
s.tField("contacts",Contacts());
s.tField("phone",Phone());
s.tField("email",Email());
s.tField("category ","");//服务类别
职业认知怎么写
s.tField("demand",Demand());
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
String createTime = formatter.CreateTime());
俄语的你好String updateTime = formatter.UpdateTime());
s.tField("createTime",createTime);
s.tField("updateTime", updateTime);
形容星星的成语ps.tFormFlattenning(true);
ps.clo();
FileOutputStream fileSteam =new FileOutPutStream(file);
fos.ByteArray);
fos.clo();}
}
调⽤⽅法
@RequestMapping(value ="downloadPdf", method = RequestMethod.GET)6人小品
茶叶的图片
public String downloadPDF(@PathVariable("id") Integer id,HttpServletRequest request) throws Exception {
ServiceOrder rviceOrder = ById(id);
PDFTemplet pdfTT = new PDFTemplet();
pdfTT.tOrder(rviceOrder);
String baPath = Session().getServletContext().getRealPath("/");
String template = Session().getServletContext().getRealPath("/") + "WEB-INF/static/excel/confirmation.pdf";        pdfTT.tTemplatePdfPath(template);
pdfTT.tTargetPdfpath("D:/企业服务确认单.pdf");
pdfTT.tOrder(rviceOrder);
File file = new File("D:/企业服务确认单.pdf");
跳绳照片pletTicket(file,baPath);
基动漫
return "/master/rviceOrder/orderList";
}

本文发布于:2023-07-31 06:27:08,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1102790.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:表单   模板   服务   命名   格式   确认   企业   组件
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图