我們系統需要生成一個可以列印的pdf文檔,老闆給了我一個word文檔,按照這個word文檔的格式生成pdf文檔。
第一步:下載下傳adobeacrobat dc,必須使用這個來制作from域。
第二步:使用adobeacrobat dc将word導成pdf文檔。
第三步:由于還要加水印的效果,是以還是使用adobeacrobat dc來添加水印,非常友善;
添加水印的方法:使用adobeacrobat dc打開pdf文檔,“工具”-》“編輯pdf”-》”水印”-》”添加”
添加水印的操作:
點選“确定”:
第四步:使用adobeacrobat dc添加from域;
添加from域方法:使用adobeacrobat dc打開文檔,“工具”-》“準備表單”
點選“開始”:
點選“儲存”:
添加“文本域”到我們想要添加内容的位置:
第五步:使用java代碼導出pdf文檔;
主要三個類:功能類-pdftempletticket
資料類-ticket
測試類-testtempletticket
導出來後的結果:
備注:導出pdf文檔,from域的内容不可見問題;itext找不到字型;
問題1:我開始導出的from域内容看不到,将ps.setformflattening(true);設定為flase後,可以看到from域,還是看不到内容,我點選進入from後可以看到内容,該方法是将from域隐藏;後來看到有人設定from域内容的字型:basefontbf = basefont.createfont(pdfticket.class.getresource("/") + "org/csun/ns/util/simsun.ttc,1",
basefont.identity_h, basefont.embedded);
以及:
s.setsubstitutionfonts(fontlist);
問題2:别人的代碼:
basefont bf = basefont.createfont("stsong-light", "unigb-ucs2-h", basefont.not_embedded);
會報找不到字型的錯誤,這裡的解決方式就是通過使用自己的字型就好,simsun.ttc是windows下面自帶的字型(簡體宋體:c:\windows\fonts下面有很多字型可以使用)