【问题标题】:Convert colored text from HTML to DOCBOOK (and to PDF)将彩色文本从 HTML 转换为 DOCBOOK(和 PDF)
【发布时间】:2015-09-29 13:46:36
【问题描述】:

我想创建一个 xslt 样式表来将(简单)html 转换为 DOCBOOK(然后将通过 FO 转换为 PDF)。所有基本格式的东西都很好用。现在我想在文本中有颜色。 HTML 代码如下所示:

<span style="color: #eag000;">colored text</span> or
<font color="#eag000">more colored text</font>

我发现了一些建议使用的线程

<emphasis role="red">colored text</emphasis> 

在 DOCBOOK 中,但我得到的颜色不仅仅是“红色”,而是一些随机的十六进制值。

在 DOCBOOK 中获取彩色文本的最佳方法是什么(以便后面的 FO 转换可以识别)?在不修改 DOCBOOK-to-FO 转换的情况下,是否有可能实现这一点?

感谢您的帮助!

【问题讨论】:

  • 有一种简单的方法可以创建 DocBook XSL 样式表自定义层。见sagehill.net/docbookxsl/CustomMethods.html#CustomizationLayer。因此,您可以在 DocBook XSL-FO 样式表之上创建这样一个层。首先,创建一个 mystyles.xsl 文件来执行您想要的操作,然后,当您执行 DocBook->FO 转换时,像这样运行它:xsltproc --output myfile.html mystyles.xsl myfile.xml ...其中mystyles.xsl 是一个自定义层样式表,如上面的那个, myfile.xml 是您之前的 HTML->DocBook 转换产生的 DocBook 文档。

标签: html pdf xslt docbook


【解决方案1】:

由于 DocBook 没有记录与元素一起使用的颜色的方法,我不知道如果不修改 DocBook 到 FO 的转换,您将如何获得所需的内容。

如果您想扩展 DocBook 以添加您自己的颜色属性,您可以。参见http://www.docbook.org/tdg5/en/html/ch05.html中的“添加属性”

(错误)使用role 属性可能更简单也更常见,(几乎)所有DocBook 元素都允许使用该属性。然后,您可以自定义样式表以使用 role 属性中的颜色值做正确的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    • 2016-06-19
    • 2012-06-06
    相关资源
    最近更新 更多