我目前正在使用Apache FOP创建HTML文件的PDF版本。文件本身已经准备好了各种fo标签,但是当我尝试使用命令行(fop -fo NoteBook.html -pdf test.pdf)执行FOP时,我收到错误说"元素类型& #39; META'必须由匹配的结束标记终止''"""它具体指标签。在完整搜索文件后,我找到了结束标记。什么可能导致FOP出现这种错误?
注意:我在分享此程序的实际代码方面非常有限。
答案 0 :(得分:2)
您获得的错误可能是由于您的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文件作为输入;它接受:
如果您有HTML文件并想要使用FOP生成PDF,则必须找到或开发一个工具将其转换为FO文件。特别是,如果您选择使用XSLT转换,则必须确保输入是有效的XML。