`
weichen
  • 浏览: 3327 次
  • 性别: Icon_minigender_1
  • 来自: 天津
文章分类
社区版块
存档分类
最新评论

iText生成pdf文件基本使用

阅读更多
使用的版本是目前最新的5.0.3,可以在http://itextpdf.com/index.php下载,中文语言包下的可能不是最新的,导致调试出了问题,最后用了个笨方法解决的。
//1.建立Document实例
Document document = new Document();
//2.建立一个书写器与Document对象关联,通过书写器将文档写入磁盘
PdfWriter.getInstance(document, new FileOutputStream("f:/test.pdf"));
//3.打开文档
document.open();
//4.向文档中添加内容
	//a)添加一个图片
	Image img = Image.getInstance("f:/pdf.jpg");
	img.setAlignment(Image.LEFT|Image.TEXTWRAP);
	img.scalePercent(30f);
	//document.add(img);
	//b)添加一个段落
	document.add(new Paragraph("iText HelloWorld"));
	//c)添加一个块
	document.add(new Chunk("Text is underline", FontFactory.getFont(FontFactory.HELVETICA_BOLD, 12, Font.UNDERLINE)));
	//d)添加中文,需要引入iTextAsian.jar
	BaseFont bfChi = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
	Font fontChi = new Font(bfChi, 12, Font.NORMAL);
	document.add(new Paragraph("中文测试", fontChi));
	//e)添加一个表格
	//表格内部格式和html中的格式差不多
	PdfPTable table = new PdfPTable(4);
	table.setWidthPercentage(100);   
	table.setWidthPercentage(100);   
	table.addCell (new Paragraph ("学号",fontChi));   
	PdfPCell cell = new PdfPCell (new Paragraph ("00000001",fontChi));   
	cell.setColspan (3);   
	table.addCell (cell);   
	table.addCell (new Paragraph ("姓名",fontChi));   
	table.addCell (new Paragraph ("张三",fontChi));   
	table.addCell (new Paragraph ("总成绩",fontChi));   
	table.addCell (new Paragraph ("160",fontChi));
	
	table.addCell (new Paragraph ("学号",fontChi));   
	PdfPCell cell2 = new PdfPCell (new Paragraph ("00000002",fontChi));   
	cell2.setColspan (3);   
	table.addCell (cell2); 
	table.addCell (new Paragraph ("姓名",fontChi));   
	table.addCell (new Paragraph ("李四",fontChi));   
	table.addCell (new Paragraph ("总成绩",fontChi));   
	table.addCell (new Paragraph ("167", fontChi)); 
	document.add(table);
//5.关闭文档
document.close();

注释已经很详细了,说一下中文包的问题,按照正常的流程走下来,会报:Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized.我理解的大概是语言包没找到吧。因为iText5.X之前,引用iTextAsian.jar中的语言包是在com/lowagie/text/pdf/fonts,而现在是从com/itextpdf/text/pdf/fonts加载的,但是我又不知道最新的包在哪下,所以直接在包中将lowagie改成itextpdf,运行OK。
分享到:
评论

相关推荐

    itext 生成pdf 目录

    在使用iText生成PDF目录时,要注意几点: - 确保每个书签都有一个对应的目标位置,否则在PDF中点击书签可能无法正确跳转。 - 避免内存泄漏,尤其是在处理大量书签时,要及时释放资源。 - 书签层次不宜过深,以免影响...

    使用itext生成PDF文件

    通过以上步骤,你应该能基本掌握使用iText生成PDF文件的方法。在实际应用中,可以根据需要调整和扩展代码,实现更丰富的PDF文档生成。如果你需要深入学习,可以参考官方文档或相关的博客资源,如提供的博文链接,...

    使用iText生成PDF.doc

    以下是一些关于如何使用iText生成PDF的关键知识点: 1. **安装与获取iText**: 要使用iText,首先需要从其官方源代码托管平台SourceForge下载相应的.jar文件。基础的iText.jar提供了基本的PDF生成功能,但如果你...

    freemarker+itext生成PDF

    这篇博客 "freemarker+itext生成PDF" 可能详细介绍了如何结合这两者来生成PDF文件,这在报表生成、发票打印或任何需要静态化输出的场景中非常有用。 首先,让我们了解FreeMarker。FreeMarker是一个基于模板的语言,...

    itext生成pdf文件-表格

    在IT行业中,生成PDF文件是一项常见的任务,特别是在文档制作、报表导出以及数据展示等领域。iText是一个流行的Java库,专门用于创建和编辑PDF文档。本文将深入探讨iText如何生成包含表格的PDF文件,同时结合提供的...

    Android使用iText生成pdf并读取pdf内容

    在这个场景中,我们将探讨如何利用iText在Android应用中生成PDF以及读取PDF的内容。 首先,我们需要在Android项目中引入iText库。由于Android Studio默认使用Gradle作为构建工具,我们可以在`build.gradle`文件的...

    java使用itext实现pdf文件下载

    接下来,我们将探讨如何生成PDF文件。以下是一个简单的例子,展示如何创建一个包含简单文本的PDF文档: ```java import com.itextpdf.text.Document; import com.itextpdf.text.Paragraph; import ...

    springboot使用itext生成pdf并保存到本地

    总结一下,要实现在Spring Boot应用中使用iText生成带有页眉、页码、水印、目录和二维码的PDF,你需要: 1. 引入iText及相关库。 2. 创建HTML页面并将其转换为PDF。 3. 定制PDF内容,包括添加页眉、页码和水印。 4. ...

    使用IText生成PDF和WORD文档

    document.add(new Paragraph("这是使用IText生成的PDF文档!")); document.close(); } catch (DocumentException | IOException e) { e.printStackTrace(); } } } ``` 这段代码首先创建了一个`Document`对象...

    解决Itext生成PDF中文不换行的jar

    为了解决"Java使用Itext生成PDF中文不换行"的问题,我们可以采取以下几种策略: 1. **设置字体和编码**:确保使用支持中文的字体,如SimSun、Arial Unicode MS等,并正确设置PDF的编码为UTF-8。Itext中的`Font`类...

    itext生成pdf目录

    用itext方法生成 与Word一样的目录

    iText生成pdf解决中文不显示

    iText生成pdf解决中文不显示字库,pdf凉字不显示,由于生成iText插件生成pdf的时候中文会显示不出来,遇到过的是"凉"字,查到是字体库的原因,网上下载字体库msyh.ttc,生成的时候指定字体库,就可以解决了,小bug一...

    java itext生成PDF文件

    在本文中,我们将深入探讨如何使用iText库生成PDF文件,并特别关注在创建表格时进行单元格合并的方法。 首先,`itextpdf-5.5.10.jar`是iText库的核心组件,包含了生成和操作PDF的基本功能。这个版本的iText支持PDF ...

    iText生成PDF - 实例

    在本篇中,我们将深入探讨如何使用iText库来生成PDF文件,以及相关的源码和工具应用。 首先,我们需要引入iText库的相关依赖。在提供的文件列表中,可以看到`itextpdf-5.1.1.jar`和`itextasian.jar`这两个文件。`...

    Java 使用iText7生成带页码的PDF文件(同时生成目录,但是不会合并两个PDF)

    在IT行业中,生成PDF文件是常见的需求,尤其是在报告、文档或证书的生成上。Java作为一个强大的后端开发语言,提供了多种库来实现这一功能。本文将深入探讨如何使用iText7这个库在Java环境中生成带有页码和目录的PDF...

    Java IText生成PDF

    在本篇文章中,我们将深入探讨如何使用IText在Java环境中生成PDF文档。 首先,你需要在项目中引入IText库。如果是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.itextpdf</groupId> ...

    Java生成pdf文件,解决中文乱码问题.pdf

    使用 iText 库生成 PDF 文件的基本步骤是: * 创建一个 Document 对象 * 生成一个 PdfWriter 对象,用于将文档写入到文件中 * 设置中文字体,使用 BaseFont.createFont 方法创建一个字体对象 * 创建一个 Font 对象...

    权威Itext生成pdf

    总的来说,使用Itext生成PDF文档是一个简单的过程,主要涉及Document对象的创建、Writer实例的初始化、内容的添加以及文档的关闭。通过灵活运用这些方法,我们可以创建出结构丰富、格式多样的PDF文件。在处理中文...

    初学Itext 生成PDF 表格,条形码(一维),图片

    对于初学者来说,掌握使用iText生成PDF文档中的表格、一维条形码和图片是一项基本技能。此外,需要注重代码中字符串的准确性,避免由于扫描或输入错误导致的问题。熟练掌握iText库的使用,可以使开发者在处理PDF文件...

    使用itext生成pdf需要的jar包

    本篇将详细介绍如何使用iText生成PDF,以及所需的jar包。 首先,我们需要理解iText库的核心功能。iText允许开发者通过编程方式创建PDF文档,支持添加文本、图像、表格、链接、样式和布局等多种元素。它还提供了高级...

Global site tag (gtag.js) - Google Analytics