- 浏览: 180687 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
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 2485最近做项目需要程序自动生成shapfile,生成shapef ... -
HTML解析器 jsoup
2012-06-28 08:40 1408解析和遍历一个html文 ... -
HttpSessionBindingListener,HttpSessionListener的用法
2011-12-14 10:37 13491、HttpSessionListener 添加类Onlin ... -
jbpm4.4 api帮助文档
2011-10-27 09:51 975记录下jbpm4.4学习过程。。。。 -
pushlet-开源的comet
2011-09-01 10:15 1054Pushlet是一种comet实现:在Servlet机制下,数 ... -
DBUtils的使用
2011-08-15 14:39 894最近项目的详细设计文档写完了,真是累死人。写了150多页那。终 ... -
利用apache commons-email发送邮件
2011-07-20 17:23 4546本文利用apaceh commons-email发送邮件,记录 ... -
struts2 (# % $)井号,百分号,美圆号的含义和使用举例
2011-06-13 21:13 2847struts2 OGNL,struts2 表达 ... -
spring事务管理全解析
2011-05-10 16:28 918了解事务: ... -
JAVA设计模式之事务处理
2011-05-10 16:00 880事务处理是企业应用需要解决的最主要的问题之一。J2EE通过JT ... -
struts2文件下载功能实现
2011-04-01 10:27 972Struts2配置如下: <action n ... -
使用ireport+jasperreports心得
2011-03-25 09:29 14141. 数据源数据为空时显示空白? 解决方法: ... -
解决java乱码问题
2011-01-06 09:08 864最近遇到个怪问题,在本地是好好的,不会有乱码, ... -
MyEclipse快捷键大全
2010-12-28 13:55 889------------------------------- ... -
struts2获取文件类型,文件后缀名
2010-12-15 15:49 3096在网上找了好多资料,发现都不是自己想要的结果,最后在外国网站上 ... -
ubuntu myeclipse安装svn插件,unable to load default svn client问题
2010-12-09 14:06 2594启动时会提示: Failed to load JavaHL ... -
配置ubuntu j2ee开发环境
2010-12-06 15:23 2871最近公司项目在验收,闲的要死,之前开发平台都是wi ...
相关推荐
java 使用IText导出PDF(包含图片、表格、文字等等Demo和依赖包),最全IText使用Demo,下载即可用
下面小编就为大家带来一篇java使用itext导出PDF文本绝对定位(实现方法)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
NULL 博文链接:https://zhaining123129-gmail-com.iteye.com/blog/1832509
adobe pdf编辑器,解压安装即可使用,配合java利用itextpdf根据模板导出pdf文章中只做模板的方法;
Java通过IText导出word和pdf所有jar(包括spring相关jar,是我工程中所有的jar包)
java使用itext实现pdf文件下载小案例,通过系统路径下载,和通过浏览器下载
包含 itext-asian-5.2.0.jar itextpdf-5.5.5.jar
Itext导出PDF,中文不显示字体,在body上设置font-family: "Arial Unicode MS",同时在java中引入fontResolver.addFont("/ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); 就可以显示中文了
java实现html转pdf,包含后端代码,html测试页面,pom依赖,jar包,如页面过于复杂需调整页面,有些样式itextpdf不支持,请寻找其它样式替换。
itext 导出pdf java demo
java 利用itext操作pdf从数据库导出大量数据,有详细文档。
此文档主要讲述了使用Java组件iText来生成PDF,操作PDF
itext java 导出pdf工具 itext java 导出pdf工具 itext java 导出pdf工具
代码说明 https://blog.csdn.net/ruixue0117/article/details/77599808?spm=1001.2014.3001.5501
导出PDF例子,供网友参考,导出PDF例子,供网友参考,导出PDF例子,供网友参考
itext导出pdf不显示中文 ITextRenderer不显示中文,终极解决方案!!!绝对能解决!!!
使用IText生成PDF和WORD文档 包括源码和IText所需jar包
iText生成pdf解决中文不显示字库,pdf凉字不显示,由于生成iText插件生成pdf的时候中文会显示不出来,遇到过的是"凉"字,查到是字体库的原因,网上下载字体库msyh.ttc,生成的时候指定字体库,就可以解决了,小bug一...
在Java代码中使用itext生成PDF文档,实现PDF文档的导出。