5

我有一个相当大的 asciidoc 文档,我将其动态转换为 PDF 以供我们的开发人员指南使用。由于文档通常引用我们开发人员指南中记录的 Java 类,因此我们将它们直接转换为文档中的链接,例如:

In this block we create a new 
https://www.codenameone.com/javadoc/com/codename1/ui/Form.html[Form] 
named `hi`. 

这在大多数情况下工作得很好,并且在 HTML 中看起来很棒,因为对类的每个引用都直接导致其 JavaDoc,从而使引用/指南过程更加简单。

但是,当我们生成 PDF 时,我们最终会在某些页面上出现类似这样的内容:

脚注地狱

通常我不会介意很多脚注,甚至是前一页的重复。但是,在这种情况下,指向 Container 的链接出现了 3 次。

我可以删除一些链接,但我宁愿不这样做,因为它们在网络版本上很有意义。由于我也不知道分页符将落在哪里,我宁愿自己不这样做。

这在我看来像是某处的错误,如果链接相同,则链接的脚注应该只生成一次。

如果这是要付出的代价,我可以删除文档中的所有链接脚注,尽管我宁愿能够根据具体情况执行此操作,因此某些链接仍可打印

4

2 回答 2

2

在 fo-pdf.xsl 中添加这两个参数删除脚注:

<xsl:param name="ulink.footnotes" select="0"></xsl:param>
<xsl:param name="ulink.show" select="0"></xsl:param>

第一个参数禁用脚注,这会触发 url 重新出现内联。
第二个参数从文本中删除 url。链接保持活跃和可点击。

非零值切换这些参数。

来源:
http ://docbook.sourceforge.net/release/xsl/1.78.1/doc/fo/ulink.show.html

于 2016-12-27T21:12:41.963 回答
1

我们在稍微不同的情况下寻找类似的东西,但没有找到解决方案。我们最终编写了一个处理器,它只是剥离了一些链接,例如,在以“===”开头的部分中指向同一 URL 的每个链接。

不是一个理想的情况,但据我所知,这是唯一的方法。

于 2016-02-02T17:52:54.327 回答