`

Java操作PDF文件(iText)

    博客分类:
  • java
阅读更多

然jacob中也有关于PDF的方法,但是过于复杂。iText是一个开源的PDF工具,小巧而又便捷。

官方的解释:iText is a library that allows you to generate PDF files . the fly
最新版本为:2.1.5
 
我的开发环境:JDK1.6+MyEclipse7+Tomcat5.5.27
首先在MyEclipse中新建一个项目,名称为iText。
新建一个Class(类)HelloWorld.java ,Package(包)为com.test ,代码如下:
package com.test;    

import java.io.FileOutputStream;    
import java.io.IOException;    

import com.lowagie.text.Document;    
import com.lowagie.text.DocumentException;    
import com.lowagie.text.Paragraph;    
import com.lowagie.text.pdf.PdfWriter;    

public class HelloWorld {    
        /**    
         * 生成一个简单的PDF文件:HelloWorld.pdf    
         *    
         * 作者:小段    
         */
    
        public static void main(String[] args) {    

                System.out.println("Hello World");    
                //第一步:创建一个document对象。    
                Document document = new Document();    
                try {    
                        // 第二步:    
                        // 创建一个PdfWriter实例,    
                        // 将文件输出流指向一个文件。    
                        PdfWriter.getInstance(document,new FileOutputStream("C:\\HelloWorld.pdf"));    

                        // 第三步:打开文档。    
                        document.open();    
                        // 第四步:在文档中增加一个段落。    
                        document.add(new Paragraph("Hello World"+","+"Hello iText"+","+"Hello xDuan"));    
                } catch (DocumentException de) {    
                        System.err.println(de.getMessage());    
                } catch (IOException ioe) {    
                        System.err.println(ioe.getMessage());    
                }    
                // 第五步:关闭文档。    
                document.close();    
                // 检验程序是否正常运行到这里。    
                System.out.println("快去看看吧");    
        }    
}

运行后,控制台输出语句:Hello World     快去看看吧
 
进入C盘根目录,发现生成的HelloWorld.pdf文件,打开文件,看看内容是否正确。
 
Java操作PDF文件测试成功。但是现在我们项目没有任何实际意义。所以我们要添加数据库。
数据库为Oracle10g,用户名sys1,密码abc,表:emp
 
表中数据很多,我在这里就不一一列举了。
 
新建一个Class(类)DB.java ,代码如下:
package com.test;    

import java.io.FileOutputStream;    
import java.io.IOException;    
import java.sql.Connection;    
import java.sql.DriverManager;    
import java.sql.ResultSet;    
import java.sql.Statement;    

import com.lowagie.text.Anchor;    
import com.lowagie.text.Chunk;    
import com.lowagie.text.Document;    
import com.lowagie.text.DocumentException;    
import com.lowagie.text.Paragraph;    
import com.lowagie.text.html.HtmlWriter;    
import com.lowagie.text.pdf.PdfWriter;    

public class DB {    
        /**    
         * 利用iText,将数据库表中的数据写入PDF文件中。    
         *    
         * 作者:小段    
         */
    
        public static void main(String[] args) throws Exception{    

                System.out.println("Hello Oracle");    
                // 第一步:创建一个document对象。    
                Document document = new Document();    
                try {    
                        // 第二步:    
                        // 创建一个PdfWriter实例,    
                        // 将文件输出流指向一个文件。    
                        PdfWriter pdf = PdfWriter.getInstance(document,new FileOutputStream("C:\\DB.pdf"));    
                        // 第三步:打开文档。    
                        document.open();    
                        // 第四步:创建数据库连接        。                
                        Class.forName("oracle.jdbc.driver.OracleDriver");    
                        Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "sys1", "abc");    
                        Statement stmt = conn.createStatement();    
                        ResultSet rs = stmt.executeQuery("select * from emp");    

                        while(rs.next()){        //循环取得所有数据    
                                String s="";    
                                for(int i=1;i<=8;i++){    

                                        s+=rs.getObject(i)==null?"":rs.getObject(i).toString()+"\t";                                
                                }    
                                document.add(new Paragraph(s));    
                        }    
                        document.add(new Paragraph("Hello World"+"     fdgdsf "+"Hello xDuan"));    

                } catch (DocumentException de) {    
                        System.err.println(de.getMessage());    
                } catch (IOException ioe) {    
                        System.err.println(ioe.getMessage());    
                }    

                // 第五步:关闭文档。    
                document.close();    
                System.out.println("快去看看吧");    
        }    
}

运行后,控制台显示信息:Hello Oracle     快去看看吧
 
进入C盘根目录,发现生成了DB.pdf文件,打开看看内容是否正确。
 
成功!这是Java利用iText操作PDF文件,下次我们用另外一个工具BFO,呵呵,不是UFO。
  • 大小: 26.3 KB
  • 大小: 55.6 KB
  • 大小: 111.7 KB
分享到:
评论

相关推荐

    java使用itext实现pdf文件下载

    在Java开发中,生成和处理PDF文档是一项常见的需求。Itext是一个强大的库,它允许开发者在Java环境中创建、编辑和修改PDF文档...通过实践和理解这些示例,你将能够熟练地在Java项目中运用Itext处理PDF文件的下载需求。

    Java_Pdf_itext7-7.0.5

    iText7允许开发者生成、修改和操作PDF文件。 2. **iText7核心概念**:iText7的核心组件包括PdfDocument、PdfWriter、PdfReader和PdfCanvas。PdfDocument代表PDF文档,PdfWriter用于创建新文档或追加到现有文档,Pdf...

    Java操作PDF之iText超入门

    以下代码展示了如何使用iText创建一个简单的PDF文件: ```java import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Paragraph; import ...

    java使用itextpdf、itext-asian对pdf文件加水印

    通过以上步骤,你可以在Java环境中利用iTextPDF和iText-Asian库为PDF文件添加中文水印。这个过程涉及到PDF文档的读取、写入、文本样式设定以及内容的定位,是一个典型的PDF处理应用场景。在实际开发中,你可能需要...

    java通过itext操作pdf模板写入pdf合同数据

    - **保存结果**:完成数据写入后,调用`PdfStamper`的`close()`方法,将更改保存到新的PDF文件中。 5. **示例代码** 下面是一个简单的示例,展示了如何使用iText读取模板并写入数据: ```java PdfReader reader...

    Java生成pdf文件,解决中文乱码问题.pdf

    iText 库是一个流行的 Java 库,用于生成 PDF 文件。它提供了丰富的功能,包括文档结构、字体、颜色、图形等。使用 iText 库可以生成高品质的 PDF 文件,并解决中文乱码问题。 2. 设置中文字体 在生成 PDF 文件时...

    JAVA 操作PDF itext5.05

    自1999年发布以来,IText已成为许多开发人员处理PDF文件的首选工具。它支持多种语言环境,包括中文,并能生成高质量的PDF文件,适用于各种复杂的业务需求。 #### 二、IText 5.0.5版本特点 IText 5.0.5是在IText 5...

    Java实现PDF读写(Itext)与解析XML读写(Dom4j)

    生成PDF文件,引用到的JAR包是itext5.5.1 项目文件为PDFText.java 主要实现功能: 1、创建一个PDF文件:HelloWorld.pdf,给文档设置加密,密码为zhouyl或111 2、将PDF文件压缩成ZIP文件 3、生成一个PDF文件D:\\...

    Java 使用iText7生成带页码的PDF文件(同时生成目录,但是不会合并两个PDF)

    本文将深入探讨如何使用iText7这个库在Java环境中生成带有页码和目录的PDF文件。 iText7是一款功能丰富的PDF处理库,它支持创建、编辑、解析和展示PDF文档。在Java中,我们可以利用iText7轻松地生成具有复杂结构的...

    java操作pdf-itext-jar包(包含多个jar)

    Java操作PDF文件是软件开发中的常见任务,尤其是在生成报告、文档处理或数据分析的场景中。在Java中,iText是一个非常流行的PDF库,它提供了强大的API来创建、修改和读取PDF文档。在这个主题中,我们将深入探讨iText...

    JAVA使用itextpdf实现HTML转PDF

    本主题聚焦于使用Java的iTextPDF库来完成这个任务。iTextPDF是一个强大的Java库,允许开发人员创建、修改和优化PDF文档。 首先,我们需要了解HTML和PDF之间的差异。HTML是一种标记语言,用于构建和设计网页,而PDF...

    itext实现csv文件转PDF文件

    csv数据文件转换成pdf文件 itextpdf-5.1.3.jar iTextAsian.jar

    java Excel文件转PDF文件

    在Java编程环境中,将Excel文件转换为PDF文件是一项常见的任务,尤其在数据报告或文档格式转换的场景下。本文将详细介绍如何使用Apache POI库处理Excel数据,以及使用iText库将这些数据导出为PDF格式。Apache POI是...

    java Itext 将tif转换成PDF 包含多页

    iText是一个开源Java库,主要用于创建、修改和读取PDF文件。它提供了丰富的API,可以方便地进行PDF文档的生成、合并、拆分、加密等操作。在本例中,我们将使用iText来处理多页TIFF转换为多页PDF的需求。 **4. Java ...

    iText_pdf.rar_iText pdf_itext PDF类

    在描述中提到的“iText可以制作中文PDF文件的JAVA源程序”,意味着这个压缩包可能包含示例代码或教程,展示了如何使用iText库在Java程序中创建包含中文字符的PDF文档。通常,处理中文字符需要正确配置字体资源,并...

    java 转PDF格式 iText.zip

    总的来说,iText是Java开发人员生成和操作PDF文档的强大工具。通过熟练掌握其API和用法,你可以创建出满足各种需求的高质量PDF文档。记住,始终参考官方文档和源代码,这将有助于深入理解和优化你的PDF处理代码。

    java生成pdf文件分页输出并添加水印

    本篇文章将深入探讨如何利用Itext库在Java中实现PDF文件的分页输出以及添加水印的功能。 首先,我们需要引入Itext库。你可以通过Maven或Gradle在项目中添加依赖。对于Maven,可以在pom.xml文件中添加以下依赖: ``...

    JAVA基于ITEXT实现的PDF报表系统

    ITEXT库则是JAVA中处理PDF的得力工具,提供了一系列API,使得开发者可以轻松地创建包含文本、图像、表格、超链接等元素的PDF文件。 要使用ITEXT创建PDF报表,首先需要引入相应的依赖。如果你使用的是Maven项目,...

    使用itextpdf将excel转化为pdf + pdf加水印

    TestForExcel2PDF测试类可能包含这样的逻辑:首先,加载Excel文件,然后使用itextpdf的API将工作表的内容转换为PDF页面,最后保存为PDF文件。这个过程中可能涉及到对Excel表格的样式、字体、颜色等元素的保持,以...

    itextpdf.zip(JavaPDF文件生成)

    JavaPDF文件生成是Java开发中一个重要的领域,主要用于创建、编辑和处理PDF文档。iTextPDF是一个流行的开源库,它提供了丰富的API,使得在Java环境中生成高质量的PDF文档变得简单易行。本篇文章将深入探讨如何使用...

Global site tag (gtag.js) - Google Analytics