您的位置:首页 > 房产 > 家装 > 163com免费邮箱登_营销策略理论有哪些_丈哥seo博客工具_专业的制作网站开发公司

163com免费邮箱登_营销策略理论有哪些_丈哥seo博客工具_专业的制作网站开发公司

2024/12/23 15:16:48 来源:https://blog.csdn.net/qq_42221396/article/details/143905601  浏览:    关键词:163com免费邮箱登_营销策略理论有哪些_丈哥seo博客工具_专业的制作网站开发公司
163com免费邮箱登_营销策略理论有哪些_丈哥seo博客工具_专业的制作网站开发公司

将html格式的文件转为pdf文件
项目依赖jar 包

<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.11</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>com.itextpdf</groupId><artifactId>html2pdf</artifactId><version>4.0.3</version></dependency>

静态文件html文件模板:


<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"/><title>2</title><style>/*这是将打印时的页面大小设置为A4大小,并保留好一定的边距 210×297mm*//*@page {*//*    size: 21cm 29.7cm;*//*    font-size: 14pt;*//*    color: black;*//*    line-height: 1.4;*//*    text-align: justify;*//*    margin: 0;*//*    padding: 0;*//*}*//*body {*//*    font-family: FZLanTingHei-L-GBK;*//*    width: 21cm;*//*    height: 29.7cm;*//*    margin: 0;*//*    padding: 0;*//*    overflow: hidden;*//*}*//*img{*//*    width: 21cm;*//*    height: 29.7cm;*//*}*/</style>
</head>
<body>
<h1 th:text="${title}">Default Title</h1>
<p th:text="${content}">Default Content</p>
<div align="center"><img th:src="${imagePath}" alt="这是一张美丽的风景照片"/></div>
</body>
</html>

代码如下:

public void generatePdf(HttpServletResponse response) throws IOException {// 将图片转换为Base64编码
//        byte[] imageBytes = Files.readAllBytes(Paths.get(imagePath));
//        String base64Image = Base64.getEncoder().encodeToString(imageBytes);// 动态数据Map<String, Object> data = new HashMap<>();data.put("title", "Hello, World!");data.put("content", "This is a dynamic content.");data.put("imagePath", imagePath); // 路径// 使用 Thymeleaf 渲染模板Context context = new Context();context.setVariables(data);String htmlContent = templateEngine.process("templates", context);try (FileOutputStream outputStream = new FileOutputStream(filePath)) {// 读取HTML模板HtmlConverter.convertToPdf(htmlContent, outputStream);} catch (Exception e) {e.printStackTrace();}}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com