资源简介
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
相关资源
- 3_2016计2_访问控制列表_7组.pdf
- 橙色大气的网络科技app开发公司响应
- 几款简单,大气,常用的答辩,比赛
- 吴敏_鲁棒控制理论.pdf
- FEKO入门完全手册(final).pdf
- 基于CarbonData构建万亿级数据仓库.pd
- [数理] 递归论 PDF
- 高等结构动力学pdf格式
- 龙旗手机设计规范.pdf
- 占用内存最小的PDF阅读器SumatraPDF
- 近世代数基础-张禾瑞高清带目录版
- 机动车电子标识通用规范第1部分:汽
- ST语言编程--浙大中控.pdf
- 数值分析(第4版高清晰pdf版) 李庆扬
- 基于ARM的嵌入式网络视频监控系统的
- TV资料_pdf.rar
- FPGA从零开始.pdf
- 音乐网页模板
- 基于STM32C8T6的最小系统的工程模板文
- 基于FPGA的点阵贪吃蛇游戏的设计与实
- 通信原理实验报告_QPSK.pdf
- C程序设计语言 第二版新 PDf (绝对超
- 三星K4B4G1646E.PDF
- 信息隐藏技术_PDF格式剖析及信息隐藏
- 用户故事与敏捷方法 pdf
- MIT线性代数PDF中文版完整版 含代码
- 信息安全技术网络安全等级保护2.0安
- 简单的购物网站模板
- 2019年中国K12教育行业市场前瞻分析报
- 个人陈述模板
评论
共有 条评论