您现在的位置是:亿华云 > IT科技
Java操作PDF文件,竟然如此简单
亿华云2025-10-09 06:54:13【IT科技】5人已围观
简介maven 依赖使用 iText 的时候需要用 maven 依赖如下:<dependency><groupId>com.itextpdf</groupId><
maven 依赖
使用 iText 的操作时候需要用 maven 依赖如下:
<dependency> <groupId>com.itextpdf</groupId> <artifactId>itext7-core</artifactId> <version>7.2.0</version> <type>pom</type> </dependency>简单实例
建立 PDF 需要 4 个步骤:
创建 一个 PdfWriter,用于定义 pdf 的竟简单路径地址 创建一个 pdf 文档,Document,操作与 PdfWriter 关联 向文档中添加内容 关闭文档下面从 hello world 开始。竟简单
import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Paragraph; public class PDFDemo { public static void main(String[] args) { try{ PdfWriter pdfWriter = new PdfWriter("./demo.pdf"); PdfDocument pdfDocument = new PdfDocument(pdfWriter); Document document = new Document(pdfDocument); document.add(new Paragraph("Hello World")); document.close(); }catch(Exception e){ e.printStackTrace(); } } }示例结果:
中文
iText 不支持默认是操作不支持中文字体的,企商汇所以需要定义 PdfFont 中文字体样式。竟简单使用 PdfFontFactory 的操作 createFont 创建一个中文字体,并将中文字体设置到 document 中。竟简单
public static void main(String[] args) { try{ PdfWriter pdfWriter = new PdfWriter("./demo1.pdf"); PdfDocument pdfDocument = new PdfDocument(pdfWriter); //字体文件可以使用 windows 系统中的操作 PdfFont font = PdfFontFactory.createFont("E:\\pdfProject\\src\\main\\java\\simhei.ttf"); Document document = new Document(pdfDocument).setFont(font); document.add(new Paragraph("Hello World!你好,itext")); document.close(); }catch(Exception e){ e.printStackTrace(); } }示例结果:
表格
在项目中经常需要 PDF 文件中打印表格,这时就可以使用 Table 对象,竟简单创建一个个单元格并将表格内容写入单元格中。源码下载操作
public static void main(String[] args) { try{ PdfWriter pdfWriter = new PdfWriter("./demo2.pdf"); PdfDocument pdfDocument = new PdfDocument(pdfWriter); PdfFont font = PdfFontFactory.createFont("E:\\pdfProject\\src\\main\\java\\simhei.ttf"); Document document = new Document(pdfDocument).setFont(font); Table table = new Table(4); table.setWidth(500); table.addHeaderCell("header 1").addHeaderCell("header 2").addHeaderCell("header 3").addHeaderCell("header 4"); for(int i = 0; i < 16; i++) { table.addCell("cell " + i); } document.add(table); document.close(); }catch(Exception e){ e.printStackTrace(); } }示例结果:
图片
图片的竟简单设置也很简单,创建 Image 对象填充到 document 中就可以了。操作
public static void main(String[] args) { try{ PdfWriter pdfWriter = new PdfWriter("./demo3.pdf"); PdfDocument pdfDocument = new PdfDocument(pdfWriter); PdfFont font = PdfFontFactory.createFont("E:\\pdfProject\\src\\main\\java\\simhei.ttf"); Document document = new Document(pdfDocument).setFont(font); Image img = new Image(ImageDataFactory.create("E:\\pdfProject\\src\\main\\java\\img.png")); document.add(img.setAutoScale(true)); document.close(); }catch(Exception e){ e.printStackTrace(); } }示例结果:
总结
本文从 iText 最基本的竟简单用法,分别介绍从表格,操作图片,中文来介绍 iText,希望能够帮助到你。云南idc服务商
很赞哦!(48)
相关文章
- 打开https://www.aizhan.com/输入自己想要查询的域名然后按回车键,如果做过网站都会有数据显示出来
- 如何使用人工智能创建蛋白质形状的语言
- 相聚IDC产业年度大典 华为低碳数据中心论坛成功举办
- 戴尔科技 SSD盘寿命会有用尽的情况?
- 3.dns修改成功后,点击“域名解析”,按提示进行操作。解析格式一般如下:
- 使用SSL配置Nginx反向代理的简单指南
- 分布式数据中心面临的四大挑战
- ES的跨索引查询有多便利?对比下分库分表、分片更直观
- 因为域名解析需要同步到DNS根服务器,而DNS根服务器会不定时刷,只有DNS根服务器刷新后域名才能正常访问,新增解析一般会在10分钟左右生效,最长不会超过24小时,修改解析时间会稍微延长。
- Zabbix 5.2由浅入深系列之邮箱告警