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的官网如下:
二、示例
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、示例
package com.test.excel; import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; import org.junit.Test; import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter; /**
* 创建PDF
*/
public class PDFCreate { /**
* 创建PDF
*/
@Test
public void createPDF() {
// 页面大小
Rectangle rect = new Rectangle(PageSize.B5.rotate());
// 页面背景色
rect.setBackgroundColor(BaseColor.WHITE);
// 创建一个文档
Document document = new Document(rect);
try {
// 获取PdfWriter实例
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("c:/test/testPdF.pdf")); // PDF版本(默认1.4)
writer.setPdfVersion(PdfWriter.PDF_VERSION_1_7); // 文档属性
document.addTitle("测试文档标题");
document.addAuthor("张三");
document.addSubject("PDF测试");
document.addKeywords("pdf");
document.addCreator("张三"); // 页边空白
document.setMargins(10, 20, 30, 40); // 解决中文支持问题
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
com.itextpdf.text.Font fontChinese = new com.itextpdf.text.Font(bfChinese, 12, com.itextpdf.text.Font.NORMAL); // 标题
Paragraph toptile = new Paragraph("标题", new Font(bfChinese, 14, Font.NORMAL));
toptile.setAlignment(Paragraph.ALIGN_CENTER);
toptile.add(new Paragraph(" ")); Paragraph pragraph = new Paragraph("这是一个段落,这是一个段落,这是一个段落,这是一个段落,这是一个段落,这是一个段落,这是一个段落,这是一个段落,这是一个段落,这是一个段落,这是一个段落", fontChinese);
pragraph.setAlignment(Element.ALIGN_LEFT);
pragraph.add(new Paragraph(" ")); // 添加表格
PdfPTable table = new PdfPTable(4);
String content = "你好 : ";
for (int i = 0; i < 200; i++)
table.addCell(new Phrase(new Chunk(content + i, fontChinese))); // 使用 HttpServletResponse 进行下载
// response.setContentType("application/pdf; charset=UTF-8");
// response.setHeader("Content-Disposition", "inline; filename=" + new String("test.pdf".getBytes(), "UTF-8"));
// PdfWriter.getInstance(document, response.getOutputStream()); // 打开文档
document.open(); // 添加内容
document.add(toptile);
document.add(pragraph);
document.add(table);
// 关闭文档
document.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
itextpd f生成 pdf 文件的更多相关文章
- [轉載]史上最强php生成pdf文件,html转pdf文件方法
之前有个客户需要把一些html页面生成pdf文件,然后我就找一些用php把html页面围成pdf文件的类.方法是可谓是找了很多很多,什么html2pdf,pdflib,FPDF这些都试过了,但是都没有 ...
- 怎么用PHP在HTML中生成PDF文件
原文:Generate PDF from html using PHP 译文:使用PHP在html中生成PDF 译者:dwqs 利用PHP编码生成PDF文件是一个非常耗时的工作.在早期,开发者使用PH ...
- JAVA生成PDF文件
生成PDF文件是主要应用的是ITEXT插件 import java.awt.Color; import java.io.File; import java.io.FileOutputStream; i ...
- 史上最强php生成pdf文件,html转pdf文件方法
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- PHP生成PDF文件。
<?php require_once('TCPDF/tcpdf.php'); //实例化 $pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', fal ...
- 在spring boot 中使用itext和itextrender生成pdf文件
转载请注明出处 https://www.cnblogs.com/majianming/p/9539376.html 项目中需要对订单生成pdf文件,在第一版本其实已经有了比较满意的pdf文档,但是还是 ...
- linux下编译bib、tex生成pdf文件
实验: 在linux环境下,编译(英文)*.bib和*.tex文件,生成pdf文件. 环境: fedora 20(uname -a : Linux localhost.localdomain 3.19 ...
- ThinkPHP3.2.3扩展之生成PDF文件(MPDF)
目前是PHP生成PDF文件最好的插件了,今天介绍下在ThinkPHP3.2.3里如何使用. 先安照路径放好如图. 下面是使用方法 public function pdf(){ //引入类库 Vendo ...
- asp.net生成PDF文件 (1)
asp.net生成PDF文件 (1) 这个是例子是网上淘来的,哈哈,很有用的! 首先要到网上下载itextsharp.dll,然后添加引用,主程序如下: 1 2 3 4 5 6 7 8 9 10 11 ...
随机推荐
- Oracle数据库建表并用SQL编程分等级
--创建学生表create table XS_543 ( XH char(6) not null , XM varchar2(20) not null, ZYM varchar2(10), XB ch ...
- Servlet与多线程与IO操作
1.JVM内存模型相关概念 2.Java多线程并发深入理解 3.Servlet.设计模式.SpringMVC深入理解 4.Java基础遗漏点补充 数据库连接池:JDBC connection pool ...
- SDL教程第一和第二个视频的笔记
观看正月点灯笼的SDL教程,地址http://www.tudou.com/listplay/9eG9tkk91oQ.html #include <stdio.h> #include < ...
- Android library projects cannot be launched
今天我用SDK自带的ApiDemos建了一个工程,运行的时候出现问题,提示:Android library projects cannot be launched 解决办法如下: 右键工程根目录-&g ...
- C#异步下载文件--基于http请求
1.废话不多说,直接上代码: using System; using System.IO; using System.Net; namespace AsyncProgram { class Progr ...
- javaweb学习总结(十一)——使用Cookie进行会话管理
一.会话的概念 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾 ...
- vueJS简单的点击显示与隐藏的效果
目前前端框架太多,接触过angular.ember,现在开始倒腾vue 此处用到v-if.v-else.v-show,v-if或让元素不在DOM上,v-show只是改变display:block属性, ...
- 轻松掌握:JavaScript享元模式
享元模式 在JavaScript中,浏览器特别是移动端的浏览器分配的内存很有限,如何节省内存就成了一件非常有意义的事情.节省内存的一个有效方法是减少对象的数量. 享元模式(Flyweight),运行共 ...
- Quartz.NET---任务调度框架
在我们的程序中,可能经常会遇到"每隔多久执行XXX任务"这样的问题:每天晚上24:00审核用户提交的申请:每隔1分钟去数据库中检索用户是否有新的消息:... ...那么Quar ...
- Double 数据保留两位小数一:五舍六入
package com; public class T2 { public static void main(String[] args) { System.out.println(calculate ...