当前位置: 首页 > 知识库问答 >
问题:

org . Apache . XML graphics . image . loader . image异常:不支持该文件格式。找不到图像预加载程序

谷梁向荣
2023-03-14

我使用Apache FOP 1.1(Java)生成PDF文件。它在windows机器上运行良好,但当我使用Ubuntu机器时,我遇到了这个错误

org.apache.xmlgraphics.image.loader.ImageException: The file format is not supported.  No ImagePreloader found

我有点困惑。请给我解决这个问题的方法。谢谢你

共有3个答案

潘璞瑜
2023-03-14

gradle的等效解决方案是:

shadowJar{
    mergeServiceFiles()
}
谢旻
2023-03-14

我只从斯塔科弗洛那里得到了解决方案。我特别感谢这篇文章的作者Apache FOP in a Java Applet-No ImagePreloader for data

With reference from above post , To give precedence to XmlGraphics
API , 
  1. I have excluded XML-graphics API from FOP jar
  2. added new maven dependency XmlGraphics API and placed above FOP dependancy
  3. so that POM will give priority


   <dependency>
        <groupId>xmlgraphics-commons</groupId>
        <artifactId>xmlgraphics-commons</artifactId>
        <version>1.4</version>
    </dependency>

    <dependency>
        <groupId>org.apache.xmlgraphics</groupId>
        <artifactId>fop</artifactId>
        <version>1.1</version>
        <exclusions>
            <exclusion>
                <artifactId>xmlgraphics-commons</artifactId>
                <groupId>org.apache.xmlgraphics</groupId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>org.apache.avalon.framework</groupId>
        <artifactId>avalon-framework-api</artifactId>
        <version>4.3.1</version>
    </dependency>

    <dependency>
        <groupId>org.apache.avalon.framework</groupId>
        <artifactId>avalon-framework-impl</artifactId>
        <version>4.3.1</version>
    </dependency>

谢谢你

裴宜春
2023-03-14

问题是 FOP jar 文件和 xmlgraphics-commons jar 文件中存在的 META-INF/services/ 配置文件之间存在冲突。

如果您使用maven并希望避免有时可能导致麻烦的排除,您可以使用maven阴影插件构建一个jar并强制连接META-INF/Services/中的配置文件。像这样的片段对我很有用:

   <build>
        <finalName>desired_jar_name</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <transformers>
                        <transformer
                            implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
                        <transformer
                            implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                            <mainClass>my.main.class</mainClass>
                        </transformer>
                    </transformers>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
 类似资料:
  • 问题内容: 我正在尝试查找图像预加载器脚本。 虽然我发现了一些,但它们都不支持在预加载完成时触发的事件。 有谁知道会执行此操作的任何脚本或jQuery插件? 希望此问题适合stackoverflow-如果不行,请随时将其删除。 问题答案: 这是一个将从数组中预加载图像并在最后一个完成时调用回调的函数: 而且由于我们现在处于使用诺言进行异步操作的时代,因此以下是使用诺言并通过ES6标准诺言通知调用方

  • 问题内容: 该医生说:。因此,正如我所言,我已经将自己放在文件夹中,然后尝试从文件中加载。现在我有2个错误:1)来自:。2)来自我: webpack.config.js 如果我看到自己的代码,则可以清楚地看到css位于内部,因此正如文档所述,我已将映像的路径指向了根目录,但仍然无法修复。 更新: 我已经安装并按照说明进行操作,现在在控制台中收到此错误: 问题答案: 为了解决这个问题,我已经上传了这

  • 我创建了一个新文件,但得到以下错误: java.io.FileNotFoundException:C:\users\xxx\ap\metadata\cb_2015-09-01_07-31-01.ini(Sistem belirtilen Dosyay ̄Bulam ̄Yor)在java.io.fileInputStream.Open0(本机方法)在java.io.fileInputStream.Ope

  • 我正在尝试从我的Android应用程序上传一个图像到rest服务器。图片确实上传了,但在服务器上,照片查看器或其他图片应用程序无法打开上传的图片。我在服务器上使用netbeans 7中的glassfish 3。我不使用maven,我更喜欢非Moven解决方案。 下面是我用来在一个运行程序中从android上传图片的代码 我尝试在AddBinaryBody中将mime类型更改为multipart/f

  • 问题内容: 我有这个代码片段,我正在尝试使用python从文件末尾向后搜索: 运行时将引发以下异常: 我在这里想念什么吗? 问题答案: 从Python 3.2及更高版本的文档中: 在文本文件中(那些在模式字符串中不带a开头的文件),仅允许相对于文件开头的查找(查找到文件末尾为的例外)。 因此,您可以将程序更改为: 但是,您应该注意,在读取或写入文本时添加标志会产生意想不到的后果(例如,使用多字节编

  • 在使用boto3 for python实现aws textract时。 代码: 下面是aws的凭证和配置文件 我得到了一个例外: 我对AWS textract有点陌生,任何帮助都将不胜感激。