1. 程式人生 > >不會吧不會吧,還有開發不會Java填充PDF模板資料的,趕緊看看吧

不會吧不會吧,還有開發不會Java填充PDF模板資料的,趕緊看看吧

## 思路 根據業務需求,獲取實際業務資料,藉助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();