iText是一个开发源代码的项目,你可以使用iText方便的实现PDF的输出。
一、iText的下载:
你可以在 http://www.lowagie.com/iText/ 查看关于iText的相关信息,包括源代码,文档..
1. itext-src-1.4.zip(源代码)
http://jaist.dl.sourceforge.net/sourceforge/itext/itext-src-1.4.zip
2. itext-1.4.jar(可以直接导入的jar文件)
http://jaist.dl.sourceforge.net/sourceforge/itext/itext-1.4.jar
3. 亚洲语言包
http://itextdocs.lowagie.com/downloads/iTextAsian.jar (或者)
http://itextdocs.lowagie.com/downloads/iTextAsianCmaps.jar
二、示例程序:
首先把上面的这几个jar包的完整路径添加到环境变量 classpath 中,然后再下面的程序
中导入相应的包
/**
* HelloWorld.java
*/
import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.*;
import com.lowagie.text.pdf.PdfWriter;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
// 创建一个Document对象
Document document = new Document();
try
{
// 生成名为 HelloWorld.pdf 的文档
PdfWriter.getInstance(document, new FileOutputStream("HelloWorld.pdf"));
// 添加PDF文档的一些信息
document.addTitle("Hello World example");
document.addAuthor("Bruno Lowagie");
document.addSubject("This example explains how to add metadata.");
document.addKeywords("iText, Hello World, step 3, metadata");
document.addCreator("My program using iText");
// 打开文档,将要写入内容
document.open();
// 插入一个段落
document.add(new Paragraph("Hello World!"));
}
catch (DocumentException de)
{
System.err.println(de.getMessage());
}
catch (IOException ioe)
{
System.err.println(ioe.getMessage());
}
// 关闭打开的文档
document.close();
}
}
编译运行以后,我们可以在运行的目录发现生成的HelloWorld.pdf,打开可以看到我们写的文字:
Hello World
三、中文问题:
由于iText不支持东亚语言,我们下载了iTextAsian.jar 以后,就可以在PDF里面写中文:
/**
* AsianTest.java
*/
import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.*;
import com.lowagie.text.pdf.PdfWriter;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.Font;
import java.awt.Color;
public class AsianTest{
public static void main(String[] args) {
// 创建一个Document对象
Document document = new Document();
try
{
// 生成名为 AsianTest.pdf 的文档
PdfWriter.getInstance(document, new FileOutputStream("AsianTest.pdf"));
/** 新建一个字体,iText的方法
* STSongStd-Light 是字体,在iTextAsian.jar 中以property为后缀
* UniGB-UCS2-H 是编码,在iTextAsian.jar 中以cmap为后缀
* H 代表文字版式是 横版, 相应的 V 代表 竖版
*/
BaseFont bfChinese = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", false);
Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.GREEN);
// 打开文档,将要写入内容
document.open();
// 插入一个段落
Paragraph par = new Paragraph("我们",fontChinese);
document.add(par);
}
catch (DocumentException de)
{
System.err.println(de.getMessage());
}
catch (IOException ioe)
{
System.err.println(ioe.getMessage());
}
// 关闭打开的文档
document.close();
}
}
就可以显示中文了。
四、其他问题:(应导入相应的包)
1. 换页:
document.newPage();
2. 表格:
// 设置 Table
Table aTable = new Table(3);
int width[] = {25,25,50};
aTable.setWidths(width);
aTable.setWidth(80); // 占页面宽度 80%
aTable.setDefaultHorizontalAlignment(Element.ALIGN_LEFT);
aTable.setDefaultVerticalAlignment(Element.ALIGN_MIDDLE);
aTable.setAutoFillEmptyCells(true); //自动填满
aTable.setPadding(1);
aTable.setSpacing(1);
aTable.setDefaultCellBorder(0);
aTable.setBorder(0);
Cell cell = new Cell(new Phrase("这是一个测试的 3*3 Table 数据", fontChinese ));
cell.setVerticalAlignment(Element.ALIGN_TOP);
cell.setRowspan(3);
aTable.addCell(cell);
aTable.addCell(new Cell("#1"));
aTable.addCell(new Cell("#2"));
aTable.addCell(new Cell("#3"));
aTable.addCell(new Cell("#4"));
aTable.addCell(new Cell("#5"));
aTable.addCell(new Cell("#6"));
document.add(aTable);
3. 图片:
// 可以是绝对路径,也可以是URL
Image img = Image.getInstance("logo.gif");
// Image image = Image.getInstance(new URL(http://xxx.com/logo.jpg));
img.setAbsolutePosition(0, 0);
document.add(img);
分享到:
相关推荐
com.itextpdf.itextpdf.5.5.13.3 相关jar包和包含源码jar包 <groupId>com.itextpdf</groupId> <artifactId>itextpdf <version>5.5.13.3 下载地址为: ...
itextpdf-5.5.13 jar 含详细用法的demo itext5生成PDF文件用PdfWriter
itextpdf 简单中文文档
itextpdf-5.1.0.jar itextpdf jar; 使用java生成pdf文档需要使用该jar包
itextpdf不同版本的jar包,web项目生成pdf文档所需要的引用的jar包,可选多个版本。对应文章《web项目pdf文本生成(itextpdf实现)》
itext-5 jar包,使用例子:https://developers.itextpdf.com/itext-5-examples; 官方下载地址:https://developers.itextpdf.com/downloads (觉得有帮助的话,可以选择下载,友情打赏1积分)
itextpdf中绝对位置添加文本,也可以进行多页设置。pdf插入文本
Java使用iText PDF插件导出PDF文档时,需引入中文字体文件,并创建不同大小风格的中文字体
java使用itextpdf、itext-asian对pdf文件加中文文字水印,此demo只提供参考,希望给需要的朋友带来帮助,谢谢支持!
将word转换成pdf确实有很多种方案!最近正好需要做一个这样的功能,需求是将word模板进行签名后转换为pdf。...这里记录一下最终的方案:利用poi+itextpdf进行word转pdf。此资源按包含源码和maven依赖。
包含 itext-asian-5.2.0.jar itextpdf-5.5.5.jar
iTextpdf 通过本jar包,android 可以创建便捷PDF。 操作已经修改PDF模板显示内容等。 不用积分,大家免费下载。
适用于android,编译提示有问题的话,在app的Build.gradle的android下加如下代码: packagingOptions { exclude 'com/itextpdf/text/pdf/fonts/cmap_info.txt' }
itextpdf-5.5.9.jar对应的中文支持包,亲测过,没有问题
java 利用利用poi+itextpdf进行word转pdf,里面有源码和依赖还有效果图,无需安装插件,感觉是一种比较好的方法
itextpdf-5.5.1 +itext-asian-5.2.0 两个测试运行过,建议大家使用第二种或者第三种字体,原因第一种字体导出后英文有点看起来别扭,可读性不高
官方最新itextpdf-5.5.8.jar+中文支持包itext-asian.jar
itextpdf-5.4.3.jar 使用java生成pdf文档需要使用该jar包
在已有pdf文件中,指定页及绝对位置添加图片(包含itextpdf.jar及实例)
* 提供的方法 * 1、pdf追加pdf * 2、pdf插入pdf 指定序列号下 * 3、删除pdf的某页 * 4、图片转pdf * 5、读取pdf文本 * 6、交换pdf页号 * 7、生成pdf目录(未... <artifactId>itextpdf <version>5.5.12 </dependency>