最近研究用java生成word文档,原来打算用poi的,但是在word2003下乱码,因为rtf格式用word也可以打开,itext对这个的支持不错,下面是它的一个简单例子。
1.需要的包
(1)itext-2.0.4.jar
(2)iTextAsian.jar
2.源码
import java.awt.Color;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.Cell;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Element;
import com.lowagie.text.Font;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Table;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.rtf.RtfWriter2;
/**
* @author new
*/
public class RtfMain
{
private static final String FILE_NAME = "e:/itext_rtf.rtf";
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
try
{
RtfMain rtfMain = new RtfMain();
rtfMain.createRTFContext(FILE_NAME);
}
catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (DocumentException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void createRTFContext(String path)throws DocumentException,
IOException
{
Document document = new Document(PageSize.A4);
RtfWriter2.getInstance(document, new FileOutputStream(path));
document.open();
//设置中文字体
BaseFont bfChinese = BaseFont.createFont("STSongStd-Light",
"UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
//标题字体风格
Font titleFont= new Font(bfChinese, 12, Font.BOLD);
//正文字体风格
Font contextFont= new Font(bfChinese, 10, Font.NORMAL);
Paragraph title = new Paragraph("标题");
//设置标题格式对齐方式
title.setAlignment(Element.ALIGN_CENTER);
title.setFont(titleFont);
document.add(title);
String contextString = "iText是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的。它的类库尤其与java Servlet有很好的给合。使用iText与PDF能够使你正确的控制Servlet的输出。";
Paragraph context = new Paragraph(contextString);
//正文格式左对齐
context.setAlignment(Element.ALIGN_LEFT);
context.setFont(contextFont);
//离上一段落(标题)空的行数
context.setSpacingBefore(20);
//设置第一行空的列数
context.setFirstLineIndent(20);
document.add(context);
// //在表格末尾添加图片
// Image png=Image.getInstance("d:\\duck.jpg");
// document.add(png);
document.close();
}
}
分享到:
相关推荐
这段代码会生成一个名为"output.rtf"的RTF文件,包含两个独立的部分,每个部分都有一个段落。 在实际应用中,iText还可以用于插入图像、创建表格、设置字体样式和颜色、创建书签、添加超链接、创建电子签名等功能,...
2. **报告生成**:开发者可以利用iText动态生成包含复杂布局和数据的PDF报告,而iText-RTF则可以确保这些报告在不支持PDF的环境中仍能以RTF格式查看。 3. **文档迁移**:在需要将大量PDF文档迁移到其他文档管理系统...
总结起来,使用iText生成Word文件是一项实用的技能,尤其在需要程序自动化生成报告或文档的场合。通过理解和熟练运用iText,你可以轻松地将数据转换为专业格式的文档,提高工作效率。对于那些需要处理大量文本和格式...
通常,开发者会使用其他库,如Apache POI,来创建Excel文档,然后结合iText生成PDF。具体实现会涉及到创建`HSSFWorkbook`或`XSSFWorkbook`对象,添加`Sheet`,`Row`和`Cell`,设置样式和数据,最后将工作簿写入输出...
在标题提到的场景中,“iText生成word需要的jar包”是指使用iText库来实现这个功能时所需的Java类库文件,也就是JAR文件。 首先,我们来看一下压缩包中的三个文件: 1. `iTextAsian.jar`:这是一个扩展包,专门...
里面包含两个demo实例,分别是itext-pdf生成pdf的,一个是itext-rtf生成word的。其中还附有学习笔记一份,上述生成的文档包括对字体的选择(本地或者iTextAsian里面的),有对图片的添加,有对样式的调整,有对table...
`itext-rtf-2.1.7.jar`是Itext的RTF(Rich Text Format)模块,它允许我们生成RTF格式的文档,RTF是一种通用的格式,可以被多种文字处理软件,包括Microsoft Word,所读取和写入。通过使用这个库,我们可以间接地将...
要使用iText生成包含中文字符的PDF,首先需要确保你的项目中包含了iText和iTextAsian这两个JAR文件。iTextAsian.jar提供了对中日韩等亚洲语言的支持,包含了必要的字体和编码集,使得iText能够正确显示和处理这些...
通过 iText,可以生成 PDF 或 RTF 文档,并可以将 XML、HTML 文件转化为 PDF 文件。iText 的安装非常方便,只需要下载 iText.jar 文件并将其添加到系统的 CLASSPATH 中,即可在程序中使用 iText 类库。 iText 的...
【Java使用iText生成PDF教程】 一、简介 在企业级应用中,PDF文档的生成是数据报告和信息展示的关键部分。iText是一款强大的Java库,专为创建PDF和RTF文档而设计,同时也能将XML和HTML转换为PDF格式。作为...
iReport是一个可视化的报告设计工具,使用它可以方便地创建JasperReport模板,而这些模板可以利用iText生成PDF文档。因此,iReport与iText通常一起使用,提供了一种方便的方式来设计和生成PDF报告。 在实际开发中,...
iText是一款强大的开源Java库,专门用于创建和处理PDF(Portable Document Format)文件。这个库在IT行业中广泛应用,尤其在需要生成动态报表、发票、证书等文档时,iText能够提供灵活且高效的解决方案。在Java源...
在这部分中,我们将学习如何使用iText生成RTF、HTML、XML等格式的文档。 第三部分 iText的高级应用 在iText的高级应用部分,我们将学习如何使用iText库实现一些高级的文档处理功能,如文档合并、文档分割、表格...
实例来将内容写入RTF文件。 ```java RtfWriter2.getInstance(document, new FileOutputStream("output.doc")); ``` 3. **打开和关闭Document**:调用`open()`方法打开文档,然后可以开始添加内容。 ```java ...
这个简单的例子将生成一个名为"Helloworld.PDF"的文件,其中包含文本"Hello World"。 **Document对象** `Document`对象可以通过不同构造函数初始化,例如默认的`Document()`会创建一个A4大小的页面。也可以通过`...
2. **RTF生成**:除了PDF,itext.jar 还支持生成RTF格式的文档,这种格式在各种文字处理软件之间具有良好的兼容性,方便用户在不同的平台上查看和编辑。 3. **表单处理**:itext.jar 可以创建交互式PDF表单,允许...
9. **XML和RTF转换**:iText支持从XML或RTF格式的数据生成PDF,方便数据的多格式输出。 10. **事件和监听器**:通过事件处理机制,自定义PDF文档的生成过程,例如添加页眉和页脚。 11. **数字签名**:实现PDF文档...
iText和iTextAsian是两个在Java开发中用于生成PDF文档的重要库。iText是一个开源的Java库,它提供了一套完整的API,使得开发者能够轻松地创建、编辑和操作PDF文档。而iTextAsian则是iText的一个扩展,专门用于处理...
这两个文件是iText 2.1.7版本的组成部分,其中`itext-2.1.7.jar`是核心库,提供了创建、读取、修改PDF文档的基本功能,而`itext-rtf-2.1.7.jar`则是一个扩展库,支持将RTF(Rich Text Format)转换为PDF。...
6. **处理RTF和Word**:虽然iText主要用于PDF,但通过其他库如Apache POI,可以处理Word(.doc/.docx)和RTF文件的生成。Apache POI提供了一套类似的API,允许开发者以编程方式操作Word和RTF文档。 通过学习和理解...