【问题标题】:Printing a .TIF file打印 .TIF 文件
【发布时间】:2011-10-20 23:12:14
【问题描述】:

我可以使用以下代码 sn-p 成功打印 .GIF、.JPG 或 .PNG,但它不适用于 .TIF 文件。即使添加了chromaticity.color 属性,我也无法获得颜色。

public class PrintImage {
    static public void main(String args[]) throws Exception {
    PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
    pras.add(new Copies(1));
    pras.add(chromaticity.color);
    PrintService pss[] = PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.GIF,     pras);

    if (pss.length == 0)
        throw new RuntimeException("No printer services available.");

    PrintService ps = pss[0];
    System.out.println("Printing to " + ps);
    DocPrintJob job = ps.createPrintJob();
    String fileName = "C:/labels/2.tif"
    FileInputStream fin = new FileInputStream(fileName);
    Doc doc = new SimpleDoc(fin, DocFlavor.INPUT_STREAM.GIF, null);
    job.print(doc, pras);
    fin.close();
}

如何支持 .TIF 进行打印?

【问题讨论】:

  • "能够打印 .GIF、.JPG 或 .PNG" 尝试ImageIO.getReaderFileSuffixes() 以查看 bmp、gif、jpeg、jpg、 png 和 wbmp 在这些时间列出(至少在 Windows 上)。如果安装了 JAI,该列表会更长。有关更全面的媒体支持列表,请参阅 MediaTypes code

标签: java printing tiff jai


【解决方案1】:

对 TIFF 使用 Java Advanced Imaging API。 JAI 可以处理多页 TIFF 文件、TIFF 中的 JPEG 和一些压缩方案。如果您仍然无法打印,您可以使用 API 将您的 TIFF 文件转换为 PNG。

【讨论】:

  • 谢谢....我尝试了 JAI,但是如何使用上述格式打印它...即我将以下内容添加到代码 RenderImage image=JAI.create("fileload",filename)....但我不确定如何使用 job.print() 打印它,并且还将将 tiff 文件转换为 png降低图像质量?
  • TIFF 比 PNG 或 JPEG 稍微复杂一些。造成这种情况的原因之一是它可以有很多页面。它可以保存无损或有损 JPEG 图像以及用于裁剪的矢量图形。如果您的图像是无损的,它将保持无损。检查此链接以进行打印:forums.oracle.com/forums/thread.jspa?threadID=1287628
  • 谢谢 ....我得到了图像打印。只有我对缩放有一些问题。上面的链接很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-23
  • 1970-01-01
  • 2012-11-01
  • 2011-10-22
  • 2023-02-24
相关资源
最近更新 更多