我正在使用APACHE POI Java转换HTML2WORD文档,但无法将页眉和页脚添加到新生成的word文档.<



当我使用POI转换HTML 2 Word时,我能够生成一个具有HTML中使用的所有样式和格式的新。doc,但问题是无法在新创建的。doc文档中添加页眉和页脚。POI不支持@page样式的CSS吗?还有如何添加页眉和页脚到新生成的。doc文档。

下面的代码:

public void convertHtmltoWord(String html, OutputStream outputStream) throws IOException {  
POIFSFileSystem poifs = new POIFSFileSystem();
DirectoryEntry directory = poifs.getRoot();
try {
directory.createDocument("WordDocument", getInputStream(html));
poifs.writeFilesystem(outputStream);
} finally {
outputStream.close();
poifs.close();
}
}
public static InputStream getInputStream(String inputData) {
InputStream targetStream = IOUtils.toInputStream(inputData);
return targetStream;
}

注意:转换后的。doc将只给出。doc的BODY部分,而不是Header和Footer。页脚的页码没有出现

您正在使用的代码是而不是HTMLWord的转换

您的代码只创建一个POIFSFileSystem,其中一个DirectoryEntry包含HTMLMicrosoft Word会解释HTML并显示在文档主体中,但文件是而不是一个真正的二进制*.doc文件。

当你在Word中打开一些东西然后保存时,你可以看到这一点。它将被保存为HTML,并创建一个额外的目录[Filename]-Files。这是必需的,因为HTML默认情况下不提供嵌入。所以这个目录包含了所有不能嵌入的元素。这是图片的例子,但也有额外的HTML文件包含头和/或页脚文本。

所以使用你的方法是不可能添加页眉或页脚到HTML。它只能将HTML放入文档主体中。它甚至没有创建一个真正的MIcvrosoft Word文件,而只是一个HTML文件,因为它的假文件名*.doc而被强加给Microsoft Word

最新更新