资源简介
java iText 实现从数据库中导出数据到已有的PDF模板
代码片段和文件信息
import java.io.ByteArrayOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Iterator;
import com.itextpdf.text.Font;
import com.itextpdf.text.pdf.AcroFields;
import com.itextpdf.text.pdf.baseFont;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
public class TestPdf {
public static void main(String[] args) {
fromPDFTempletToPdfWithValue();
}
/**
* 根据pdf模板填充相应的值:
*/
static String[] field = new String[1000];
static String[] values = new String[1000];
static int maxCount = 0;
static int account = 0;
String a[] = { “Name Row “ “Age Row “ “Sex Row “ “Add Row “ };
public static void fromPDFTempletToPdfWithValue() {
// 已有的PDF模板路径
String fileName = “C:/linloveTT.pdf“;
Connection con = null;
Statement stm = null;
ResultSet rs = null;
ResultSet rs1 = null;
int rows = 0;
try {
Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver“);
con = DriverManager.getConnection(
“jdbc:sqlserver://localhost:1433;databaseName=test“ “sa“
“123“);
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);
baseFont bf = baseFont.createFont(
“c://windows//fonts//simsun.ttc1“ baseFont.IDENTITY_H
baseFont.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());
stm = con.createStatement();
rs1 = stm.executeQuery(“select count(*) from student“);
if (rs1.next()) {
// 获取数据库中表的总行数
rows = rs1.getInt(1);
System.out.println(“rows“ + rows);
}
rs1.close();
rs = stm.executeQuery(“select * from student“);
// 获取列名总数
account = rs.getmetaData().getColumnCount();
int i = 1;
// PDF模板中文本域的名称集合
String a[] = { “Name Row “ “Age Row “ “Sex Row “ “Add Row “ };
for (Iterator it = s.getFields().keySet().iterator(); it.hasNext(); i++) {
for (int k = 1; k <= account; k++) {
field[k] = rs.getmetaData().getColumnName(k);
// s.setField(“Name Row “ + k field[k]);
}
while (rs.next()) {
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 601 2011-09-30 15:24 TestPdf\.classpath
文件 383 2011-09-30 11:41 TestPdf\.project
文件 629 2011-09-30 11:41 TestPdf\.settings\org.eclipse.jdt.core.prefs
文件 5591 2011-09-30 17:37 TestPdf\bin\TestPdf.class
文件 15613 2011-09-30 17:20 TestPdf\linlelee.pdf
文件 19776 2011-09-30 15:00 TestPdf\linlovett.pdf
文件 4880 2011-09-30 17:37 TestPdf\src\TestPdf.java
文件 24064 2011-09-30 17:43 TestPdf\注意事项.doc
目录 0 2011-09-30 11:41 TestPdf\.settings
目录 0 2011-09-30 15:24 TestPdf\bin
目录 0 2011-09-30 11:42 TestPdf\src
目录 0 2011-09-30 17:43 TestPdf
----------- --------- ---------- ----- ----
71537 12
- 上一篇:CtoJavaConverter.rar
- 下一篇:生命游戏-java实现
相关资源
- java并发编程实战高清版pdf
- java并发编程实战pdf
- Java-核心技术-36-讲李运华完.pdf
- Java Generics and Collections.pdf
- rpi_DATA_2711_1p0_preliminary.pdf
- 一线大厂Java多线程面试120题.pdf
- 基于RocketMQ的MQTT消息推送服务器分布
- JAVA并发编程实战.pdf
- [Java并发编程实践].(Java.Concurrency.i
- java根据模板导出PDF详细教程(包含统
- 《Android应用程序开发与典型案例》
- PDFBOX JAR包
- The Java Programming Language.4th.Edition.Aug.
- pdf-chinese.zip
- C语言大全第4版+源码(PDF)
- Expert-One-on-one J2EE Development Without EJB
- 《Android移动应用设计与开发》PDF
- Java核心技术+卷1+基础知识+原书第9版
- 《程序员代码面试指南 》左神 高清
- Android APP渗透测试方法大全.pdf
- java生成pdf文件Demo加印章
- java html模板 itext 生成pdf 页眉页脚 合
- Spring实战第4版高清完整版PDF-
- JavaCard 智能卡程序开发三部曲 pdf版
- Android开发入门与实战 第2版 pdf
- JAVA开发实战经典(名师讲坛)].李兴
- 大话JAVA:从零基础到数据库、WEB开发
- JAVA后台面经.pdf
- 《Java 深度历险》合并修订 PDF(Mc G
- Java中使用 FreeMarker 生成pdf盖章合同文
评论
共有 条评论