CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  框架、开源

怎样在客户端打印一个pdf文件

楼主KitSdk(kitsdk)2004-04-04 18:33:07 在 Java / 框架、开源 提问

在客户端怎么用java   打印一个PDF文件    
  也就是怎么把一个已经存在的PDF文件发送到打印机 问题点数:100、回复次数:8Top

1 楼totodo(土豆仙)回复于 2004-04-05 09:27:20 得分 0

你试一下ireport吧。  
   
  upTop

2 楼CoolAbu(阿卜-Never Stop(★★★★))回复于 2004-04-05 12:47:35 得分 50

试试如下代码  
   
  import   javax.print.*;  
  import   javax.print.attribute.*;  
  import   javax.print.attribute.standard.*;  
  import   java.io.*;  
   
  public   class   PrintFileTest{  
   
          public   static   String   TMP_FILE="C:\\172.gif";  
          public   static   void   main(String[]   args){  
              String   filename   =   TMP_FILE;  
              PrintRequestAttributeSet   pras   =   new   HashPrintRequestAttributeSet();  
              DocFlavor   flavor   =   DocFlavor.INPUT_STREAM.GIF;  
              PrintService   printService[]   =   PrintServiceLookup.lookupPrintServices(flavor,   pras);  
              PrintService   defaultService   =       PrintServiceLookup.lookupDefaultPrintService();  
              PrintService   service   =   ServiceUI.printDialog(null,   200,   200,printService,   defaultService,   flavor,   pras);  
              if   (service   !=   null)   {  
                  try  
                  {  
                      DocPrintJob   job   =   service.createPrintJob();  
                      FileInputStream   fis   =   new   FileInputStream(filename);  
                      DocAttributeSet   das   =   new   HashDocAttributeSet();  
                      Doc   doc   =   new   SimpleDoc(fis,   flavor,   das);  
                      job.print(doc,   pras);  
            //           Thread.sleep(10000);  
                  }catch(Exception   e)  
                  {  
                      e.printStackTrace();  
                  }  
              }  
              System.exit(0);  
          }  
  }  
   
  下面是的PDF是Java中那两个打印包的用法,还有例子,大家可以下下来看看。  
  http://java.sun.com/j2se/1.4.2/pdf/JPS_PDF.pdf  
  Top

3 楼goldenhua(Stay foolish. Stay hungry.)回复于 2004-04-05 14:05:11 得分 0

真是个奇怪的问题!一般的说,你只需要在客户端安装Acrobat即可。Top

4 楼KitSdk(kitsdk)回复于 2004-04-05 15:34:41 得分 0

CoolAbu(阿卜-Never   Stop):  
  当我改为  
  DocFlavor   flavor   =   DocFlavor.INPUT_STREAM.PDF  
  之后就找不到可用的打印机   也就是printService[]   长度为0  
  请指点  
  Top

5 楼CoolAbu(阿卜-Never Stop(★★★★))回复于 2004-04-05 16:13:13 得分 30

你把Flavor改成如下的试试。  
  DocFlavor   flavor   =   DocFlavor.INPUT_STREAM.AUTOSENSE  
   
   
  Top

6 楼KitSdk(kitsdk)回复于 2004-04-05 19:44:36 得分 0

我改为DocFlavor   flavor   =   DocFlavor.INPUT_STREAM.AUTOSENSE     要么是抛出flavor不匹配的异常   要么打印出好多00111的二进制字符  
  急啊!!!Top

7 楼satangf(好好学习,天天向上!)回复于 2004-04-05 20:06:54 得分 0

学习一下!Top

8 楼etre(林荃)回复于 2004-04-06 10:27:46 得分 20

上面那段代码是不行的,因为java本身并没有pdf文件的解析,他只是提供service.你得自己实现.所以最简单的就是在client安装Acrobat,然后通过activex技术嵌进来。  
  当然adobe去下载pure的pdf   viewer然后可以很好的嵌放你的程序,不过很报谦,他现在还不支持中文。Top

相关问题

  • 如何打印PDF文件?
  • PDF文件打印问题
  • pdf文件如何打印
  • 关于pdf文件不允许打印
  • PDF文件,不能打印,求教!!!
  • 能否直接把要打印的文件转化成jpg or pdf 文件输出?
  • 关于处理pdf格式文件打印的问题。急!
  • pdf文件显示正常,打印失败!
  • 如何打印China-pub.com上下载的PDF文件
  • 关于pdf文件的打印解密问题

关键词

  • 文件
  • 打印
  • 客户
  • service
  • docflavor
  • printservice
  • flavor
  • pdf
  • pras
  • stream

得分解答快速导航

  • 帖主:KitSdk
  • CoolAbu
  • CoolAbu
  • etre

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo