- 浏览: 183539 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
wenm168:
这里有iText 5.5导出pdf, 比较常用的功能及表格画斜 ...
JAVA利用iText导出PDF -
dcj3sjt126com:
您好,我情况和您一样,然后我按照这个方式做了之后,没有效果,还 ...
UITableView与UIPageViewController的UIPanGestureRecognizer手势冲突解决办法 -
mao_siyu:
这个jar 包 和 这代码里面的类 不一致了,楼主 能改一下吗 ...
JAVA利用iText导出PDF -
wenjie4892543:
写的好。。。
利用jqueryzoom实现图片放大镜效果 -
wenjie4892543:
写的好。。。
oracle实操
最新项目中客户要求把一些表格导成PDF发邮件形式发送给特定的用户,本文是利用iText生成PDF,采用策略模式解藕。
所需要引入的包:iText-2.0.8.jar
PdfUtilsBean接口类代码如下:
/** *@author liudonggan Email:ldg123456@sina.com *@date 2011-7-18 上午10:47:53 *@version v1.0 **/ public interface PdfUtilsBean { public void CreatePdf(String fileName,String picPath,int id); }
PdfRoadKbUtilsBean实现类(implements PdfUtilsBean)代码如下:
package com.ys.product.bean; import java.awt.Color; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import com.lowagie.text.Document; import com.lowagie.text.Element; import com.lowagie.text.Font; import com.lowagie.text.FontFactory; import com.lowagie.text.Image; import com.lowagie.text.PageSize; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.BaseFont; import com.lowagie.text.pdf.PdfPCell; import com.lowagie.text.pdf.PdfPTable; import com.lowagie.text.pdf.PdfWriter; import com.ys.product.service.ISgKbRoadDetailService; import com.ys.util.Utils; /** *@author liudonggan Email:ldg123456@sina.com *@date 2011-7-18 上午10:53:31 *@version v1.0 **/ public class PdfRoadKbUtilsBean implements PdfUtilsBean { private SgKbRoadDetail sgKbRoadDetail=new SgKbRoadDetail(); private ISgKbRoadDetailService sgKbRoadDetailService; public PdfRoadKbUtilsBean(ISgKbRoadDetailService sgKbRoadDetailService) { this.sgKbRoadDetailService=sgKbRoadDetailService; } private final int CELLHIGHT=30;//行高 public void CreatePdf(String fileName,String picPath,int id) { // TODO Auto-generated method stub File file=new File(fileName); FileOutputStream out = null; sgKbRoadDetail=sgKbRoadDetailService.findKbRoad(id); try { Document document=new Document(PageSize.A4, 50, 50, 50, 50); out = new FileOutputStream(file); PdfWriter writer = PdfWriter.getInstance(document, out); document.open(); Image img=Image.getInstance(picPath+"\\gdcd.jpg"); img.scalePercent(70f); img.setAlignment(Element.ALIGN_CENTER); document.add(img); Paragraph title1 = new Paragraph("\n"); document.add(title1); img=Image.getInstance(picPath+"\\gdcd1.jpg"); img.scalePercent(70f); img.setAlignment(Element.ALIGN_CENTER); document.add(img); Font font = FontFactory.getFont(FontFactory.HELVETICA, 18, Font.BOLD, new Color(0, 0, 0)); BaseFont bfChinese = BaseFont.createFont("STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);//设置中文字体 //中文大小为20,加粗 font = new Font(bfChinese, 20, Font.BOLD); Paragraph title = new Paragraph("XX标题",font); title.setAlignment(Element.ALIGN_CENTER); document.add(title); title1 = new Paragraph("\n"); document.add(title1); //创建表格对象 PdfPTable table = new PdfPTable(6); int[] cellsWidth = {10,10,10,10,10,10}; table.setWidths(cellsWidth); table.setWidthPercentage(100); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); table.getDefaultCell().setVerticalAlignment(Element.ALIGN_MIDDLE); table.getDefaultCell().setFixedHeight(CELLHIGHT); //设置表格边框颜色 table.getDefaultCell().setBackgroundColor(new Color(0, 0, 0)); //设置单元格的边距间隔等 table.getDefaultCell().setPadding(0); table.getDefaultCell().setBorderWidth(0); //单元格对象 PdfPCell cell = new PdfPCell(); Font font1 = new Font(bfChinese, 9, Font.HELVETICA); Paragraph cel = new Paragraph("填报单位:"+sgKbRoadDetail.getUnitName(),font1); cel.setAlignment(Element.ALIGN_CENTER); cell=new PdfPCell(cel); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setColspan(6); cell.setBorder(0); table.addCell(cell); cel = new Paragraph("事故基本情况",font1); cel.setAlignment(Element.ALIGN_CENTER); cell=new PdfPCell(cel); cell.setHorizontalAlignment(Element.ALIGN_CENTER);//设置内容水平居中显示 cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setColspan(6); cell.setFixedHeight(CELLHIGHT); table.addCell(cell); cel = new Paragraph("事故发生时间",font1); cel.setAlignment(Element.ALIGN_CENTER); cell=new PdfPCell(cel); cell.setHorizontalAlignment(Element.ALIGN_CENTER);//设置内容水平居中显示 cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setColspan(1); cell.setFixedHeight(CELLHIGHT); table.addCell(cell); cel = new Paragraph(Utils.getMinute2(sgKbRoadDetail.getFssj()),font1); cel.setAlignment(Element.ALIGN_CENTER); cell=new PdfPCell(cel); cell.setColspan(3); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setNoWrap(true); table.addCell(cell); cel = new Paragraph("天气情况",font1); cel.setAlignment(Element.ALIGN_CENTER); cell=new PdfPCell(cel); cell.setHorizontalAlignment(Element.ALIGN_CENTER);//设置内容水平居中显示 cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setColspan(1); table.addCell(cell); cel = new Paragraph(sgKbRoadDetail.getTqqk(),font1); cel.setAlignment(Element.ALIGN_CENTER); cell=new PdfPCell(cel); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setColspan(1); table.addCell(cell); cel = new Paragraph("事故地点",font1); cel.setAlignment(Element.ALIGN_CENTER); cell=new PdfPCell(cel); cell.setHorizontalAlignment(Element.ALIGN_CENTER);//设置内容水平居中显示 cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setColspan(1); cell.setFixedHeight(CELLHIGHT); table.addCell(cell); cel = new Paragraph(sgKbRoadDetail.getSgdd(),font1); cel.setAlignment(Element.ALIGN_CENTER); cell=new PdfPCell(cel); cell.setColspan(3); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setFixedHeight(CELLHIGHT); cell.setNoWrap(true); table.addCell(cell); //将表格对象添加到小节对象中 document.add(table); document.close(); } catch(Exception e) { e.printStackTrace(); } finally { if (out != null){ try { //关闭输出文件流 out.close(); } catch (IOException e1) { } } } } }
PdfUtils类 代码如下
import java.io.File; /** *@author liudonggan Email:ldg123456@sina.com *@date 2011-7-18 上午10:50:48 *@version v1.0 **/ public class PdfUtils { private PdfUtilsBean pdfUtilsBean=null; private String fileName=""; private String picPath=""; private int id=-1; public PdfUtils(PdfUtilsBean pdfUtilsBean,String fileName,String picPath,int id) { this.pdfUtilsBean=pdfUtilsBean; this.fileName=fileName; this.picPath=picPath; this.id=id; } public void CreatePdf() { this.pdfUtilsBean.CreatePdf(fileName,picPath,id); } public void DeletePdf() throws Exception { File file=new File(fileName); if(file.exists()) { file.delete(); } } }
评论
9 楼
wenm168
2016-12-15
这里有iText 5.5导出pdf, 比较常用的功能及表格画斜线、文档插入绝对位置图片等:http://www.anyrt.com/blog/list/itextpdf.html
8 楼
mao_siyu
2014-09-25
这个jar 包 和 这代码里面的类 不一致了,楼主 能改一下吗? 因为我刚刚学习这功能,都不知道应该怎么去修改。
7 楼
ae6623
2013-11-25
zhy584520 写道
ae6623 写道
高并发的时候,会内存溢出。
并发这块没有测试过,现在你解决了没有,方便的话透露下怎么解决的啦
http://blog.csdn.net/ae6623/article/details/11590611
【Itext】解决Itext5大并发大数据量下输出PDF发生内存溢出outofmemery异常
//for循环中添加如下代码 int _MAX_ROWS = 1000;//最大行数,之后清理 int row_count = 0;//初始值 if (++row_count % _MAX_ROWS == 0) { //datatable是我的一个PdfPTable的new出来的一个实例 // add table to Document document.add(datatable); // delete _MAX_ROWS from table to free memory datatable.deleteBodyRows(); // let iText manage when table header written datatable.setSkipFirstHeader(true);//防止释放后一页出现两次表头。 }
6 楼
zhy584520
2013-10-21
ae6623 写道
高并发的时候,会内存溢出。
并发这块没有测试过,现在你解决了没有,方便的话透露下怎么解决的啦
5 楼
ae6623
2013-09-06
高并发的时候,会内存溢出。
4 楼
zhy584520
2011-12-12
hubinDong 写道
麻烦楼主把效果图发上来看下。。。初学
你把代码拷下来就可以跑的,稍改一下
3 楼
hubinDong
2011-12-09
麻烦楼主把效果图发上来看下。。。初学
2 楼
zhy584520
2011-07-27
幻想的sky 写道
嘿嘿,写的蛮好的。值得研究!
经常过来支持下哇
1 楼
幻想的sky
2011-07-26
嘿嘿,写的蛮好的。值得研究!
发表评论
-
gdal代码生成shape带索引
2018-01-10 16:17 2568最近做项目需要程序自动生成shapfile,生成shapef ... -
HTML解析器 jsoup
2012-06-28 08:40 1456解析和遍历一个html文 ... -
HttpSessionBindingListener,HttpSessionListener的用法
2011-12-14 10:37 13771、HttpSessionListener 添加类Onlin ... -
jbpm4.4 api帮助文档
2011-10-27 09:51 1009记录下jbpm4.4学习过程。。。。 -
pushlet-开源的comet
2011-09-01 10:15 1095Pushlet是一种comet实现:在Servlet机制下,数 ... -
DBUtils的使用
2011-08-15 14:39 929最近项目的详细设计文档写完了,真是累死人。写了150多页那。终 ... -
利用apache commons-email发送邮件
2011-07-20 17:23 4598本文利用apaceh commons-email发送邮件,记录 ... -
struts2 (# % $)井号,百分号,美圆号的含义和使用举例
2011-06-13 21:13 2896struts2 OGNL,struts2 表达 ... -
spring事务管理全解析
2011-05-10 16:28 955了解事务: ... -
JAVA设计模式之事务处理
2011-05-10 16:00 911事务处理是企业应用需要解决的最主要的问题之一。J2EE通过JT ... -
struts2文件下载功能实现
2011-04-01 10:27 993Struts2配置如下: <action n ... -
使用ireport+jasperreports心得
2011-03-25 09:29 14451. 数据源数据为空时显示空白? 解决方法: ... -
解决java乱码问题
2011-01-06 09:08 892最近遇到个怪问题,在本地是好好的,不会有乱码, ... -
MyEclipse快捷键大全
2010-12-28 13:55 923------------------------------- ... -
struts2获取文件类型,文件后缀名
2010-12-15 15:49 3126在网上找了好多资料,发现都不是自己想要的结果,最后在外国网站上 ... -
ubuntu myeclipse安装svn插件,unable to load default svn client问题
2010-12-09 14:06 2628启动时会提示: Failed to load JavaHL ... -
配置ubuntu j2ee开发环境
2010-12-06 15:23 2893最近公司项目在验收,闲的要死,之前开发平台都是wi ...
相关推荐
java使用iText导出PDF文本绝对定位(实现方法) iText是一个流行的Java类库,用于生成PDF文档。下面我们将探讨如何使用iText在Java中导出PDF文本,并实现绝对定位。 iText简介 iText是一个开源的Java类库,用于...
本文将介绍一个使用iText库导出PDF的小例子。 首先,介绍iText库的基本知识。iText是一个开源的Java库,允许开发者创建和操纵PDF文档。它包括生成PDF文件、合并或分割现有PDF文件、添加文本或图像等功能。iText广泛...
Java使用IText库导出PDF是一项常见的任务,特别是在需要生成报告、文档或发票等静态内容时。IText是一个强大的PDF库,它允许开发者在Java环境中创建、修改和处理PDF文档。下面将详细介绍如何使用IText库来实现这个...
本项目名为“JAVA ITEXT 导出试卷”,其核心功能是使用Java和iText库来自动化生成PDF格式的试卷。 首先,我们需要了解iText库的基本用法。iText提供了许多API,允许开发者添加文本、图像、表格、链接等元素到PDF文...
在Java开发中,我们经常需要生成或修改PDF文档,这时可以利用开源库如iTextPDF。iTextPDF是一个强大的PDF库,它允许开发者通过编程方式创建、修改和操作PDF文档。这个库特别适用于根据模板导出PDF,可以高效地实现...
Itext是一个强大的库,它允许开发者在Java环境中创建、编辑和修改PDF文档。本教程将详细讲解如何使用Itext库实现PDF文件的下载,包括通过系统路径下载和通过浏览器下载两种方式。 首先,我们需要了解Itext的基本...
标题提到的"Java通过IText导出word和pdf所有jar",意味着这个压缩包可能包含了一系列必要的Java库,这些库用于通过IText库导出PDF以及可能通过其他库(如Apache POI)导出Word文档。"包括spring相关jar"表明这个包还...
iTextPDF是一个Java库,专门用于创建、编辑和处理PDF文档,而`iText-asian-5.2.0.jar`和`itextpdf-5.5.5.jar`是iText库的不同版本,用于支持中文字符和其他亚洲语言。 1. **iTextPDF**: iTextPDF是iText项目的一...
本主题聚焦于使用Java的iTextPDF库来完成这个任务。iTextPDF是一个强大的Java库,允许开发人员创建、修改和优化PDF文档。 首先,我们需要了解HTML和PDF之间的差异。HTML是一种标记语言,用于构建和设计网页,而PDF...
根据所提供的标题“java itext导出PDF github”以及描述“导出PDF例子,供网友参考”,我们可以推测该文档主要介绍如何利用Java编程语言结合iText库来创建PDF文件。iText是一款非常强大的用于生成和操作PDF文件的开源...
Itext导出PDF,中文不显示字体,在body上设置font-family: "Arial Unicode MS",同时在java中引入fontResolver.addFont("/ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); 就可以显示中文了
总结起来,"Velocity+Itext导出PDF"是一种高效且灵活的方式,可以将动态数据和预定义的模板结合,生成高质量的PDF文档。通过熟练掌握这两个工具的使用,开发者可以创建出满足各种需求的PDF文档生成系统。
**ITextPDF库在Java中的应用:创建模板化的PDF文档** `iTextPDF`是一个流行的开源Java库,用于创建、编辑和操作PDF文档。在这个场景中,我们将探讨如何使用iTextPDF来根据模板生成包含表单、表格、条形码和二维码的...
在标题中提到的"itext导出PDF所需jar包"是指使用iText库来生成PDF文件时所需的Java类库。iText允许开发者通过编程方式生成高质量的PDF文档,包括文本、图像、表格、链接等多种元素,适用于各种业务场景,如报表生成...
在这个场景中,我们需要利用iText来从数据库导出大量数据并生成PDF文件。以下是关于这个主题的详细知识: 1. **iText简介**: iText是一个开源的Java库,它提供了创建、读取、更新和签署PDF文档的功能。它支持多种...
"iText导出pdf不显示中文 ITextRenderer不显示中文"这个问题,通常是由于字体配置不当或者缺失支持中文的字体资源导致的。下面我们将深入探讨这个问题及其解决方案。 首先,我们需要理解iText的工作原理。iText创建...
在这个“java使用iText解析pdf并生成文本文件—eclipse工程”中,我们将探讨如何利用iText库在Java环境中,特别是在Eclipse集成开发环境中,解析PDF文档并将其内容导出为文本文件。 首先,我们需要理解PDF...
本示例将深入讲解如何利用iText库来导出PDF文件,以满足特定的需求。 首先,确保已将iText库添加到项目依赖中。通常,可以通过Maven或Gradle来引入。对于Maven项目,可以在pom.xml文件中添加以下依赖: ```xml ...
iText 是一个强大的 Java 类库,专为生成和编辑PDF文档而设计。它以其灵活性和易用性在开发社区中广受欢迎。通过iText,开发者可以轻松创建包含文本、图像、表格等各种元素的PDF文件。以下是一些关于如何使用iText...