# changetopdf
**Repository Path**: gdty/changetopdf
## Basic Information
- **Project Name**: changetopdf
- **Description**: 基于itext7+freemarker模板导出pdf,先生成html字符串再转成pdf,已解决中文问题,图片能正常显示
- **Primary Language**: Unknown
- **License**: MulanPSL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-09-26
- **Last Updated**: 2025-09-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# changetopdf
## 📜介绍
基于iText7和Freemarker模板实现PDF导出功能。通过先生成HTML字符串再转换为PDF的方式,已解决中文显示问题,支持正常显示图片。
## 📦安装指南
```
gdteyu-maven
public
https://maven.cnb.cool/gdteyu/maven/-/packages/
true
true
com.gdty
changetopdf
xxx
```
## 🔧 使用示例
### HTML转PDF
```
FtlToPDFUtil pdfUtil = FtlToPDFUtil.getInstance("templates/");
pdfUtil.change("template.ftl", dataMap, "output.pdf");
```
### 直接生成PDF字节流
```
FtlToPDFUtil pdfUtil = FtlToPDFUtil.getInstance("templates/");
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
pdfUtil.change("template.ftl", dataMap, outputStream);
```
## 📁模板配置
支持多种模板加载方式:
- 本地目录加载
- 类路径加载
- 多路径加载
## 🖨️ 打印功能
提供直接打印PDF的功能:
```
ByteArrayOutputStream pdfStream = ...; // PDF内容流
Printer.printToDefaultPrinter(pdfStream); // 使用默认打印机
```
## 🔥更新日志
### v1.1.0
- 正式版本上线
- 完善中文支持
- 稳定性优化
## 📄字体支持
内置以下字体支持:
- 微软雅黑系列(常规/加粗/轻量)
- 宋体系列(常规/加粗)
## 🧪测试示例
包含完整测试用例:
- `ChangeToPDFTest` - PDF转换测试
- `FreemarkPrintTest` - 模板打印测试
- `test1.ftl` - 测试模板文件
## 📄许可证
请查看项目根目录的LICENSE文件