-
大小: 5KB文件類型: .zip金幣: 2下載: 0 次發(fā)布日期: 2021-05-14
- 語言: 其他
- 標(biāo)簽: itext??PDF導(dǎo)出??
資源簡介
生成pdf的中文問題解決辦法、導(dǎo)出pdf時(shí),設(shè)置段落行間距方法,表單填充,使用itext方法填充相應(yīng)表單域。

代碼片段和文件信息
package?com.itextpdf.demo;
import?java.io.FileOutputStream;
import?com.itextpdf.io.IOException;
import?com.itextpdf.io.source.ByteArrayOutputStream;
import?com.itextpdf.text.Document;
import?com.itextpdf.text.DocumentException;
import?com.itextpdf.text.pdf.AcroFields;
import?com.itextpdf.text.pdf.baseFont;
import?com.itextpdf.text.pdf.PdfCopy;
import?com.itextpdf.text.pdf.PdfImportedPage;
import?com.itextpdf.text.pdf.PdfReader;
import?com.itextpdf.text.pdf.PdfStamper;
public?class?ITextPdf?{
public?static?void??FillForm()?throws?Exception?{
????????//?模板路徑
????????String?templatePath?=?“C:/PdfTest/template/b.pdf“;
????????//?生成的新文件路徑
????????String?newPDFPath?=?“C:/PdfTest/template/b2.pdf“;
????????PdfReader?reader;
????????FileOutputStream?out;
????????ByteArrayOutputStream?bos;
????????PdfStamper?stamper;
????????try{
????????????out?=?new?FileOutputStream(newPDFPath);//?輸出流到新的pdf沒有b2.pdf時(shí)會(huì)創(chuàng)建
????????????reader?=?new?PdfReader(templatePath);//?讀取pdf模板
????????????bos?=?new?ByteArrayOutputStream();
????????????stamper?=?new?PdfStamper(reader?bos);
????????????AcroFields?form?=?stamper.getAcroFields();
???????????
???????????baseFont?bf?=?baseFont.createFont(“C:/PdfTest/template/simsun.ttc1“?baseFont.IDENTITY_H?baseFont.embedDED);//加載字體
????????????//獲取form表單的表單名稱--》測試看能不能獲得pdf文件中的Form表單的名稱
????????????java.util.Iterator?it?=?form.getFields().keySet()
????????????????????.iterator();
????????????while?(it.hasNext())
????????????{
????????????????String?name?=?it.next().toString();
????????????????System.out.println(name);
????????????}
????????????form.setFieldProperty(“name“?“textfont“?bf?null);//設(shè)置字體
????????????form.setField(“name“?“王燕冬-王厝“);
????????????form.setFieldProperty(“age“?“textfont“?bf?null);
????????????form.setField(“age“?“1“);
????????????form.setFieldProperty(“class“?“textfont“?bf?null);
????????????form.setField(“class““jsj“);
????????????
?
????????????stamper.setFormFlattening(true);//?如果為false那么生成的PDF文件還能編輯,一定要設(shè)為true
????????????stamper.close();
????????????
????????????Document?doc?=?new?Document();
????????????
????????????PdfCopy?copy?=?new?PdfCopy(doc?out);
????????????doc.open();
????????????PdfImportedPage?importPage?=?null;
???????????for(int?i?=?1;?i?<=?reader.getNumberOfPages();?i++)?{
???????? ???importPage?=?copy
???????????????????????.getImportedPage(new?PdfReader(bos.toByteArray())?i);
???????????????copy.addPage(importPage);
???????????}
???????????doc.close();
????????}
????????catch?(IOException?e)????????
????????{
????????????e.printStackTrace();
????????}
????????catch?(DocumentException?e)
????????{
????????????e.printStackTrace();
????????}
}
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2020-05-30?15:09??TestDemo\
?????文件????????1778??2018-08-01?16:42??TestDemo\pom.xm
?????目錄???????????0??2018-08-01?16:14??TestDemo\src\
?????目錄???????????0??2018-08-01?16:14??TestDemo\src\main\
?????目錄???????????0??2018-08-01?16:19??TestDemo\src\main\java\
?????目錄???????????0??2018-08-01?16:19??TestDemo\src\main\java\com\
?????目錄???????????0??2018-08-01?16:19??TestDemo\src\main\java\com\itextpdf\
?????目錄???????????0??2018-08-01?16:20??TestDemo\src\main\java\com\itextpdf\demo\
?????文件????????2916??2018-08-01?17:32??TestDemo\src\main\java\com\itextpdf\demo\ITextPdf.java
?????目錄???????????0??2018-08-01?16:14??TestDemo\src\main\resources\
?????目錄???????????0??2018-08-01?16:14??TestDemo\src\test\
?????目錄???????????0??2018-08-01?16:25??TestDemo\src\test\java\
?????目錄???????????0??2018-08-01?16:24??TestDemo\src\test\java\com\
?????目錄???????????0??2018-08-01?16:24??TestDemo\src\test\java\com\itextpdf\
?????目錄???????????0??2018-08-01?16:25??TestDemo\src\test\java\com\itextpdf\test\
?????文件?????????267??2018-08-01?17:15??TestDemo\src\test\java\com\itextpdf\test\TestDemo.java
?????目錄???????????0??2018-08-01?16:14??TestDemo\src\test\resources\
- 上一篇:OpenGLWindow.zip
- 下一篇:2048-AI-master 的源碼
評論
共有 條評論