使用的版本是目前最新的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目录时,要注意几点: - 确保每个书签都有一个对应的目标位置,否则在PDF中点击书签可能无法正确跳转。 - 避免内存泄漏,尤其是在处理大量书签时,要及时释放资源。 - 书签层次不宜过深,以免影响...
通过以上步骤,你应该能基本掌握使用iText生成PDF文件的方法。在实际应用中,可以根据需要调整和扩展代码,实现更丰富的PDF文档生成。如果你需要深入学习,可以参考官方文档或相关的博客资源,如提供的博文链接,...
以下是一些关于如何使用iText生成PDF的关键知识点: 1. **安装与获取iText**: 要使用iText,首先需要从其官方源代码托管平台SourceForge下载相应的.jar文件。基础的iText.jar提供了基本的PDF生成功能,但如果你...
这篇博客 "freemarker+itext生成PDF" 可能详细介绍了如何结合这两者来生成PDF文件,这在报表生成、发票打印或任何需要静态化输出的场景中非常有用。 首先,让我们了解FreeMarker。FreeMarker是一个基于模板的语言,...
在IT行业中,生成PDF文件是一项常见的任务,特别是在文档制作、报表导出以及数据展示等领域。iText是一个流行的Java库,专门用于创建和编辑PDF文档。本文将深入探讨iText如何生成包含表格的PDF文件,同时结合提供的...
在这个场景中,我们将探讨如何利用iText在Android应用中生成PDF以及读取PDF的内容。 首先,我们需要在Android项目中引入iText库。由于Android Studio默认使用Gradle作为构建工具,我们可以在`build.gradle`文件的...
接下来,我们将探讨如何生成PDF文件。以下是一个简单的例子,展示如何创建一个包含简单文本的PDF文档: ```java import com.itextpdf.text.Document; import com.itextpdf.text.Paragraph; import ...
总结一下,要实现在Spring Boot应用中使用iText生成带有页眉、页码、水印、目录和二维码的PDF,你需要: 1. 引入iText及相关库。 2. 创建HTML页面并将其转换为PDF。 3. 定制PDF内容,包括添加页眉、页码和水印。 4. ...
document.add(new Paragraph("这是使用IText生成的PDF文档!")); document.close(); } catch (DocumentException | IOException e) { e.printStackTrace(); } } } ``` 这段代码首先创建了一个`Document`对象...
为了解决"Java使用Itext生成PDF中文不换行"的问题,我们可以采取以下几种策略: 1. **设置字体和编码**:确保使用支持中文的字体,如SimSun、Arial Unicode MS等,并正确设置PDF的编码为UTF-8。Itext中的`Font`类...
用itext方法生成 与Word一样的目录
iText生成pdf解决中文不显示字库,pdf凉字不显示,由于生成iText插件生成pdf的时候中文会显示不出来,遇到过的是"凉"字,查到是字体库的原因,网上下载字体库msyh.ttc,生成的时候指定字体库,就可以解决了,小bug一...
在本文中,我们将深入探讨如何使用iText库生成PDF文件,并特别关注在创建表格时进行单元格合并的方法。 首先,`itextpdf-5.5.10.jar`是iText库的核心组件,包含了生成和操作PDF的基本功能。这个版本的iText支持PDF ...
在本篇中,我们将深入探讨如何使用iText库来生成PDF文件,以及相关的源码和工具应用。 首先,我们需要引入iText库的相关依赖。在提供的文件列表中,可以看到`itextpdf-5.1.1.jar`和`itextasian.jar`这两个文件。`...
在IT行业中,生成PDF文件是常见的需求,尤其是在报告、文档或证书的生成上。Java作为一个强大的后端开发语言,提供了多种库来实现这一功能。本文将深入探讨如何使用iText7这个库在Java环境中生成带有页码和目录的PDF...
在本篇文章中,我们将深入探讨如何使用IText在Java环境中生成PDF文档。 首先,你需要在项目中引入IText库。如果是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.itextpdf</groupId> ...
使用 iText 库生成 PDF 文件的基本步骤是: * 创建一个 Document 对象 * 生成一个 PdfWriter 对象,用于将文档写入到文件中 * 设置中文字体,使用 BaseFont.createFont 方法创建一个字体对象 * 创建一个 Font 对象...
总的来说,使用Itext生成PDF文档是一个简单的过程,主要涉及Document对象的创建、Writer实例的初始化、内容的添加以及文档的关闭。通过灵活运用这些方法,我们可以创建出结构丰富、格式多样的PDF文件。在处理中文...
对于初学者来说,掌握使用iText生成PDF文档中的表格、一维条形码和图片是一项基本技能。此外,需要注重代码中字符串的准确性,避免由于扫描或输入错误导致的问题。熟练掌握iText库的使用,可以使开发者在处理PDF文件...
本篇将详细介绍如何使用iText生成PDF,以及所需的jar包。 首先,我们需要理解iText库的核心功能。iText允许开发者通过编程方式创建PDF文档,支持添加文本、图像、表格、链接、样式和布局等多种元素。它还提供了高级...