资源简介
Itext利用模板生成PDF实例demo,导入即可使用,唯一缺点就是表格数据循环次数不确定时,有可能造成分页,建议使用后台代码生成的PDF,可以带页码;见本人其他分享资源。

代码片段和文件信息
package document.pdf;
import java.io.ByteArrayOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Iterator;
import java.util.List;
import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.Image;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.html.simpleparser.HTMLWorker;
import com.itextpdf.text.html.simpleparser.styleSheet;
import com.itextpdf.text.pdf.AcroFields;
import com.itextpdf.text.pdf.baseFont;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
import com.itextpdf.text.pdf.PdfWriter;
public class TestPdf {
// http://prdownloads.sourceforge.net/itext/iTextAsian.jar
public static void main(String[] args) {
//createPDFWithChinese();
// createPdf();
fromPDFTempletToPdfWithValue();
//fromHtmlToPdf();
}
/**
* 根据pdf模板填充相应的值:
* 1,如果是根据excel填充的话,在用Acrobat生成PDF模板前,
* Excel单元格格式最好设置成文本,否则pdf填充值时可能中文无法显示
*/
public static void fromPDFTempletToPdfWithValue() {
String fileName = “d:/doc/3_to_pdf.pdf“; //
try {
PdfReader reader = new PdfReader(fileName);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
PdfStamper ps = new PdfStamper(reader bos);
/**
* 使用中文字体
* 如果是利用 AcroFields填充值的不需要在程序中设置字体,在模板文件中设置字体为中文字体就行了
*/
baseFont bf = baseFont.createFont(“STSong-Light““UniGB-UCS2-H“baseFont.NOT_embedDED);
Font FontChinese = new Font(bf 12 Font.NORMAL);
AcroFields s = ps.getAcroFields();
System.out.println(“s: “ + s);
System.out.println(“AcroFields: “ + s.getFields());
System.out.println(“AcroFields.class: “ + s.getFields().getClass());
System.out.println(“getSignatureNames: “ + s.getSignatureNames());
System.out.println(“getSignatureNames: “ + s.getTotalRevisions());
System.out.println(“s: “ + s.getBlankSignatureNames());
System.out.println(“s: “ + s.getFieldCache());
System.out.println(“s: “ + s.getSubstitutionFonts());
int i = 1;
for (Iterator it = s.getFields().keySet().iterator(); it.hasNext(); i++) {
String name = (String) it.next();
String value = s.getField(name);
System.out.println(“[“ + i + “- name:“ + name + “ value: “+value+“]“);
s.setField(““+name.trim() “aaa一二三“);
}
s.setField(“Text1“ “NOHI“);
s.setField(“Text2“ “2011-04-05“);//注意pdf中域的大小,这里设置的值太长,pdf中会显示不全
//设置为true/false在点击生成的pdf文档的填充域时有区别,
ps.setFormFlattening(true);
ps.close();
FileOutputStream fos = new FileOutputStream(“d:/d
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8280 2011-04-05 23:00 利用模板生成pdf\3_pdf_note.txt
文件 120669 2011-04-05 22:52 利用模板生成pdf\3_to_pdf.pdf
文件 115612 2011-04-05 22:52 利用模板生成pdf\3_to_pdf_export.pdf
文件 1613319 2011-03-22 16:07 利用模板生成pdf\iText-5.0.6.jar
文件 332334 2011-03-22 19:37 利用模板生成pdf\iTextAsian.jar
文件 2869266 2011-03-30 20:52 利用模板生成pdf\iText_API.rar
文件 7284 2011-04-05 22:53 利用模板生成pdf\TestPdf.java
目录 0 2018-03-29 13:38 利用模板生成pdf
----------- --------- ---------- ----- ----
5066764 8
相关资源
- 并购重组资料(协议模板)
- axure 框架图模板设计.rp
- layui后台管理模板
- HAP_Advanced_PDF_Password_Recovery 5.05
- Rtx51_tiny_RTOS中文版.pdf
- porting.RTEMS移植指南.双语.V20131224.pdf
- MT4编程 EA模板
- 国内一家大型软件公司内部的正规软
- 一个测试报告的模板,有点用
- 利用foxmail模板批量生成邮件
- 美赛论文MCM两个word模板 论文格式 w
- 班级主页模板
- 硬件测试面试常见题PDF
- WEB系统界面设计模板(很漂亮)
- 志愿者网站模板
- 通用后台管理系统模板
- PDSmaker 辩论赛赛制模板文件制作工具
- 软件工程文档模板1可行性研究报告
- 浙大ACM编程竞赛的摸板
- 软件系统需求分析模板
- 软件技术文档模版
- 图文手把手教你一步步用VC 2010编写通
- 图文手把手教你一步步用VC 2010编写通
- Vulkan Cookbook 无水印转化版pdf
- PDF格式的白话孙子兵法
- APUE第三版pdf
- SDINBDG4-64GB_datasheet generic final v1.pdf
- 网奇Iwms免费模板V34
- 软件系统项目实施方案(通用模板)
- 滴滴出行行程报销单word模板
评论
共有 条评论