ITEXT操作PDF

ITEXT操作PDF,非常简单:

(本方法使用itext1.0.4版本,高版本的itext5.5.0同样兼容,改变一下导入包路径就好了)

1,HELLOWORLD项目

package demo;

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

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.BaseFont;
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 {    
                //使用本地字库宋体simsun
                	BaseFont bfChinese = BaseFont.createFont("c://windows//fonts//simsun.ttc,1",
                            BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
                	Font fontChinese = new Font(bfChinese, 12, Font.NORMAL);
                //使用itext提供的字体,额外需要下载itextasion.jar,此方法因为itextasion有几个版本,所以很难成功
//                	BaseFont bfChinese = BaseFont.createFont("STSong-Light",
//                		    "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
//                		  com.lowagie.text.Font fontChinese = new com.lowagie.text.Font(bfChinese, 12,
//                		    com.lowagie.text.Font.NORMAL);
//                        // 第二步:    
                        // 创建一个PdfWriter实例,    
                        // 将文件输出流指向一个文件。    
                        PdfWriter.getInstance(document,new FileOutputStream("C:\\HelloWorld.pdf"));    

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

创建很简单,难点在于显示中文,最好的方法就是使用本地字库,因为大部分电脑都有宋体;

2,创建表格:

package demo;

import java.awt.Color;
import java.io.FileOutputStream;    
import java.io.IOException;    

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.BaseFont;
import com.lowagie.text.pdf.PdfPCell;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.pdf.PdfWriter;  

public class Table {

	 
	 public static void main(String[] args) {

	  System.out.println("My First PdfPTable");

	  // 步骤 1: 创建一个document对象
	  Document document = new Document();

	  try {
		//使用本地中文字体,simsun.ttc是本地的宋体
      	BaseFont bfChinese = BaseFont.createFont("c://windows//fonts//simsun.ttc,1",
                BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
    	Font fontChinese = new Font(bfChinese, 12, Font.NORMAL);
	   // 步骤 2:
	   // 我们为document创建一个监听,并把PDF流写到文件中
	   PdfWriter.getInstance(document, new FileOutputStream("c:\\MyFirstTable.pdf"));

	   // 步骤 3:打开文档
	   document.open();
	   //创建一个有3列的表格
	   PdfPTable table = new PdfPTable(3);
	   //定义一个表格单元
	   PdfPCell cell = new PdfPCell(new Paragraph("显示中文标题,成功",fontChinese));
	   //定义一个表格单元的跨度
	   cell.setColspan(3);
	   //把单元加到表格中
	   table.addCell(cell);
	   //把下面这9项顺次的加入到表格中,当一行充满时候自动折行到下一行
	   table.addCell("1.1");
	   table.addCell("2.1");
	   table.addCell("3.1");
	   table.addCell("1.2");
	   table.addCell("2.2");
	   table.addCell("3.2");
	   table.addCell("1.3");
	   table.addCell("2.3");
	   table.addCell("3.3");
	   //重新定义单元格
	   cell = new PdfPCell(new Paragraph("cell test1"));
	   //定义单元格的框颜色
	   cell.setBorderColor(new Color(255, 0, 0));
	   //把单元格加到表格上,默认为一个单元
	   table.addCell(cell);
	   //重新定义单元格
	   cell = new PdfPCell(new Paragraph("cell test2"));
	   //定义单元格的跨度
	   cell.setColspan(2);
	   //定义单元格的背景颜色
	   cell.setBackgroundColor(new Color(0xC0, 0xC0, 0xC0));
	   //增加到表格上
	   table.addCell(cell);
	   //增加到文档中
	   document.add(table);
	  } catch (DocumentException de) {
	   System.err.println(de.getMessage());
	  } catch (IOException ioe) {
	   System.err.println(ioe.getMessage());
	  }

	  // 步骤 5:关闭文档
	  document.close();
	 }
	}
时间: 2024-12-25 18:43:05

ITEXT操作PDF的相关文章

itext操作pdf文件

itext操作pdf模板: 1.首先使用excel制作好模板文件,将模板文件转换为pdf格式文件. 2.使用Adobe Acrobat XI Pro工具打开pdf文件,在需要的位置添加文本域.(工具-->表单-->编辑) 3.对每个文本域设置文本域属性,为其命名.如title.desion_no等. 4.通过itext方式操作文本域,为期赋值,并重新生成pdf文件. 1 package com.pcm.app.transfer; 2 3 import java.io.ByteArrayOutp

itext操作PDF文件添加水印

功能描述:添加图片和文字水印 1 /** 2 * 3 * [功能描述:添加图片和文字水印] [功能详细描述:功能详细描述] 4 * @param srcFile 待加水印文件 5 * @param destFile 加水印后存放地址 6 * @param text 加水印的文本内容 7 * @param textWidth 文字横坐标 8 * @param textHeight 文字纵坐标 9 * @throws Exception 10 */ 11 public void addWaterMa

asp.net for itext 操作pdf

今天分享下昨天做的一个东西 asp.net 的文件 zip 批量下载,首先你需要去 到http://dotnetzip.codeplex.com这个站点下载zip 的包,在里面找到 Ionic.Zip.dll 引用到你的项目中去 /// <summary> /// 批量zip下载 /// </summary> /// <param name="Listimg">这里Listimg 是一个数组类型</param> public void C

转 Java操作PDF之iText详细入门

转 Java操作PDF之iText详细入门 2016年08月08日 11:06:00 阅读数:19490 iText是著名的开放项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转化为PDF文件. http://itextpdf.com/ 版本:itextpdf-5.2.1.jar 1.生成一个PDF Java代码   //Step 1-Create a Document. Document document = new 

Itext简绍及操作PDF文件

iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转化为PDF文件. iText的安装非常方便,下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用iText类库了. iTextAsian.jar (亚洲语言包,可以使用中文) 需要添加到工程中 使用时需要在系统的环境变量Path中加入iTe

iText编辑Pdf模板

本文讲述如何操作PDF模板生成PDF文件. 1.由Word 文档生成PDF模板 工具:Microsoft Office Word , AdobeAcrobat_2015.exe(安装好后是 Adobe Acrobat DC 程序) 根据已有的word文档,用Adobe Acrobat DC通过调用word文档创建表单,Adobe Acrobat DC会自动向word文档中的填写项生成文本域表单.这些表单就是要生成的PDF模板中要改变的值,不够的地方可动态添加文本域表单.将带文本域表单的文件保存为

[PDFBox]后台操作pdf的工具类

PDFBox是Apache下的一个操作pdf的类库.其也提供了一个命令行的工具,也提供了java调用的第三方类库. 下载地址:https://pdfbox.apache.org/ 下面的实验基于JDK8+pdfbox-2.0.13.jar+pdfbox-app-2.0.13.jar(命令行工具库) 1.命令行使用 文档参考:https://pdfbox.apache.org/2.0/commandline.html 命令行工具可以提取pdf中的图片.文本,合并pdf与拆分pdf,pdf转换为图片

IText转PDF秒会

 IText转PDF秒会 最近在开发过程中,碰到了这样的需求:将图片及相关文字信息,按视觉标准,排版后直接转成PDF.因为之前没接触过,乍一听很懵,感觉会很难.但经过一番网上搜索学习后,发现其实很简单! (一)Maven引入依赖 注意:一定要按此版本号引入,不然会出现很多错误,包括"中文乱码.中文不输出或直接报错"等异常! <dependency> <groupId>com.itextpdf</groupId> <artifactId>i

iText导出pdf、word、图片

一.前言 在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示或下载得到生成的报表,这样就很好的解决了B/S系统的报表处理问题. 二.iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转化为PDF文件. iText的