- 浏览: 604007 次
- 性别:
- 来自: 北京
最新评论
-
黑色幽默_cool:
这种不负责任的文章,多看一分钟都是浪费。
为什么使用ibatis而不用spring jdbcTemplate -
leibinhui:
不错啊 非常实用
JS正则表达式详解[收藏] -
suu:
写个存储过程,爆如下错误,是不是游标里的数据太多引起的?无法执 ...
使用Spring jdbc template调用Sybase带有返回结果集的储存过程-要点 -
travellers:
有SVR6了,为什么很多还在使用SVR4呢?
什么是SVR4?我们为什么要选择SVR4? -
dotjar:
生活是多么美好阿!
老公日记
要生成pdf文件,在网上查了下资料,首选iText,跟着大家走,我也iText一把。
1:把字型编程A4横向
2:在PDF文件中加入表格
3:向表格里填数据, 例子
这样就会往表格里填上2行数据,这个api比较简单,不用向jxl/poi 那里那样还有明确写出到底要往那个cell填
4:标题和表格组合
5:分页
6:合并PDF文件,由于往一个document里加内容只能是顺序往下加,而我的summary页要最后才能算出来,但是summary页又要放在第一页
所以我不得不先把body生成一个pdf文件,然后summary在生成一个文件,然后把两个文件合并成同一个文件。
这个到没有试过,一般都是写。
图片能读
这个到没有试过,一般都是写。
这个到没有试过,一般都是写。
这个到没有试过,一般都是写。
当然,
1:把字型编程A4横向
Document document = new Document(PageSize.A4.rotate());
2:在PDF文件中加入表格
float[] widths = {0.05f,0.29f, 0.05f, 0.05f, 0.14f, 0.03f, 0.04f,0.04f, 0.05f, 0.05f,0.08f,0.08f, 0.05f}; //new 一个13列的table PdfPTable table = new PdfPTable(13); //设置table每一列的宽度,widths里写的是百分比,他们加和需要是1 table.setWidths(widths); //设置表格在页面上的宽度,设成100表示可以表格填满页面,但是要去掉页面margin table.setWidthPercentage(100); //设置表格上端的空白距离,类似css中的margin-top:xxpx;这样在给表格加上标题后,标题就不会跟表格重叠在一起了。 table.setSpacingBefore(3f);
3:向表格里填数据, 例子
for(int i = 0; i<26; i++) { table.table.addCell(i+""); }
这样就会往表格里填上2行数据,这个api比较简单,不用向jxl/poi 那里那样还有明确写出到底要往那个cell填
4:标题和表格组合
document.add(new Paragraph(titleWorkhour, FontFactory.getFont(FontFactory.HELVETICA, 12, Font.BOLD, new Color(0, 0, 0)))); //由于设置了table.setSpacingBefore(3f);所以table跟标题不会重合。 document.add(table);
5:分页
document.newPage();
6:合并PDF文件,由于往一个document里加内容只能是顺序往下加,而我的summary页要最后才能算出来,但是summary页又要放在第一页
所以我不得不先把body生成一个pdf文件,然后summary在生成一个文件,然后把两个文件合并成同一个文件。
private void concatenateSummary(String[] args, String finalFile) { try { int pageOffset = 0; ArrayList master = new ArrayList(); int f = 0; String outFile = finalFile; Document document = null; PdfCopy writer = null; while (f < args.length) { // we create a reader for a certain document PdfReader reader = new PdfReader(args[f]); reader.consolidateNamedDestinations(); // we retrieve the total number of pages int n = reader.getNumberOfPages(); List bookmarks = SimpleBookmark.getBookmark(reader); if (bookmarks != null) { if (pageOffset != 0) SimpleBookmark.shiftPageNumbers(bookmarks, pageOffset, null); master.addAll(bookmarks); } pageOffset += n; if (f == 0) { // step 1: creation of a document-object document = new Document(reader.getPageSizeWithRotation(1)); // step 2: we create a writer that listens to the document writer = new PdfCopy(document, new FileOutputStream(outFile)); // step 3: we open the document document.open(); } // step 4: we add content PdfImportedPage page; for (int i = 0; i < n; ) { ++i; page = writer.getImportedPage(reader, i); writer.addPage(page); } PRAcroForm form = reader.getAcroForm(); if (form != null) writer.copyAcroForm(reader); f++; } if (!master.isEmpty()) writer.setOutlines(master); // step 5: we close the document document.close(); } catch(Exception e) { e.printStackTrace(); } }
评论
12 楼
loveyeah
2007-03-23
hgq0011 写道
xmx111 写道
有读的没,如果文档里有图片是否也可以读出来?
这个到没有试过,一般都是写。
图片能读
11 楼
hgq0011
2007-03-07
我的网络不好,一刷新又提交了,对不起。
10 楼
hgq0011
2007-03-07
xmx111 写道
有读的没,如果文档里有图片是否也可以读出来?
这个到没有试过,一般都是写。
9 楼
hgq0011
2007-03-07
xmx111 写道
有读的没,如果文档里有图片是否也可以读出来?
这个到没有试过,一般都是写。
8 楼
hgq0011
2007-03-07
xmx111 写道
有读的没,如果文档里有图片是否也可以读出来?
这个到没有试过,一般都是写。
7 楼
xmx111
2007-03-05
有读的没,如果文档里有图片是否也可以读出来?
6 楼
gw187
2007-03-05
收藏!
5 楼
hgq0011
2007-03-05
hongliang 写道
中文正常吗?
当然,
4 楼
hongliang
2007-03-03
中文正常吗?
3 楼
hgq0011
2007-03-02
这个还是挺好用的,我一直用这来生产pdf格式的报表。
2 楼
IvanLi
2007-03-01
我对这个也是现看的,只是把使用中发现的东西记录下来,避免以后走弯路
1 楼
ddandyy
2007-03-01
收藏了 以后或许用得着.........
嘿嘿..........
嘿嘿..........
发表评论
-
use hibernate3-maven to export sql based on entity
2011-08-07 18:19 1395<plugin> <group ... -
uninstall mysql completely in my Mac X 10.6
2011-08-07 12:19 1191sudo rm /usr/local/mysql ... -
my vimrc
2011-05-14 11:02 1712copy from http://www.vi-improve ... -
使用HSQLDB来作EJB3 EntityBean到Unit Test要点
2010-01-20 17:17 2109add <property name=" ... -
user xrandr to change my desktop's resolution
2009-12-16 17:04 1680xrandr --newmode "1280x ... -
XSS的关键之列表
2009-10-11 17:20 1831//this field are used tp esc ... -
python查看方法帮助(from dive into python)
2009-09-30 11:31 2618def info(object, spanding=10, c ... -
selenium 测试ajax的关键
2009-01-20 18:26 42271: waitForCondition(contidtion, ... -
RichFaces 手记
2008-10-07 15:46 0安装,除了richfaces 下载包中的jar( " ... -
代码检查工具
2008-09-25 11:48 2558findBugs, PMD, CheckStyle find ... -
CI工具hudson
2008-09-24 17:04 3112CI工具除了hudson,还有很多,例如CruiseContr ... -
创建solaris package step by step
2008-09-24 11:27 1920原文地址:http://www.ibiblio.org/pub ... -
什么是SVR4?我们为什么要选择SVR4?
2008-09-23 14:13 4955http://www.lslnet.com/linux/f/d ... -
IPS 中的pkg command学习笔记
2008-09-22 17:18 1843pkg(1): 使用pkg(1)来创建一个镜像,安装,升级,管 ... -
On Board前的学习计划
2008-09-18 09:37 15161:在virtual box 上虚拟一个OpenSolaris ... -
YUI Grid CSS的优雅设计
2008-09-02 22:38 2813最近加入了一个GAE的项目cpedialog,该项目的前端布局 ... -
我很懒,但是懒人有懒办法
2008-08-18 17:06 1798今天要使用jackrabbit做个小东西,上apache一看, ... -
当XPath遇上NameSpace
2008-07-23 19:39 6562在jdk5.0中,已经包含了对Xpath的支持,可一通过下面的 ... -
ubuntu下安装ipmsg-飞鸽传书
2008-07-21 09:32 28791 先下载 源码 下载的是gnome2版本的源码 http ... -
sudo 执行时无密码(不安全)
2008-07-17 17:18 2211sudo visudo root ALL=(ALL) ...
相关推荐
相关教程 iText 简介 iText创建文档简介 iText入门实例 IText使用PDF模板输出报表的实践 我和iText第一次亲密接触 相关JAR iText-2.1.7.jar(核心) iTextAsian.jar(中文支持) iText-rups-2.1.7.jar iText-rtf-...
IText是主要的核心库,而iTextAsian则是一个扩展,专门针对亚洲字符集的支持,如中文、日文和韩文。 IText库由iText Software公司开发,它提供了一套API,使得开发者能够方便地生成动态PDF文档。这个库的强大之处...
而iTextAsian则是iText的一个扩展,专门用于处理亚洲语言,如中文、日文和韩文等,因为这些语言的字符集和排版规则与西方语言有所不同。 首先,我们来看iText的基本功能。iText允许开发者动态地创建PDF文档,这意味...
iText是一款广泛使用的Java库,专门用于创建和编辑PDF文档。在处理中文字符时,iText可能会遇到一些挑战,因为默认情况下它可能不支持中文字符集。为了克服这个问题,我们引入了iTextAsian.jar,这是一个扩展了iText...
iText 是一个流行的开源Java库,专门用于生成和处理PDF文档。这个库提供了丰富的功能,使得开发者能够方便地在应用程序中创建、修改和操作PDF文件。在这个场景中,我们关注的是两个特定版本的iText库:`itext-asian-...
iText 是一个流行的Java库,用于创建和修改PDF文档。这个压缩包包含了iText7的jar文件和相关的英文文档,同时也包含了一些关于iText5的资料。iText7是iText系列的一个重大升级版本,因此在功能和API设计上与iText5...
在提供的文件列表中,我们看到有iText-2.1.7.jar,这是iText的一个主要版本,可能包含了对PDF的基本操作和一些增强功能。iTextAsian.jar则可能包含了处理亚洲语言的特定代码和资源。最后,itext-rtf-2.1.7.jar是处理...
iText是一款广泛使用的Java库,专门用于创建和编辑PDF文档。它提供了丰富的API,使得开发者可以轻松地在应用程序中添加PDF生成和处理功能。而iTextAsian是iText的一个扩展,专门为支持亚洲语言(如中文、日文和韩文...
iText是一个开源的Java库,它允许开发人员通过编程方式创建、修改和操作PDF文档。这个库提供了一系列API,使得在PDF文档中添加文本、图像、表格、超链接以及电子表单变得非常方便。iText不仅支持基本的PDF操作,还...
iText是一款广泛使用的开源Java库,专门用于生成和编辑PDF文档。这个中文帮助文档提供了详细的指导,帮助开发者理解和使用iText来创建包含丰富内容的PDF文件。以下是对iText库和文档中涉及的关键知识点的详细解释: ...
iText 是一个流行的Java库,专门用于创建、编辑和处理PDF文档。在IT行业中,PDF(Portable Document Format)是广泛使用的文件格式,因为其能够保持文档的原始布局和格式,跨平台兼容性好。iText库允许开发人员通过...
这个源代码工程代表了对iText7的第一章深入学习的起点,通过实际代码来理解其核心概念和功能。在这个工程中,我们可以预见到一系列与PDF处理相关的示例,帮助我们掌握如何在Java应用程序中生成、修改或操作PDF文档。...
适用于android,编译提示有问题的话,在app的Build.gradle的android下加如下代码: packagingOptions { exclude 'com/itextpdf/text/pdf/fonts/cmap_info.txt' }
iText 是一个强大的Java库,专门用于处理PDF文档。它提供了丰富的API,使得开发者能够创建、编辑、读取和修改PDF文件。iText-2.1.7.jar是这个库的核心版本,它包含了处理PDF文档的基本功能。这个版本在当时发布时是...
3. **表格和列表**:创建复杂的表格和列表结构是iText的一大优势,可以方便地调整列宽、行高,以及单元格样式。 4. **链接和书签**:添加超链接和内部书签,方便用户导航。 5. **表单处理**:创建交互式PDF表单,...
iText是一款广泛使用的Java库,专门用于创建和处理PDF文档。在5.5.12这个版本中,它提供了丰富的API来实现PDF的创建、编辑、解析和签署等功能。源码工程可以帮助开发者深入理解其内部机制,对于进行二次开发或者解决...
iText是一款广泛使用的Java库,专门用于创建和编辑PDF文档。这个"iText-5.0.5"版本是iText的一个重要里程碑,它在功能和性能上都有显著的提升。iTextAsian则是iText的一个扩展,专门为处理亚洲语言(如中文、日文和...
本篇文章将详细探讨如何使用Apache POI和iText这两个Java库来实现这一功能。 Apache POI是一个开源项目,它提供了读取和写入Microsoft Office格式文件的能力,包括Excel(.xlsx和.xls)。而iText则是一个用于创建和...
iText是一款广泛使用的Java库,专门用于创建和编辑PDF文档。它提供了丰富的API,使得开发者可以轻松地在应用程序中生成、修改和操作PDF文件。在处理中文内容时,iText通常需要额外的组件来支持汉字的正确显示和排版...
iText是一款著名的开源Java库,专门用于创建和编辑PDF文档。在标题中提到的"iText5.5中文包"是指iText库的5.5.2版本,它经过优化,能够有效地处理中文字符,为Java开发者提供了一个强大的工具来生成包含中文内容的...