java-Tiff的getImageWritersByFormatName中的问题.获取图像作家

我正在尝试将PDF转换为tif图像.我使用以下代码按格式获取图像编写器.

Iterator<ImageWriter> writers = ImageIO.getImageWritersByFormatName("TIFF");

        if (writers == null || !writers.hasNext()) {
            throw new ImageWritingException();
        }

当我在Eclipse中独立运行应用程序时,这可以正常工作.但是,当我将应用程序部署到Linux中的tomcat服务器时,writers == null为false,但!writers.hasNext为true导致抛出Exception.

我使用Maven构建战争项目.

我在pom文件中具有以下依赖项.

<dependency>
            <groupId>org.icepdf</groupId>
            <artifactId>icepdf-core</artifactId>
        </dependency>

        <dependency>
            <groupId>com.sun.media</groupId>
            <artifactId>jai_imageio</artifactId>
        </dependency>

        <dependency>
            <groupId>com.sun.media</groupId>
            <artifactId>jai-codec</artifactId>
        </dependency>

        <dependency>
            <groupId>javax.media</groupId>
            <artifactId>jai_core</artifactId>
        </dependency>

两种环境之间有什么区别?如何解决此问题?

解决方法:

Java Advanced Imaging插件jai_core.jar提供了对Tiff的支持.

为了正常工作,需要将jar文件添加到JVM的ext目录中,否则它将无法正确注册.

上一篇:从String用python编写TIFF文件


下一篇:Java处理TIF图像