OpenPDF 或 itext5 根据pdf模板生成多页PDF
生活随笔
收集整理的這篇文章主要介紹了
OpenPDF 或 itext5 根据pdf模板生成多页PDF
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡介
- 本文使用openpdf 1.3.29 版本,也建議使用openpdf。<dependency><groupId>com.github.librepdf</groupId><artifactId>openpdf</artifactId><version>1.3.29</version> </dependency>
- OpenPDF 是基于 itext4 開發的開源的jar,itext5也是基于 itext4 開發,且itext5是部分開源,部分收費,且官方不再更新維護,需要引入的包多,itext7絕大部分功能收費了
- OpenPDF相比 itext5簡單使用,且在github下載源碼,里面有些例子,共參考
- 有興趣的可以下載看看:
https://github.com/LibrePDF/OpenPDF
軟件安裝
https://www.adobe.com/cn/products/catalog.html
制作PDF模板
- 使用Adobe Acrobat XI Pro創建各種需要的域
- 條形碼
使用選定的域對輸入進行編碼,并將它顯示為可以通過解碼軟件或硬件(分別提供)來解釋的可視模式。 - 按鈕
促發用戶計算機上的變化,如打開文件、播放聲音,或者向網絡服務器提交數據。這些按鈕可通過圖像、文本以及鼠標動作觸發的可見變化進行自定義。 - 復選框
為個別項顯示是或否選擇。如果表單包含多個復選框,用戶通??梢愿鶕枰x擇。 - 數字簽名域
允許用戶使用數字簽名以電子形式對 PDF 文檔進行簽名。 - 下拉列表
允許用戶從彈出式菜單中選擇項,或鍵入值。您可以設置表單域屬性,以使用戶可以輸入自定義值。 - 列表框
顯示用戶可以選擇的選項列表。您可以設置表單域屬性,以使用戶可以按 Shift 鍵并單擊來選擇列表中的多個項。 - 單選鈕
顯示一組選項,用戶僅可以從中選擇一項。名稱相同的所有單選鈕作為一個組一起工作。 - 文本域
允許用戶鍵入文本,例如名稱、地址或電話號碼。 - 步驟如下:
- 建議先創建一個word,先繪制出來想要的表格或文檔(在Adobe Acrobat XI Pro中編輯PDF中不太方便話表格,同時操作內容沒有word豐富),然后將word導出PDF,個人使用的是WPS
- 用Adobe Acrobat XI Pro 打開,點擊編輯圖標,右邊展示了編輯框,注意內容和表單是常用,如下:
- 編輯或新增域,點擊表單-編輯;定義域的一般屬性 名稱 是否可見 只讀 ,字體大小
- 在代碼中通過獲取該名稱屬性來進行對模板填值
- 域的屬性里,可設置字體,和多行,多行可自動換行,注意域的寬高不夠時顯示不出來
- 重要: 最好將域的字體設置為TIme New Roman,然后代碼使用宋體,這樣就能兼容中午,即:一段文字,英文顯示TIme New Roman,中文顯示宋體
代碼
- 個人寫了個工具類,
- 注意:由于STSong-Light與simsun字體不一樣,使用瀏覽器打開字體有差異,需要導入simsun,simsun就是我們使用WPS,Adobe Acrobat XI Pro選擇的宋體
- 兩種調用方式;templateFilePath=模板路徑, os = 生成的pdf輸出流,可以給目錄加文件名outputPath,直接生成文件,或者自動保存到OS流中,自行處理,fieldMapList=key:域的名字,value:域值
- ** 重點** 域中在value使用\n可換行
余留問題:
解決方案:
以上內容,問題有更好解決方案,歡迎評論區討論
轉載,或者引用請注明出處,已經看到要幾個網站直接原原本本貼過去,過分了!
總結
以上是生活随笔為你收集整理的OpenPDF 或 itext5 根据pdf模板生成多页PDF的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AutoCAD Eagle的常规操作和P
- 下一篇: EC-JET喷码机报EC2.01偏转板电