从数据库查询并用itext 生成显示在pdf上

本节内容:

1:从数据库里查出数据,并利用iText组件,将其显示在pdf上;

 

开发环境:

            linux平台,

            MyEclipse 7.1,

            mysql5.0,

所需jar包:

            iText-2.0.8.jar(本来想用5.0的,但是目前的自学的资料上有些功能不支持,所有换个稳定点的);

            mysql-connector-java-5.0.8-bin.jar(看附件);

 

首先回顾下创建数据库连接的代码:

package com.keith.DB.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DBConnection {
	private Connection conn = null;
	private PreparedStatement ps = null;
	private ResultSet rs = null;

	public DBConnection() {
		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn = DriverManager.getConnection(
					"jdbc:mysql://localhost:3306/iTextTest", "root", "111111");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	/***
	 * 增删改 用此方法
	 * 
	 * @param sql
	 * @param obj
	 * @return
	 * @throws SQLException
	 */
	public int executeUpdate(String sql, Object[] obj) throws SQLException {
		ps = conn.prepareStatement(sql);
		for (int i = 0; i < obj.length; i++) {
			ps.setObject(i + 1, obj[i]);
		}
		int ri = ps.executeUpdate();
		return ri;
	}

	/***
	 * 查询调用此方法
	 * 
	 * @param sql
	 * @param obj
	 * @return
	 * @throws SQLException
	 */
	public ResultSet executeQuery(String sql, Object[] obj) throws SQLException {
		ps = conn.prepareStatement(sql);
		for (int i = 0; i < obj.length; i++) {
			ps.setObject(i + 1, obj[i]);
		}
		rs = ps.executeQuery();
		return rs;
	}

	/***
	 * 关闭数据库
	 * 
	 * @throws SQLException
	 */
	public void close() throws SQLException {
		if (conn != null) {
			conn.close();
		}
		if (ps != null) {
			ps.close();
		}
		if (rs != null) {
			rs.close();
		}
	}
}
 

当然连接数据库有很多种写法,哪位朋友觉得自己写的比较好,最好也发表出来吧!

 

一个简单的数据库和表:

create database iTextTest;

use iTextTest;

create table user(
        id int not null,
        name varchar not null,
        birthday date not null
)

insert into user values(1,"keith",1990-09-06);
 

 

下面看:如何通过Itext来获取查询后的结果(我的这个方法很笨,且目前只能支持string 类型的内容):

 

希望大家也能帮我如何实现其他类型的结果,或者共享下更好的方法:

package com.keith.DB;

import java.awt.Color;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.keith.DB.util.DBConnection;
import com.lowagie.text.Chunk;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Font;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;

public class ITextDB {
	public static final String URI = "/home/core/Desktop/itext_test/iTextDB.pdf";

	public static void main(String[] args) throws SQLException {
		Document document = new Document();
		try {
			PdfWriter.getInstance(document, new FileOutputStream(URI));
			document.open();
			// 实例化连接数据库对象
			DBConnection dbc = new DBConnection();
			ResultSet rs = dbc.executeQuery("select * from user",
					new Object[] {});
			while (rs.next()) {
				String name = rs.getString("name");
				document.add(new Paragraph(name));
				document.close();
			}
				
			dbc.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (DocumentException e) {
			e.printStackTrace();
		}
	}
}

运行代码,看结果!

 

SpringBoot中用itext实现PDF导出时实现循环添加元素 场景 SpringBoot加itext实现PDF导出下载 https://blog.youkuaiyun.com/BADAO_LIUMANG_QIZHI/article/details/89475877 Itext实现导出PDF常用方法说明 https://blog.youkuaiyun.com/BADAO_LIUMANG_QIZHI/article/details/89476534 实现 在上面的成功实现导... 阅读详情

相关推荐

使用iText实现数据库数据动态填充到PDF模板的项目教程

iText是一个用于创建和操作PDF文档的Java库。它提供了一套丰富的API,使开发者能够生成复杂的PDF文档,以及从现有PDF文件中提取内容。iText库广泛应用于报表生成、合同填充、表单处理等场景。作为一个开源库,iText在遵守AGPL协议的情况下免费使用,或者通过商业许可来使用其附加的特性。AcroFields对象是iText库中用于处理PDF表单字段的核心组件。它允许开发者读取、写入和修改PDF表单的数据,并提供了一系列方法来处理表单字段的各种属性。

weixin_35671843的博客 1450

掌握iText:轻松处理PDF文档-高级篇-添加水印

可能你会经常遇到类似的场景, 为了保护敏感信息和版权,需要在PDF文件上添加水印,在类似这样的需求上再作一个延伸,可能就是两种情况:第一种,程序在处理数据后,生成新的pdf文档的同时增加水印;第二种,pdf文档已经存在,需要在导出的时候,给已经存在的pdf文档增加水印。那么这两种需求,如果使用iText5,应该怎么实现呢?

凡夫编程 6222

java iText 实现从数据库中导出数据到已有的PDF模板

java iText 实现从数据库中导出数据到已有的PDF模板

Java中的PDF生成

iText是一个用于创建和操作PDF文件的Java库。它功能强大,支持许多高级功能,如加密、数字签名、表单和条形码等。下面我们将通过一个简单的示例来演示如何使用iText生成一个PDF文档。

weixin_46372265的博客 4062

将数据库中的内容导出为PDF文档

http://hi.baidu.com/g882/blog/item/c97b402397a77e56ac34de5e.html?timeStamp=1295055408028 这里有此程序运行后的结果,请先查看,后下载

利用itext操作pdf从数据库导出大量数据

利用itext操作pdf从数据库导出大量数据 压缩包含需要的jar包、案例源码

个人信息管理系统

个人信息管理系统 链接数据库 package com.student.dbc ; import java.sql.* ; public class DatabaseConnection { private static final String DBDRIVER = “org.gjt.mm.mysql.Driver” ; private static final String DBURL = “jdbc:mysql://localhost:3306/java_web?useUnicode=true&amp

weixin_44031516的博客 2万+

利用itext操作pdf从数据库导出大量数据--汇总(一)

NULL 博文链接:https://fruitking.iteye.com/blog/1961414

使用itext把图片转成pdf文件,图片来自本地路径或者文件上传,输出pdf存在本地或者远程minio

1.使用maven添加需要的jar包 <!-- 图片转成pdf需要的jar包 --> <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> ...

ZHANGLIZENG的博客 2838

java根据模板动态生成PDF实例

本篇文章主要介绍了java根据模板动态生成PDF实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

点击率预测的贝叶斯平滑

概述 电商领域中经常需要计算或预测一些转化率指标,如最典型的CTR(点击率,Click-Through Rate)。这些转化率可以是模型的预测值,也可以作为模型的特征(feature)使用。以商品点击率预测为例,CTR的值等于点击量(Click)除以曝光量(Impression或Exposure)。以rr表示点击率, r=CI(1)r=\frac{C}{I} \tag{1}. 但在实际应

小平子的专栏 3万+

java itext 导出pdf文件_【Java,PDF】使用Itext实现PDF文件生成

重要声明:本文章仅仅代表了作者个人对此观点的理解和表述。读者请查阅时持自己的意见进行讨论。前言有时候,业务系统要求提供一个PDF文件导出的功能,这时候我们就需要将数据库的对应数据查询出来,然后生成PDF并提供下载,这其中比较陌生的部分相信就是如何使用这些数据生成一个PDF文件了,本文讲述了使用 Itext 在Java后端生成PDF的方法,不妨来看看一吧。一、加入依赖首要第一步则是加入Itext的依...

weixin_36453621的博客 962

基于YOLOv8的多类别检测模型融合实战:从数据集重构到模型训练

本文详细介绍了如何将多个单一类别的YOLOv8检测模型融合为一个高效的多类别检测模型。通过重构数据集、利用预训练模型生成新标签,并重新训练,解决了多模型并行带来的速度慢、资源占用高和部署复杂等问题。实战流程涵盖数据准备、标签生成、模型训练与评估,旨在帮助开发者构建性能优异的YOLOv8多类别检测模型。

kmeans3miner的博客 227

使用itext生成PDF并返回流,加PDF的页面加内容旋转

项目需要将数据转成pdf,并返回流到页面显示 生成pdf 参考:https://blog.youkuaiyun.com/weixin_42666837/article/details/86530646,有需要的去查看 但是项目要求直接返回流,不用去在本地生成,就将代码改成 //创建文件 Document document = new Document(); //建立一个...

hytcsdn的博客 4307

从‘眼花缭乱’到‘心中有数’:rs-fMRI统计分析全流程避坑指南(附DPABI操作截图)

本文详细解析了rs-fMRI统计分析的全流程,从质量控制到统计模型选择,再到多重比较校正和结果解读。特别针对DPABI软件操作中的常见陷阱提供实用指南,帮助研究者避免FDR和GRF校正等关键环节的错误,实现从数据混乱到清晰分析的转变。

weixin_33686714的博客 398

基于ROS2系统开发机器人

以上是基于ROS 2开发机器人的基本流程和一个简单的发布者-订阅者示例。通过这个流程,你可以逐步扩展和优化你的机器人系统,实现更复杂的功能。

xuweilin的博客 1495

使用itext将数据库的表格转为Pdf文件

       上一篇博客讲到了如何将mysql数据库中的数据转出为Excel文件,这次尝试了以下将mysql中的表格转为Pdf文件。一,创建一个java工程,名叫ReadDatabasePDF,并且导入itextpdf和mysql的相关jar包:二、创建一个类名叫ReadPdfFromDB,意为从数据库读取数据转为pdf文件,同样的可以在类中为文件设置一些属性,例如背景颜色,列宽,文本居中:pac...

sunroyfcb的博客 2259

2025年CSP-X初赛真题及答案解析(江西)(完善程序第1题)

2025年CSP-X初赛真题及答案解析(江西)(完善程序第1题)

王老师青少年编程 714

springBoot基于itext实现pdf打印

pom: <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>2.1.7</version> ...

samHuangLiang的博客 1940

华为od面试手撕真题【分解质因数】

华为od面试手撕真题【分解质因数】

MISAYAONE的博客 1135

【Autosar从入门到精通到进阶实战篇】75 0x34/0x36/0x37:请求下载、传输数据、请求退出——刷写流程的“三兄弟”

文章摘要:UDS刷写流程0x34/0x36/0x37关键实现要点 本文通过一个真实ECU变砖案例,揭示了UDS刷写服务(0x34请求下载、0x36传输数据、0x37请求退出)的实现陷阱与最佳实践。核心要点: 安全架构设计: 0x34阶段只协商参数,不立即擦除Flash 采用缓冲区暂存数据,避免频繁写Flash 严格检查地址对齐和内存边界 关键改进措施: 实现数据包序列号校验(防错位) 传输层缓冲区溢出保护 0x37阶段必须包含完整性校验(如CRC32) 一次性批量写入Flash,减少擦写次数 典型错误模式:

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 71

利用Java将数据库的数据生成pdf返回给前端用户下载

本篇文章演示了一个从数据库中选取最近十条记录,并将它们转换成PDF格式供前端下载的完整后端处理流程。

millerperez的博客 2270

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Itext使用 Java导出PDF

需求:需要将多张二维码输出到pdf中,供前端下载,并在每个二维码下面添加名称信息 itext: 可以帮助我们根据生成pdf文件 maven坐标 <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --> <dependency> <groupId>com.itextpdf&lt...

weixin_44530086的博客 287

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

java使用itext实现把数据库中查到的数据转换成pdf

使用itext实现把数据库中查到的数据转换成pdf 1.导入依赖 <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.10</version> </dependency> <!-- pdf输出中文要用的j

weixin_46421519的博客 1617

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

使用ITEXT与JAVA生成PDF报表

        /** * 生成PDF文件并调用相应的阅读器实现打印预览 * @param listAll 待生成文件的记录 * @param response */ public void createtable(List listAll, HttpServletResponse response) throws IOException { SimpleDateFormat dataF

rongdajian的专栏 3076
下一篇: itext生成txt文件
keithJava
博客等级 码龄16年 2粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值