Apache FOP fox:external-文档在使用 PDF 文件时不工作

Apache FOP fox:external-document not working when using PDF file

我正在尝试使用 Apache FOP fox:external-document 附加 pdf 文档,但在使用 pdf 类型时抛出以下异常:

SEVERE: Image not available. URI: /pathToPdf/file.pdf. Reason: org.apache.xmlgraphics.image.loader.ImageException: The file format is not supported. No ImagePreloader found for /pathToPdf/file.pdf (See position 202:89)
org.apache.xmlgraphics.image.loader.ImageException: The file format is not supported. No ImagePreloader found for /pathToPdf/file.pdf
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions">
    <xsl:template match="/">
        <fo:root>
            <fo:layout-master-set>
                ...
            </fo:layout-master-set>            

            <fox:external-document content-type="pdf" src="/pathToPdf/file.pdf"/>
        </fo:root>
    </xsl:template>
</xsl:stylesheet>

我正在使用 Apache FOP 2.3 和 Java 8

扩展名 属性 fox:external-document 最初是为了在 pdf 输出中插入 图像 作为页面。

为了将它与 pdf 文件一起使用,您需要 PDF Images Plug-In.

只需下载(或link)jar 到 lib 文件夹中,一切都会如您所愿。

从文件系统或资源添加 pdf 对我来说工作正常:

Filesystem:
<fox:external-document src="url('file:D:///resource/test.pdf')"/>
Resource:
<fox:external-document src="url('file:resource/test.pdf')"/> 

Remember to add:
  xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf"
and 
  xmlns:fox="http://xmlgraphics.apache.org/fop/extensions"