itextpd f生成 pdf 文件

一、简介
  itextpdf 是一个开源的允许你去创建和操作PDF文档的库。它使的开发者可以提高web和其他应用来动态地生成或操作PDF文档。通过iText 中的Document和PdfWriter类,我们可以以数据库、xml文件、或者其他数据源为源头创建PDF文档。有如下三种方式:

  • 使用高级别的对象如Chunk,Phrase,Paragraph,List等待。这些对象通常被称为iText的基本构建块。
  • 使用低级别的功能。使用pdfContentByte,由一系列的类映射到每一个操作符的方法,操作数可以在Adobe的成像模型。这个类也有很多便利的方法来画弧线,圆形、矩形和文本在绝对位置。
  • 使用Java版本的iText的抽象类Graphics2D的实现类PdfGraphics2D(在iTextSharp中不可用)。

iText附带大量的类,支持不同的图像类型,颜色空间、字体、便携式集合。有功能的提高可访问性的PDF文件,以确保PDF是可用的、等等。itextpdf的官网如下:

http://www.itextpdf.com/

二、示例
  1、相关依赖如下:

<!-- pdf -->
<dependency>
     <groupId>com.itextpdf</groupId>
     <artifactId>itextpdf</artifactId>
     <version>5.5.6</version>
     <type>jar</type>
   </dependency>

   <dependency>
<groupId>com.itextpdf.tool</groupId>
    <artifactId>xmlworker</artifactId>
    <version>5.5.6</version>
</dependency>
<!-- 中文支持 -->
<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itext-asian</artifactId>
    <version>5.2.0</version>
</dependency>

  2、示例

  1 package com.test.excel;
  2
  3 import java.io.FileNotFoundException;
  4 import java.io.FileOutputStream;
  5 import java.io.IOException;
  6
  7 import org.junit.Test;
  8
  9 import com.itextpdf.text.BaseColor;
 10 import com.itextpdf.text.Chunk;
 11 import com.itextpdf.text.Document;
 12 import com.itextpdf.text.DocumentException;
 13 import com.itextpdf.text.Element;
 14 import com.itextpdf.text.Font;
 15 import com.itextpdf.text.PageSize;
 16 import com.itextpdf.text.Paragraph;
 17 import com.itextpdf.text.Phrase;
 18 import com.itextpdf.text.Rectangle;
 19 import com.itextpdf.text.pdf.BaseFont;
 20 import com.itextpdf.text.pdf.PdfPTable;
 21 import com.itextpdf.text.pdf.PdfWriter;
 22
 23 /**
 24  * 创建PDF
 25  */
 26 public class PDFCreate {
 27
 28     /**
 29      * 创建PDF
 30      */
 31     @Test
 32     public void createPDF() {
 33         // 页面大小
 34         Rectangle rect = new Rectangle(PageSize.B5.rotate());
 35         // 页面背景色
 36         rect.setBackgroundColor(BaseColor.WHITE);
 37         // 创建一个文档
 38         Document document = new Document(rect);
 39         try {
 40             // 获取PdfWriter实例
 41             PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("c:/test/testPdF.pdf"));
 42
 43             // PDF版本(默认1.4)
 44             writer.setPdfVersion(PdfWriter.PDF_VERSION_1_7);
 45
 46             // 文档属性
 47             document.addTitle("测试文档标题");
 48             document.addAuthor("张三");
 49             document.addSubject("PDF测试");
 50             document.addKeywords("pdf");
 51             document.addCreator("张三");
 52
 53             // 页边空白
 54             document.setMargins(10, 20, 30, 40);
 55
 56             // 解决中文支持问题
 57             BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
 58             com.itextpdf.text.Font fontChinese = new com.itextpdf.text.Font(bfChinese, 12, com.itextpdf.text.Font.NORMAL);
 59
 60             // 标题
 61             Paragraph toptile = new Paragraph("标题", new Font(bfChinese, 14, Font.NORMAL));
 62             toptile.setAlignment(Paragraph.ALIGN_CENTER);
 63             toptile.add(new Paragraph("   "));
 64
 65
 66             Paragraph pragraph = new Paragraph("这是一个段落,这是一个段落,这是一个段落,这是一个段落,这是一个段落,这是一个段落,这是一个段落,这是一个段落,这是一个段落,这是一个段落,这是一个段落", fontChinese);
 67             pragraph.setAlignment(Element.ALIGN_LEFT);
 68             pragraph.add(new Paragraph("   "));
 69
 70
 71
 72             // 添加表格
 73             PdfPTable table = new PdfPTable(4);
 74             String content = "你好 : ";
 75             for (int i = 0; i < 200; i++)
 76                 table.addCell(new Phrase(new Chunk(content + i, fontChinese)));
 77
 78             // 使用 HttpServletResponse 进行下载
 79 //            response.setContentType("application/pdf; charset=UTF-8");
 80 //            response.setHeader("Content-Disposition", "inline; filename=" + new String("test.pdf".getBytes(), "UTF-8"));
 81 //            PdfWriter.getInstance(document, response.getOutputStream());
 82
 83             // 打开文档
 84             document.open();
 85
 86             // 添加内容
 87             document.add(toptile);
 88             document.add(pragraph);
 89             document.add(table);
 90             // 关闭文档
 91             document.close();
 92         } catch (FileNotFoundException e) {
 93             e.printStackTrace();
 94         } catch (DocumentException e) {
 95             e.printStackTrace();
 96         } catch (IOException e) {
 97             e.printStackTrace();
 98         }
 99     }
