用java打印多页tiff

用java打印多页tiff,java,swing,file,printing,tiff,Java,Swing,File,Printing,Tiff,如何用java打印多页.tiff文件? 我用过 DocFlavor=DocFlavor.INPUT\u STREAM.GIF但它不工作。 是否有其他方法或docflavor打印此可分页文件??? 这就是我们正在做的示例代码 public class Printing { public static void main(String[] args) throws Exception{ IIORegistry registry = IIORegistry.getDefaultInst

如何用java打印
多页
.tiff
文件?

我用过
DocFlavor=DocFlavor.INPUT\u STREAM.GIF但它不工作。
是否有其他方法或docflavor打印此可分页文件???
这就是我们正在做的示例代码

public class Printing { 

 public static void main(String[] args) throws Exception{  

 IIORegistry registry = IIORegistry.getDefaultInstance();    
 registry.registerServiceProvider(new com.sun.media.imageioimpl.plugins.tiff.TIFFImageWriterSpi());    
 registry.registerServiceProvider(new com.sun.media.imageioimpl.plugins.tiff.TIFFImageReaderSpi());     


   String filename = "C:/Users/trainees/Desktop/abcd.TIFF";  
   PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();  
   DocFlavor flavor = DocFlavor.INPUT_STREAM.JPEG;  

   PrintService printService[] =   
   PrintServiceLookup.lookupPrintServices(flavor, pras);  
   PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();  
   PrintService service = defaultService;  

   if (service != null) {  
      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);  
   }  
   System.exit(0);  
}  

}

您可以创建一个
java.awt.print.Book
,并使用
Book.append将每页追加到
Book
中(此,页面格式,页面)方法。然后打印,这将打印tiff的所有页面。

出于质量目的,我不想将.tiff文件转换为.pdf文件。您可能需要实现一个
可打印的
并直接渲染图像,请查看更多详细信息。只需知道,你要负责重新缩放。此外,您需要使用
ImageIO
来加载文件,但也需要使其工作。朋友,我们使用的是相同的东西(可打印,JAI),但它不是打印
.tiff
文件。您需要深入了解打印API,而不是依赖更新的属性API,您需要使用
Printable