博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iText PDF实战:目录及Helloworld
阅读量:4029 次
发布时间:2019-05-24

本文共 2081 字,大约阅读时间需要 6 分钟。

首先感谢Bruno  Lowagie

本文是对iText in Action 这本书的学习记录,由于原书是英文版,还附带自己的一些自己的翻译理解,方便以后查阅以及做一些分享。

目录简览

第一部分:从零开始:创建PDF文档

1. PDF以及iText介绍

2.使用iText的基础构建块

3.通过相对定位的方式,添加内容

4.采用表格来组织内容

5.表格、单元格、页面事件

第二部分:处理已有PDF文档

6.高效使用已有PDF文档

7.构建可交互的PDF文档

8.填充交互式表单

第三部分:必要的iText技术

9.在Web程序里集成iText

10.在文档中使用颜色和头像

11.选择正确的字体

12.保护文档

第四部分:高级部分

13.由表及里看PDF

14.PDF图像模型

15.PDF的内容和结构

16.PDF流

创建PDF文档

其实,在我们的系统中涉及到多字体混排报表,如藏文汉文,所以用到了iText,这是目前的一种解决方案(其他方案,待探索),下面实现多字体版HelloWorld

首先导入iTextpdf.jar包,以及可选的导入xmlworker.jar或者使用新版xfaworker.jar。

HelloWorldPdf.java如下

package pdf.helloworld;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import com.itextpdf.text.Chunk;import com.itextpdf.text.Document;import com.itextpdf.text.DocumentException;import com.itextpdf.text.Font;import com.itextpdf.text.FontFactory;import com.itextpdf.text.Paragraph;import com.itextpdf.text.pdf.BaseFont;import com.itextpdf.text.pdf.PdfWriter;/** * @author xiele * @date 2014-8-16 */public class HelloWorldPdf {	public static final String BASE_DIR = "PDF\\InAction\\";	public static final Font STKAIti = FontFactory.getFont("stkaiti.ttf",			BaseFont.IDENTITY_H, BaseFont.EMBEDDED);	public static final Font HIMALAYA = FontFactory.getFont("himalaya.ttf",			BaseFont.IDENTITY_H, BaseFont.EMBEDDED);	static {		File f = new File(BASE_DIR);		if (!f.exists()) {			f.mkdirs();		}	}	public static void main(String[] args) throws DocumentException,			IOException {		new HelloWorldPdf().createPdf(BASE_DIR + "helloworld.pdf");	}	public void createPdf(String filename) throws DocumentException,			IOException {		// step1		Document document = new Document();		// step2		PdfWriter.getInstance(document, new FileOutputStream(filename));		// step3		document.open();		// step4		Chunk c = new Chunk("Hello,World");		Paragraph p = new Paragraph(c);		p.add(Chunk.NEWLINE);		Chunk han = new Chunk("你好世界", STKAIti);		p.add(han);		p.add(Chunk.NEWLINE);		Chunk hi = new Chunk("ནིམའོསམི་སའབསདབབདའདསབའདབ", HIMALAYA);		p.add(hi);		document.add(p);		document.close();	}}
PS:此处用到了楷体字体和喜马拉雅字体,分别提供中文和藏文显示,可自行在系统的Font目录下找到,copy到src类路径下就OK。

转载地址:http://wrlbi.baihongyu.com/

你可能感兴趣的文章
01Java基础语法-15.for循环结构
查看>>
01Java基础语法-16. while循环结构
查看>>
01Java基础语法-17. do..while循环结构
查看>>
01Java基础语法-18. 各种循环语句的区别和应用场景
查看>>
01Java基础语法-19. 循环跳转控制语句
查看>>
Django框架全面讲解 -- Form
查看>>
socket,accept函数解析
查看>>
今日互联网关注(写在清明节后):每天都有值得关注的大变化
查看>>
”舍得“大法:把自己的优点当缺点倒出去
查看>>
[今日关注]鼓吹“互联网泡沫,到底为了什么”
查看>>
[互联网学习]如何提高网站的GooglePR值
查看>>
[关注大学生]求职不可不知——怎样的大学生不受欢迎
查看>>
[关注大学生]读“贫困大学生的自白”
查看>>
[互联网关注]李开复教大学生回答如何学好编程
查看>>
[关注大学生]李开复给中国计算机系大学生的7点建议
查看>>
[关注大学生]大学毕业生择业:是当"鸡头"还是"凤尾"?
查看>>
[茶余饭后]10大毕业生必听得歌曲
查看>>
gdb调试命令的三种调试方式和简单命令介绍
查看>>
C++程序员的几种境界
查看>>
VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
查看>>