100 }
时间: 2024-09-29 10:30:02

itextpd f生成 pdf 文件的相关文章

怎么用PHP在HTML中生成PDF文件

原文:Generate PDF from html using PHP 译文:使用PHP在html中生成PDF 译者:dwqs 利用PHP编码生成PDF文件是一个非常耗时的工作.在早期,开发者使用PHP并借助FPDF来生成PDF文件.但是如今,已经有很多函数库可以使用了,并且能够从你提供的HTML文件生成PDF文档.这让原先耗时的工作变得非常简单了. FPDF是很早就被使用的,其特点如下: FPDF FPDF是一个允许使用纯PHP生成PDF文档的PHP类,换句话说,没有使用PDFlib 函数库.

史上最强php生成pdf文件,html转pdf文件方法

之前有个客户需要把一些html页面生成pdf文件,然后我就找一些用php把html页面围成pdf文件的类.方法是可谓是找了很多很多,什么html2pdf,pdflib,FPDF这些都试过了,但是都没有达到我要的求. pdflib,FPDF 这两个方法是需要编写程序去生成pdf的,就也是讲不支持直接把html页面转换成pdf:html2pdf这个虽然可以把html页面转换成pdf文 件,但是它只能转换一般简单的html代码,如果你的html内容要的是通过后台新闻编辑器排版的那肯定不行的. 纠结了半

JAVA生成PDF文件

生成PDF文件是主要应用的是ITEXT插件 1 import java.awt.Color; 2 import java.io.File; 3 import java.io.FileOutputStream; 4 import java.io.IOException; 5 import java.util.ArrayList; 6 import java.util.List; 7 8 import com.lowagie.text.Cell; 9 import com.lowagie.text.

[轉載]史上最强php生成pdf文件,html转pdf文件方法

之前有个客户需要把一些html页面生成pdf文件,然后我就找一些用php把html页面围成pdf文件的类.方法是可谓是找了很多很多,什么html2pdf,pdflib,FPDF这些都试过了,但是都没有达到我要的求. pdflib,FPDF 这两个方法是需要编写程序去生成pdf的,就也是讲不支持直接把html页面转换成pdf:html2pdf这个虽然可以把html页面转换成pdf文 件,但是它只能转换一般简单的html代码,如果你的html内容要的是通过后台新闻编辑器排版的那肯定不行的. 纠结了半

最有效的php生成pdf文件的方法,html转pdf文件方法

之前有个客户需要把一些html页面生成pdf文件,然后我就找一些用php把html页面围成pdf文件的类.方法是可谓是找了很多很多,什么html2pdf,pdflib,FPDF这些都试过了,但是都没有达到我要的求. pdflib,FPDF这两个方法是需要编写程序去生成pdf的,就也是讲不支持直接把html页面转换成pdf:html2pdf这个虽然可以把html页面转换成pdf文件,但是它只能转换一般简单的html代码,如果你的html内容要的是通过后台新闻编辑器排版的那肯定不行的. 纠结了半天,

thinkphp整合系列之tcpdf类生成pdf文件

php生成pdf文件的需求是不怎么常见的:当然也是有的: 既然已经整合使用了:那就写篇博客来讲解下吧: 示例项目:http://git.oschina.net/shuaibai123/thinkphp-bjyadmin 一:引入tcpdf /ThinkPHP/Library/Vendor/Tcpdf 把tcpdf整个目录拷到自己的项目中: 二:函数 /Application/Common/Common/function.php /** * 生成pdf * @param  string $html

.NET生成PDF文件

C#未借助第三方组件,自己封装通用类,生成PDF文件. 调用方式: //路径 string path = @"C:\yuannwu22.pdf"; //内容 string strContent = "ddd3232342434d"; new PDFGenerator.PDFGenerator(path, strContent).Create(); 下载地址: http://pan.baidu.com/s/1kTIchev?

ThinkPHP3.2.3扩展之生成PDF文件(MPDF)

目前是PHP生成PDF文件最好的插件了,今天介绍下在ThinkPHP3.2.3里如何使用. 先安照路径放好如图. 下面是使用方法 public function pdf(){ //引入类库 Vendor('mpdf.mpdf'); //设置中文编码 $mpdf=new \mPDF('zh-cn','A4', 0, '宋体', 0, 0); //html内容 $html='<h1><a name="top"></a>一个PDF文件</h1>

MFC使用Haru free pdf lib生成pdf文件

MFC使用Haru free pdf lib生成pdf文件 我们先创建一个项目MFCPDFDemo,在上面添加一个编辑框和一个按钮: haru free pdf类库下载地址 这里直接下载dll,如果想以静态库的方式使用,得下载源码自己编译.然后把这个dll添加到项目中,怎么添加就不说了吧,还是说一下吧,万一有新手看不懂呢.解压后我们要用到三个东西:libhpdf.dlllibhpdf.libinclude整个文件夹解压后复制libhpdf.dll到项目的release和debug目录下:libh