易截截图软件、单文件、免安装、纯绿色、仅160KB

java平台下通过jacob对excel,word进行打印等操作

  因为项目有个需求,要求能够在某个预定时间对特定报表进行自动打印。报表的形式主要是excel。如果是c++或者c#什么的,简直是小菜一碟。可惜,偏偏是java实现。并且,这又不同于常见的页面手工打印,可以通过javascript调用打印机来实现。于是乎,开始摸索如何实现该功能。
      首先想到的是java自带的打印类。在javax.print包下。根据jdk说明,照着搬来了个程序,小试牛刀。
/**
* @author xjj
* 说明:打印类
* email: exceljava@163.com
* @date Oct 29, 2008
*/
public class AutoPrint {
public static void main(String[] args) {
FileInputStream psStream;
try {
psStream = new FileInputStream("file.ps");
} catch (FileNotFoundException ffne) {
}
if (psStream == null) {
return;
}
DocFlavor psInFormat = DocFlavor.INPUT_STREAM.POSTSCRIPT;
Doc myDoc = new SimpleDoc(psStream, psInFormat, null);
PrintRequestAttributeSet aset =
new HashPrintRequestAttributeSet();
aset.add(new Copies(5));
aset.add(MediaSize.A4);
aset.add(Sides.DUPLEX);
PrintService[] services =
PrintServiceLookup.lookupPrintServices(psInFormat, aset);
if(services.length<1){
throw new RuntimeException("找不到打印机");
}
if (services.length > 0) {
DocPrintJob job = services[0].createPrintJob();
try {
job.print(myDoc, aset);
} catch (PrintException pe) {}
}

}  
通过测试,始终无法找到打印机,运行时报定义的:找不到打印机。听说,局域网内的打印机无法链接,打印机只能连在本机上。而测试的打印机刚好在局域网内而不在本机上。然后,查看了下文档,忽然发现,java自带的打印只对plain文本,gif,jpeg,pdf等支持,而对excle,word等是不支持的。看来要学会放弃,goodbye java print。
       有道是:车道山前必有路。这不,关键时刻,jacob出


相关文档:

java入门

 Java学习从入门到精通 
一、 JDK (Java Development Kit) 
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......

java使用rocksaw和vserv tcpip实现基于ICMP的Ping功能

一:准备 www.savarese.org download
 1.  rocksaw-1.0.0-src.tar.gz
 2.  vserv-tcpip-0.9.2-src.tar.gz
二:编译源文件得到jar包 使用Ant
 1.  build vserv-tcpip-0.9.2-src
      在vserv-tcpip-0.9.2目录下面建一个tests目录,然后在cmd窗口下进入 ......

稿子分门别类:Java编程

渣滓回收的悖论
所谓“成也萧何败萧何”。Java的渣滓回收确确实实带到了很多好处,为开发带回了方便。但是在一些高性能、高并发的情况下,渣滓回收确变为了钳制Java使用的瓶颈。当前JDK的渣滓回收算法,始终没法解决渣滓回收时的暂停问题,由于这个暂停严重影响了程序的呼应时间,促成堵塞或积聚。这也是后续JDK ......

传智播客的JAVA SE高级视频3 GUI 自学笔记

GUI:Graphical User Interface
     JDK中:AWT和Swing
    GUI组件分为两大类:基本组件和容器。
    基本组件继承自java.awt.Component或其子类
    容器继承自java.awt.Container或其子类
    程序GUI部分由AWT线程管理。
事件 ......

Java 过滤字符串(用模式匹配实现)

//Number 11   过滤字符串中的非数字字符
import java.util.regex.*;
import java.util.Scanner;
public class GuoLv{
    public static void main(String args[]){
       Scanner    reader    = new Scanner(System.in);
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号