不會吧不會吧,還有開發不會Java填充PDF模板資料的,趕緊看看吧
阿新 • • 發佈:2020-12-11
## 思路
根據業務需求,獲取實際業務資料,藉助itext庫功能,將業務資料填充入提前製作好的PDF模板中
## 操作步驟
* 製作PDF模板:提前下載好**Adobe Acrobat Pro DC**
* 效果展示
## 準備PDF,如下圖
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/86779ccfe0074b12b7adbfbda058fdb7~tplv-k3u1fbpfcp-zoom-1.image)
## 編輯PDF
![在](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e036aa84a302417ea84ce91e20980df0~tplv-k3u1fbpfcp-zoom-1.image)
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7b51882381924f348666d7e50313fff0~tplv-k3u1fbpfcp-zoom-1.image)
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d67a37228052481391fbe0eae1e0725b~tplv-k3u1fbpfcp-zoom-1.image)
## 準備表單
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/436f4be4be444146afb1d7b3b2e1f01e~tplv-k3u1fbpfcp-zoom-1.image)
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e7a10d7ff7c346918c91a95eb9f38341~tplv-k3u1fbpfcp-zoom-1.image)
## 設定字型
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/fda8542effca4a7a9ae6efc1763e228e~tplv-k3u1fbpfcp-zoom-1.image)
## 設定多行
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ca356ec6005642fb9a713f8fb8e43a28~tplv-k3u1fbpfcp-zoom-1.image)
## 模板表單標籤
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/271a794022f64ada865cd42819567a45~tplv-k3u1fbpfcp-zoom-1.image)
## 標籤繫結具體業務資料
* pom依賴
```
```
* 具體實現
```
private ByteArrayOutputStream getYearData() {
ClassPathResource classPathResource = new ClassPathResource("template/pdf-template.pdf");
PdfReader reader;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
reader = new PdfReader(classPathResource.getStream());
bos = new ByteArrayOutputStream();
PdfStamper stamper = new PdfStamper(reader, bos);
AcroFields form = stamper.getAcroFields();