- 浏览: 85136 次
- 性别:
- 来自: 北京
文章分类
最新评论
package com.ly.test; import java.awt.Color; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.Element; import com.lowagie.text.Font; import com.lowagie.text.HeaderFooter; import com.lowagie.text.PageSize; import com.lowagie.text.Paragraph; import com.lowagie.text.Phrase; import com.lowagie.text.Rectangle; import com.lowagie.text.pdf.BaseFont; import com.lowagie.text.pdf.PdfPCell; import com.lowagie.text.pdf.PdfPTable; import com.lowagie.text.pdf.PdfWriter; public class ToPdf { public static void creatPdf(List<Object[]> list){ try { BaseFont bfChinese = BaseFont.createFont("C:/WINDOWS/Fonts/SIMKAI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); Font FontChinese = new Font(bfChinese, 14, Font.NORMAL); Font font = new Font(bfChinese, 25, Font.NORMAL); Document document = new Document( PageSize.A4,20,20,20,20); PdfWriter pdfWrite = PdfWriter.getInstance(document, new FileOutputStream("E:\\totalPlantArea.pdf")); HeaderFooter footer = new HeaderFooter(new Phrase(), new Phrase()); footer.setBorder(Rectangle.NO_BORDER); footer.setAlignment(Element.ALIGN_RIGHT); footer.setPageNumber(2); document.setFooter(footer); document.open(); // define table float[] widths = { 0.25f, 0.25f, 0.25f ,0.25f}; // new 一个3列的table PdfPTable table = new PdfPTable(4); // 设置table每一列的宽度,widths里写的是百分比,他们加和需要是1 table.setWidths(widths); // 设置表格在页面上的宽度,设成100表示可以表格填满页面,但是要去掉页面margin table.setWidthPercentage(77); // 设置表格上端的空白距离,类似css中的margin-top:xxpx;这样在给表格加上标题后,标题就不会跟表格重叠在一起了。 table.setSpacingBefore(10f); table.setSpacingAfter(10f); PdfPCell number = new PdfPCell(); number.setBackgroundColor(new Color(201, 215, 250)); number.setPhrase(new Phrase("序号",FontChinese)); PdfPCell plant = new PdfPCell(); plant.setBackgroundColor(new Color(201, 215, 250)); plant.setPhrase(new Phrase("作物",FontChinese)); PdfPCell area = new PdfPCell(); area.setBackgroundColor(new Color(201, 215, 250)); area.setPhrase(new Phrase("地块数",FontChinese)); PdfPCell num = new PdfPCell(); num.setBackgroundColor(new Color(201, 215, 250)); num.setPhrase(new Phrase("面积(亩)",FontChinese)); table.addCell(number); table.addCell(plant); table.addCell(area); table.addCell(num); for (int i = 0; i <list.size(); i++) { Object[] obj = (Object[])list.get(i); for(int j=0;j<obj.length;j++){ if(j == 0){ PdfPCell cell = new PdfPCell(); cell.setBackgroundColor(new Color(241, 241, 241)); cell.setPhrase(new Phrase((i+1)+"",FontChinese)); table.addCell(cell); PdfPCell cell2 = new PdfPCell(); cell2.setBackgroundColor(new Color(241, 241, 241)); cell2.setPhrase(new Phrase(obj[j].toString()+"",FontChinese)); table.addCell(cell2); }else if(j==1){ PdfPCell cell = new PdfPCell(); cell.setBackgroundColor(new Color(241, 241, 241)); cell.setPhrase(new Phrase(obj[j].toString()+"",FontChinese)); table.addCell(cell); }else{ PdfPCell cell = new PdfPCell(); cell.setBackgroundColor(new Color(241, 241, 241)); cell.setPhrase(new Phrase(obj[j].toString()+"",FontChinese)); table.addCell(cell); } } } Paragraph par = new Paragraph("作物面积统计", font); par.setAlignment(Element.ALIGN_CENTER); par.setSpacingAfter(20f); document.add(par); // 由于设置了table.setSpacingBefore(3f);所以table跟标题不会重合。 document.add(table); document.newPage(); document.close(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub List<Object[]> li = new ArrayList<Object[]>(); li.add(new Object[]{"瓜果","125","125"}); li.add(new Object[]{"西瓜","125","125"}); li.add(new Object[]{"瓜果","125","125"}); li.add(new Object[]{"西红柿","26","125"}); li.add(new Object[]{"瓜果","125","125"}); ToPdf.creatPdf(li); } }
发表评论
-
aaaaaa
2015-02-07 20:14 0./configure --prefix=/usr/local ... -
java mail开发问题
2011-11-02 16:31 838注意要点 设置是否验证的 mail.smtp ... -
Proguard 使用简介
2011-10-31 16:41 807介绍例子太多了,直接记下了几个链接 http://ha ... -
oracle sql优化规范
2011-08-24 10:15 818oracle的sql也是遵循几点原则 1.能用ora ... -
错误 javax.servlet.jsp.el.ELException: Encountered "\", expected one of ["}", ".",
2011-05-16 16:55 4573WAS中运行JSP時报如下错误: Servlet Er ... -
jstl foreach 属性描述
2011-05-16 14:30 0<c:forEach>的varStatus属 ... -
webSphere portal InvocationTargetException 异常问题
2011-03-18 16:30 1863The SystemOut.log at the tim ... -
svn 错误
2011-02-25 12:28 1118svn folder does not exist remot ... -
web.xml 介绍
2011-02-23 16:04 0手上没项目忙 闲得无事 了解了一下web.xm ... -
http状态码
2011-02-21 11:06 744当浏览器从 web 服务器请求服务时,可能会发生错误。 ... -
rad 7.5 破解
2010-12-27 18:03 1871IBM Rational Application Develo ... -
tomcat 发布直接访问的项目
2010-05-25 11:07 1226今天在发布项目的时候学会了一种新的方法。以前是直接把项目发布到 ... -
LDAP介绍
2010-04-08 14:34 918原文:http://ldapman.org/article ... -
转 sso浅谈 基础篇
2010-04-08 12:04 809单点登录(SSO)的技术 ... -
Struts2文件上传下载功能开发
2010-04-07 15:28 766http://darkranger.iteye.com/blo ... -
jsp中实现文件下载
2010-04-06 10:47 971jsp中实现文件下载的最简单的方式是在网页上做超级链接,如:& ... -
转 java路径问题总结
2010-04-01 09:22 791一 相对路径的获得 ... -
xml生成java代码
2009-12-31 15:05 0JiBX 1.2,第 2 部分: 从 XML 模式到 J ... -
010496453993
2009-11-20 14:46 0010496453993 -
关于Java Socket编程的详细介绍(转)
2009-09-23 09:38 911事实上网络编程简单的 ...
相关推荐
2. **创建PDF文档**:使用iText生成PDF的第一步是创建一个PdfWriter实例,然后基于该实例创建一个Document对象。例如: ```java Document document = new Document(); PdfWriter.getInstance(document, new ...
用itext生成pdf文档,生成的内容有表格形式,文本形式,设置字体样式,文档页边距。
在使用iText生成PDF目录时,要注意几点: - 确保每个书签都有一个对应的目标位置,否则在PDF中点击书签可能无法正确跳转。 - 避免内存泄漏,尤其是在处理大量书签时,要及时释放资源。 - 书签层次不宜过深,以免影响...
这篇博客 "freemarker+itext生成PDF" 可能详细介绍了如何结合这两者来生成PDF文件,这在报表生成、发票打印或任何需要静态化输出的场景中非常有用。 首先,让我们了解FreeMarker。FreeMarker是一个基于模板的语言,...
本文将深入探讨iText如何生成包含表格的PDF文件,同时结合提供的“itext教程_itext的使用方法_iava使用itext实现pdh的输出.doc”文档,为您详细解析这一过程。 首先,我们需要了解iText的基本用法。iText是用Java...
Java iText 生成pdf文档源代码(包括插入文本、表格、图像)
以下是一些关于如何使用iText生成PDF的关键知识点: 1. **安装与获取iText**: 要使用iText,首先需要从其官方源代码托管平台SourceForge下载相应的.jar文件。基础的iText.jar提供了基本的PDF生成功能,但如果你...
iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iText的安装非常方便,下载iText.jar文件后,...
document.add(new Paragraph("这是使用IText生成的PDF文档!")); document.close(); } catch (DocumentException | IOException e) { e.printStackTrace(); } } } ``` 这段代码首先创建了一个`Document`对象...
Paragraph paragraph = new Paragraph("这是用Itext生成的PDF文档"); document.add(paragraph); ``` ### 5. 格式化文本 Itext支持多种文本格式化,如字体、大小、颜色等。例如: ```java Font font = new Font...
在IT行业中,生成PDF文档是常见的需求,尤其是在Java开发中。Itext是一个广泛使用的库,它允许开发者方便地创建和编辑PDF文档。然而,在处理中文文本时,可能会遇到一个问题:中文字符不换行,这会给PDF的排版带来...
iText是一个强大的开源库,它允许开发者在Java和.NET环境中创建、编辑和处理PDF文档。在这个场景中,我们将探讨如何利用iText在Android应用中生成PDF以及读取PDF的内容。 首先,我们需要在Android项目中引入iText库...
iText 是一个强大的 Java 库,用于生成和编辑 PDF 文档。在 Java 开发中,iText 提供了丰富的 API,使得开发者可以方便地在代码中创建 PDF 文件、添加文本、图像、表格、链接等元素,甚至进行数字签名和表单处理。在...
在本文中,我们将深入探讨如何使用iText库生成PDF文件,并特别关注在创建表格时进行单元格合并的方法。 首先,`itextpdf-5.5.10.jar`是iText库的核心组件,包含了生成和操作PDF的基本功能。这个版本的iText支持PDF ...
对于初学者来说,掌握使用iText生成PDF文档中的表格、一维条形码和图片是一项基本技能。此外,需要注重代码中字符串的准确性,避免由于扫描或输入错误导致的问题。熟练掌握iText库的使用,可以使开发者在处理PDF文件...
总的来说,使用Itext生成PDF文档是一个简单的过程,主要涉及Document对象的创建、Writer实例的初始化、内容的添加以及文档的关闭。通过灵活运用这些方法,我们可以创建出结构丰富、格式多样的PDF文件。在处理中文...
iText生成pdf解决中文不显示字库,pdf凉字不显示,由于生成iText插件生成pdf的时候中文会显示不出来,遇到过的是"凉"字,查到是字体库的原因,网上下载字体库msyh.ttc,生成的时候指定字体库,就可以解决了,小bug一...
这个压缩包“itext生成pdf文件的jar包.rar”包含三个重要的jar文件,它们是使用iText在Web应用程序中生成PDF所必需的组件。 1. **iTextAsian-5.2.0.jar**:这是一个扩展包,专门支持中文和其他亚洲语言的字体和排版...
iText生成PDF图片文档 iText是一个功能强大的Java类库,用于生成PDF文档。通过使用iText,我们可以轻松地生成PDF文档,包括图片、文字、表格等多种元素。本文将详细介绍如何使用iText生成PDF图片文档。 iText基本...
本文将深入探讨如何利用iText来创建PDF文件,并介绍相关的关键知识点。 1. **安装与引入iText库** 要开始使用iText,首先需要将其添加到项目中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml ...