3

我在让外部图形显示在我的 PDF 中时遇到了一些问题。我尝试过使用各种路径,url()但似乎没有任何效果。我还缺少其他东西吗?

<fo:table-cell>
    <fo:block>
        <fo:external-graphic src="url(ss/naam.png)"></fo:external-graphic>
    </fo:block>
</fo:table-cell>
4

5 回答 5

6

我正在使用 Apache FOP 1.1 版本。

首先你应该告诉 apache FOP 基本路径在哪里。您应该照原样复制代码。

    fopFactory = FopFactory.newInstance();
    // for image base URL : images from Resource path of project
    String serverPath = request.getSession().getServletContext().getRealPath("/");
    fopFactory.setBaseURL(serverPath);
    // for fonts base URL :  .ttf from Resource path of project
    fopFactory.getFontManager().setFontBaseURL(serverPath);

在您的 XSL 模板文件中

<fo:table-cell>
    <fo:block>
        <fo:external-graphic src="url(resources/naam.png)"></fo:external-graphic>
    </fo:block>
</fo:table-cell>

这里 naam.png 将在 resources/ 目录中

我在项目的资源总监中添加了所有图像和所需的字体字体文件。它对我来说很好。谢谢

于 2013-10-07T11:21:38.113 回答
4

为绝对路径添加一个<fo:external-graphic>对我有用的唯一方法是将 url 写为url(file:/C:/myPath/image.jpg). 来源

<fo:external-graphic src="url(file:/C:/myPath/image.jpg)"/>
于 2019-01-09T08:58:53.667 回答
0
<fo:external-graphic src="ss/naam.png"/>

这种方式对我有用。

于 2013-03-11T15:55:54.057 回答
0

如果您使用的是变量,这可能会有所帮助:

</fo:table-cell>
                                    <fo:table-cell number-columns-spanned="5"
                                        border="0.1pt solid gray"  
                                        padding="5pt">
                                         <fo:block>
                                            <fo:external-graphic 
                                            display-align="center"
                                            content-width="338px"
                                            content-height="290px"
                                            src="url(file:/{$screenshot-path})">
                                            </fo:external-graphic>
                                        </fo:block>
                                    </fo:table-cell>
于 2022-02-24T21:33:24.133 回答
-1

例如,它在我的 Apache FOP 的 xls-fo 模板中运行。

<fo:external-graphic src='url("src/main/resources/ima/logo.depo.gif")' />
于 2013-01-15T09:23:43.367 回答