怎样在客户端打印一个pdf文件
在客户端怎么用java 打印一个PDF文件
也就是怎么把一个已经存在的PDF文件发送到打印机
问题点数:100、回复次数:2Top
1 楼CoolAbu(阿卜-Never Stop(★★★★))回复于 2004-04-05 12:47:59 得分 100
试试如下代码
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
2 楼KitSdk(kitsdk)回复于 2004-04-05 15:46:39 得分 0
楼上几位高手 我把GIF 改为 PDF之后就找不到可用的打印机了,也就是PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);中printService[]的长度为0
请各位指点
Top




