飞碟蜡染和跑步脚不能一起工作



我有个挑战给你们。我试图创建一个带有SVG图像的页脚xhtml文档,然后将其渲染为pdf。我用飞碟和蜡染的组合来做这件事。现在我了解到飞碟支持行页脚,例如

@page {
  @top { content: element(footer); }
}
footer { position: running(footer); }

这对我来说很好,但是当我用蜡染添加SVG图像时,出现了一个问题:

<html>
<head>
    <style type="text/css"> 
    .footer { position: running(footer); } 
    @page { @bottom-center { content: element(footer) } } 
    .header__logo {display: block; right: 0; top: 0; width: 150px; height: 54px; } 
    </style>
</head>
<body>
    <div class="footer">
        <img class='header__logo' src='someSRC.svg' />
        footer
    </div>
    <div class="content"> stuff </div>
</body>

看起来像Batik在将图像移动到页面底部之前渲染了图像。此外,它不显示'页脚'字的任何地方。有人知道怎么解决这个问题吗?也许强迫蜡染晚点再渲染什么的?我试过将内部图像的位置设置为相对或更多,但它似乎真的把这个过程搞砸了。

我自己也遇到过类似的问题。虽然我仍然无法解决整个问题,但我至少设法显示了SVG:您绝对需要在<img>元素(通过class或style属性)上添加高度和宽度的css样式。如果没有这两个属性,就根本无法绘制SVG(至少在使用web上的示例代码时是这样)。

实现了呈现本身之后,我意识到SVG将相对于页面内容的左上角定位(意思是,不是在您期望的页眉或页脚区域内)。此外,它只被绘制在第一页(而PNG图像没有这两个问题)。

如果有人对此有一个有效的解决方案,请在这里发布。对我来说,不幸的是,这是一个在专业背景下使用飞碟的表演终结者。

编辑:

在飞碟和ittext的源代码中挖掘,我发现了一个"解决方法",它可能实际上为我解决了这个问题:如果您将SVG转换为PDF,那么您可以将徽标直接包含为PDF而不是SVG。好像是ittext。因此,即使在页眉和页脚中也可以这样使用:

<img style="width: 30mm; height:8mm;" src="/img/my-funky-logo.pdf"/>

最新更新