在 xsl-fo/fop 中嵌入 HTML 个段落

Embed HTML paragraphs in xsl-fo/fop

我目前正在考虑使用 xsl-fo/fop 从我的 Java 网络应用程序中生成 PDF。部分要打印的内容来自不同来源"HTML fragments"(Web前端的TinyMCE编辑器)。

有没有办法"embed" HTML进入FOP?

我想避免对包含 HTML 片段的个别段落进行 xslt 转换(该文档还包含许多其他内容)。 另一种方法是创建一个包含所有段落和其他内容的 HTML/XML 文档,然后对所有内容应用 xslt 转换,但我想尽可能避免这种情况。

注意:我也考虑过 HTML PDF 引擎(例如 Prince),但它们似乎贵得离谱。

谢谢!

不,FOP 的唯一有效输入是 XSL-FO 文件(或 XML + XSLT 生成 XSL-FO,但这只是一个方便的选项,因为它是执行转换的外部库)。

但是,您可以使用/改编现有的 xhtml 到 FO 样式表,就像 AntennaHouse and RenderX 提供的那样。

此外,即使您说不想这样做,编写 xhtml -> XSL-FO 转换也不是一项艰巨的任务;如果输入来自 TinyMCE,则尤其如此,因为您可以将其配置为仅允许有限的标签子集,这将需要一小组模板。

(披露:我是一名 FOP 开发人员,虽然现在不是很活跃)