【JAVA生成PDF】利用模板生成PDF

java如何生成PDF文件

1.首先需要导入pom.xml

<dependency>
    <groupId>org.xhtmlrenderer</groupId>
    <artifactId>flying-saucer-pdf</artifactId>
    <version>9.0.8</version>
</dependency>
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();    
    Document doc = builder.parse(new ByteArrayInputStream(htmlStr.getBytes("UTF-8")));
    ITextRenderer renderer = new ITextRenderer();
    ITextFontResolver fontResolver = renderer.getFontResolver();
    renderer.setDocument(doc, null);
    //对应的css样式是:'Arial Unicode MS'
    //fontResolver.addFont("C:/WINDOWS/Fonts/ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
    //微软宋体 对应的css样式是:"Calibri"
    fontResolver.addFont(getFontPath(request)+"calibri.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
    //宋体 对应的css样式是:'SimSun'
    fontResolver.addFont(getFontPath(request)+"simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
    //仿宋 对应的css样式是:'FangSong'
    fontResolver.addFont(getFontPath(request)+"simfang.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
    //设置图片URL相对路径
    renderer.getSharedContext().setBaseURL(imagePath);
    renderer.layout();
    renderer.createPDF(out);
    renderer.finishPDF();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
生成PDF模板Java代码可以使用多种方式实现。根据引用\[1\]中提到的几种框架,可以选择使用iText、Apache PDFBox或docx4j来生成PDF模板。 如果选择使用iText,可以使用iText库来生成PDF文档,并支持将XML、HTML文件转换为PDF文件。iText的开源协议为AGPL。使用iText生成PDF模板的思路可以参考引用\[1\]中提到的步骤。 如果选择使用Apache PDFBox,可以使用Apache PDFBox库来生成和合并PDF文档。Apache PDFBox的协议为Apache License v2.0。使用Apache PDFBox生成PDF模板的具体步骤可以参考引用\[1\]中提到的步骤。 如果选择使用docx4j,可以使用docx4j库来生成docx、pptx、xlsx文档,并支持转换为PDF格式。docx4j的协议也是Apache License v2.0。使用docx4j生成PDF模板的具体步骤可以参考引用\[1\]中提到的步骤。 总之,根据你的需求和偏好,选择合适的库来生成PDF模板,并按照相应的步骤进行操作即可。 #### 引用[.reference_title] - *1* *2* [java生成pdf利用dom4j、freemarker生成固定模板格式的pdf文件)](https://blog.csdn.net/wumingdu1234/article/details/104418074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [java利用模板生成PDF](https://blog.csdn.net/khbilhjknkjb/article/details/125242756)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑起来贼好看

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值