仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 478|回复: 10
打印 上一主题 下一主题

[学习教程] 来看[JAVA100例]039、天生PDF文件

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:21:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。
importcom.lowagie.text.*;
importcom.lowagie.text.pdf.*;
importjava.io.*;
importjava.util.*;
importjava.awt.Color;
/**
*<p>Title:天生PDF文件</p>
*<p>Description:本实例经由过程利用iText包天生一个表格的PDF文件</p>
*<p>Copyright:Copyright(c)2003</p>
*<p>Filename:myPDF.java</p>
*@version1.0
*/
publicclassmyPDF{
/**
*<br>办法申明:写PDF文件
*<br>输出参数:
*<br>前往范例:
*/
 publicvoidwrite(){
 try{
  Documentdocument=newDocument(PageSize.A4,50,50,100,50);
  RectanglepageRect=document.getPageSize();
  PdfWriter.getInstance(document,newFileOutputStream("tables.pdf"));
  //创立汉字字体
  BaseFontbfSong=BaseFont.createFont("STSong-Light","UniGB-UCS2-H",false);
  FontfontSong=newFont(bfSong,10,Font.NORMAL);
  //增添一个水印
  try{
    Watermarkwatermark=newWatermark(Image.getInstance("test.jpg"),pageRect.left()+50,pageRect.top()-85);
    watermark.scalePercent(50);
    document.add(watermark);
  }catch(Exceptione){
  System.err.println("请检察文件“test.jpg”是不是在准确的地位?");
  }
 
   //为页增添页头信息
  HeaderFooterheader=newHeaderFooter(newPhrase("Java实例一百例",fontSong),false);
  header.setBorder(2);
  header.setAlignment(Element.ALIGN_RIGHT);
  document.setHeader(header);
 
 //为页增添页脚信息
  HeaderFooterfooter=newHeaderFooter(newPhrase("第",fontSong),newPhrase("页",fontSong));
  footer.setAlignment(Element.ALIGN_CENTER);
  footer.setBorder(1);
  document.setFooter(footer);
//翻开文档
  document.open();
  //机关表格
  Tabletable=newTable(4);
  table.setDefaultVerticalAlignment(Element.ALIGN_MIDDLE);
  table.setBorder(Rectangle.NO_BORDER);
  inthws[]={10,20,10,20,};
  table.setWidths(hws);
  table.setWidth(100);
  //表头信息
  Cellcellmain=newCell(newPhrase("用户信息",newFont(bfSong,10,Font.BOLD,newColor(0,0,255))));
  cellmain.setHorizontalAlignment(Element.ALIGN_CENTER);
  cellmain.setColspan(4);
  cellmain.setBorder(Rectangle.NO_BORDER);
  cellmain.setBackgroundColor(newColor(0xC0,0xC0,0xC0));
  table.addCell(cellmain);
   //分表头信息
  Cellcellleft=newCell(newPhrase("收货人信息",newFont(bfSong,10,Font.ITALIC,newColor(0,0,255))));
  cellleft.setColspan(2);
  cellleft.setHorizontalAlignment(Element.ALIGN_CENTER);
  table.addCell(cellleft);
  Cellcellright=newCell(newPhrase("定货人信息",newFont(bfSong,10,Font.ITALIC,newColor(0,0,255))));
  cellright.setColspan(2);
  cellright.setHorizontalAlignment(Element.ALIGN_CENTER);
  table.addCell(cellright);
 
  //收货和定货人信息,表体内容
  table.addCell(newPhrase("姓名",fontSong));
  table.addCell(newPhrase("张三",fontSong));
  table.addCell(newPhrase("姓名",fontSong));
  table.addCell(newPhrase("李四",fontSong));
table.addCell(newPhrase("德律风",fontSong));
  table.addCell(newPhrase("23456789",fontSong));
  table.addCell(newPhrase("德律风",fontSong));
  table.addCell(newPhrase("9876543",fontSong));
table.addCell(newPhrase("邮编",fontSong));
  table.addCell(newPhrase("100002",fontSong));
  table.addCell(newPhrase("邮编",fontSong));
  table.addCell(newPhrase("200001",fontSong));
table.addCell(newPhrase("地点",fontSong));
  table.addCell(newPhrase("北京西城区XX路XX号",fontSong));
  table.addCell(newPhrase("地点",fontSong));
  table.addCell(newPhrase("上海陆家嘴区XX路XX号",fontSong));
table.addCell(newPhrase("电子邮件",fontSong));
  table.addCell(newPhrase("zh_san@hotmail.com",fontSong));
  table.addCell(newPhrase("电子邮件",fontSong));
  table.addCell(newPhrase("li_si@hotmail.com",fontSong));
  //将表格增加到文本中
  document.add(table);
  //封闭文本,开释资本
  document.close();

 }catch(Exceptione){
  System.out.println(e);
 }
 }
/**
*<br>办法申明:主办法
*<br>输出参数:
*<br>前往范例:
*/
 publicstaticvoidmain(String[]arg){
  myPDFp=newmyPDF();
  p.write();
 }
}

那这个对象有什么意义?现在很多用javabean的人就不能保证对象有完整的意义,不成熟的使用模式等导致代码疯狂增长,调试维护的时间要得多得多。在说性能之前,先说说你这个比较的来历。据说微软为了证明。net网页编程比java好。
爱飞 该用户已被删除
沙发
发表于 2015-1-20 21:39:33 来自手机 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
若相依 该用户已被删除
板凳
发表于 2015-1-30 05:45:36 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
活着的死人 该用户已被删除
地板
发表于 2015-2-1 16:29:17 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
因胸联盟 该用户已被删除
5#
发表于 2015-2-7 08:34:28 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
谁可相欹 该用户已被删除
6#
发表于 2015-2-9 22:45:06 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
只想知道 该用户已被删除
7#
发表于 2015-2-25 23:46:32 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-4 00:15:09 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
海妖 该用户已被删除
9#
发表于 2015-3-11 14:06:37 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
深爱那片海 该用户已被删除
10#
发表于 2015-3-18 16:55:31 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
愤怒的大鸟 该用户已被删除
11#
发表于 2015-3-26 05:05:46 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 16:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表