【问题标题】:Generate a PDF with XSL/FO from XSLT (html)从 XSLT (html) 生成带有 XSL/FO 的 PDF
【发布时间】:2017-05-20 22:32:35
【问题描述】:

我有一个 XML 和一个生成 HTML 输出的 XSLT。

我想用 XSL/FO 生成一个 PDF,它提供类似于 HTML 输出的渲染,只是在 PDF 中分页。

为此,我知道我必须使用 XSL/FO 样式表来生成 .fo 文件,然后我必须使用 Apache FOP 从 .fo 文件生成 pdf。

我的问题是:如何从生成 HTML 文件的 XSLT .xsl 样式表中获得生成 .fo 文件的 XSL/FO .xsl 样式表?

有什么简单的方法可以将一个 XSL (html) 转换为另一个 XSL (xsl/fo) 吗?

谢谢

【问题讨论】:

  • 可能需要更多细节。就像您的 HTML 使用 css 一样,是 css 内联还是外部。是否使用Javascript动态绘制?
  • 我的 HTML 使用 CSS(内联)并且没有 javascript。

标签: html xml pdf xslt xsl-fo


【解决方案1】:

许多人在不同时间制作了 XHTML 到 FO 样式表。例如,参见https://www.antennahouse.com/antenna1/xml-to-xsl-fo-stylesheets/ 的“XHTML 到 XSL-FO”选项卡上的“xhtml2fo.xsl”。

使用内联 CSS 需要解析 CSS 并将属性转换为最接近(通常相同)的 XSL-FO 属性。

【讨论】:

【解决方案2】:

您可以使用 XML 或 HTML 作为 XSL-FO 转换的输入。

您可以使用您的 XSL 作为 XSL-FO 样式表的起点。用 XSL-FO 命令替换 HTML 输出块。

作为替代方案,您可以查看 CSS Paged Media。然后,您可以使用现有的 HTML,以及从现有 CSS 派生的 CSS 样式表。

【讨论】:

    猜你喜欢
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多