【问题标题】:Converting XML to PDF, using styles from XSL使用 XSL 中的样式将 XML 转换为 PDF
【发布时间】:2011-10-18 11:58:37
【问题描述】:

我有以下问题:我有一个带有 XSL 样式表的 XML 文件,当我在 Web 浏览器中加载它时,它会将这个 XML 文件呈现为 HTML 中的整洁表格。现在我需要在 Web 浏览器中制作一个看起来与 XSL 样式的 XML 完全一样的 PDF,而无需为每个文件制作自定义 FO。一切都必须用 Java 完成。

【问题讨论】:

    标签: java xml xslt pdf


    【解决方案1】:

    我需要在 Web 浏览器中制作一个看起来与 XSL 样式的 XML 完全一样的 PDF

    再想想这个要求。诸如 PDF 之类的分页媒体和诸如 HTML 之类的非分页媒体可能只是看起来“足够接近”,但绝不会彼此“完全相似”。如果您考虑将 HTML 显示在具有不同屏幕尺寸的设备上,这一点会更加明显。

    如果您稍微放宽上述要求,您可能会同意 XSL-FO 是最佳选择。您绝对不需要为每个文件编写“自定义 FO”:只需编写一次 XSLT,并使用它即时将您的 XML 转换为 XSL-FO,然后使用渲染引擎将 XSL-FO 处理为PDF格式。很简单。

    【讨论】:

      【解决方案2】:

      XSL-FO 听起来确实正是您所需要的。但是,如果这不是一个选项,首先在 Java 中明确地对 XML 进行 XSLT 转换,然后使用一些额外的库将生成的 HTML(到那时是字符串/字节数组/DOM/任何你想要的)转换为 PDF诡计。有一些库支持 HTML 到 PDF,例如 iText。 Java 中的 XSLT 转换非常简单。那里涉及的代码很少。

      【讨论】:

      • 感谢您的回答。不幸的是,我需要一个解决方案,无需将 XML 转换为 HTML 的中间步骤。
      • 如果你要在Java中做这个,为什么不能有一个中间步骤?无论如何,您都需要某种转变。使用 XSLT、XSL-FO 或一些 HTML 到 PDF 转换器肯定比编写将解析事件直接转换为 PDF 结构的代码更可取?可能有一些东西可以直接将 XML 转换为 PDF,但我不知道任何这样的工具/库,所以你的猜测和我的一样好。希望有人有好的建议。
      猜你喜欢
      • 2012-04-01
      • 2013-09-06
      • 1970-01-01
      • 2012-02-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-22
      • 2022-01-07
      • 1970-01-01
      相关资源
      最近更新 更多