FOP 错误说 HTML 文件需要匹配结束标记,即使它已经这样做了
FOP Error Says HTML File Needs Matching End Tag Even Though It Already Does
我目前正在使用 Apache FOP 创建 HTML 文件的 PDF 版本。文件本身已经准备好各种 fo 标签,但是当我尝试使用命令行 (fop -fo NoteBook.html -pdf test.pdf) 执行 FOP 时,我收到一条错误消息 "the element type 'META' must be terminated by the matching end-tag ''".特指标签。完整搜索文件后,我找到了结束标记。是什么导致 FOP 出现这种错误?
注意:我在分享该程序的实际代码方面非常有限。
您收到的错误可能是由于您的 HTML 文件无效 XML,因此无法解析。
例如 <meta name="description" content="a book">
是正确的 HTML,但为了有效 XML 它应该是 <meta name="description" content="a book"/>
或 <meta name="description" content="a book"></meta>
.
但这只是冰山一角,真正的问题在于
FOP 不接受 HTML 文件作为输入;它接受:
- 符合 XSL-FO specifications
的 FO 文件
- 或 XML 文件 + 生成 FO 结果的 XSLT 样式表(只是为了方便用户,因为样式表转换是使用库完成的,而不是直接由 FOP 完成)
如果您有一个 HTML 文件并想使用 FOP 生成 PDF,您必须找到或开发一种工具将其转换为 FO 文件。特别是,如果您选择使用 XSLT 转换,则必须确保输入有效 XML.
我目前正在使用 Apache FOP 创建 HTML 文件的 PDF 版本。文件本身已经准备好各种 fo 标签,但是当我尝试使用命令行 (fop -fo NoteBook.html -pdf test.pdf) 执行 FOP 时,我收到一条错误消息 "the element type 'META' must be terminated by the matching end-tag ''".特指标签。完整搜索文件后,我找到了结束标记。是什么导致 FOP 出现这种错误?
注意:我在分享该程序的实际代码方面非常有限。
您收到的错误可能是由于您的 HTML 文件无效 XML,因此无法解析。
例如 <meta name="description" content="a book">
是正确的 HTML,但为了有效 XML 它应该是 <meta name="description" content="a book"/>
或 <meta name="description" content="a book"></meta>
.
但这只是冰山一角,真正的问题在于 FOP 不接受 HTML 文件作为输入;它接受:
- 符合 XSL-FO specifications 的 FO 文件
- 或 XML 文件 + 生成 FO 结果的 XSLT 样式表(只是为了方便用户,因为样式表转换是使用库完成的,而不是直接由 FOP 完成)
如果您有一个 HTML 文件并想使用 FOP 生成 PDF,您必须找到或开发一种工具将其转换为 FO 文件。特别是,如果您选择使用 XSLT 转换,则必须确保输入有效 XML.