PDF模版制作以及用iText生成PDF
生活随笔
收集整理的這篇文章主要介紹了
PDF模版制作以及用iText生成PDF
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近有個需求,下載PDF類型的文件,故需要實現如下功能:
1、制作PDF模版
2、使用iText下載pdf
制作pdf模版,我是下載的Adobe Acrobat Pro DC制作的,當然網上也有,但是好多圖片沒顯示,看的很著急,所以自己整理一份。
對于新手來說,這個軟件使用還是需要一番摸索的,來說一下我的制作流程:
1.1、現有一個模版,用Adobe調模版還是挺麻煩的,所以還是使用word來制作模版,制作好模版之后,轉成pdf格式。文件-另存為-保存為PDF的格式。
1.2、用Adobe打開剛才導出的PDF。
右側工具欄里選擇 準備表單 ,然后從菜單里拉出 添加“文本”域 ,在你想要填充的地方設置填充的name。也可以雙擊彈出文本域屬性,可以設置名稱,字體,大小等。
2.1、pdf模版制作好之后,就可以使用啦。用iText導出pdf,需要引入相關jar包。
compile group: 'com.itextpdf', name: 'itextpdf', version: '5.5.11' compile group: 'com.itextpdf', name: 'itext-asian', version: '5.2.0' 2.2、導出pdf @Testpublic void fromPDFTempletToPdf() {String fileName = "/Users/jennifer/Downloads/test.pdf"; //pdf模版FileOutputStream fos = null;try {PdfReader reader = new PdfReader(fileName);fos = new FileOutputStream("/Users/jennifer/Downloads/test_out.pdf"); //生成pdf的位置PdfStamper ps = new PdfStamper(reader, fos);AcroFields s = ps.getAcroFields(); // BaseFont bf = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED); // s.setFieldProperty("entpName","textfont",bf,null); //設置中文格式s.setField("Text3", "2011-04-05");ps.setFormFlattening(true);ps.close();reader.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();} finally {try {if (fos != null) {fos.close();}} catch (IOException e) {e.printStackTrace();}}}說明下,如果pdf填充值有中文的話,則需要設置中文格式。但是我個人感覺這個中文格式設置之后,英文的顯示不好看。 所以我是在設置文本域的時候,在文本域屬性的 外觀-字體 里設置的字體:簡-宋。導出的pdf字體效果就正常了。
Adobe Acrobat Pro DC軟件下載地址:https://ardownload2.adobe.com/pub/adobe/acrobat/mac/DLM/Trial/acrobatproDC_00000000000000000000000804.dmg
總結
以上是生活随笔為你收集整理的PDF模版制作以及用iText生成PDF的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python向数据库插入字符串数据,字符
- 下一篇: 不会盗QQ,还当什么程序员?