在PHP中将HTML转换为DOC


Convert HTML to DOC in PHP

我正在通过php标头函数进行html到文档的转换。转换后的文件以文档格式保存。但是当我编辑并保存它时,它会创建一个与 doc 文件名同名的文件夹,其中包含三个文件(themedata.thmx、filelist.xml、colorschememapping.xml(。我使用以下代码生成文档。

header("Cache-Control: ");
header("Pragma: ");
header('Content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');
header('Content-Disposition: attachment; filename="'.$filename.'.doc"');

我想将其转换为纯文档文件,请帮助解决此问题。

我已经尝试了许多其他插件将HTML转换为DOC,例如:-
1. 潘多克 :- 它正在将 html 转换为 docx,但不是从 html 文件中挑选样式和图像。
2. PHPWord :- 我在 PHPWord 中没有找到任何将完全样式化的 HTML 转换为 docx 的选项。它是通过我不想要的函数(addTable,addCell(创建docx。
3. htmltodocx.codeplex.com :- 这个插件需要一些特定的样式。它不支持所有 css。
4. unoconv :- 未找到工作。
5.打开办公室:-找不到任何功能命令。

不能仅通过更改文件扩展名来更改文件格式。您认为您可以通过将文件名从.pdf更改为.mp4来将 PDF 转换为电影吗?我希望不会,因为这没有任何意义。

正在发生的事情是,您告诉浏览器使用.doc扩展名保存HTML文件的数据。双击该文件将其打开时,Word 将打开(因为它与.doc扩展名相关联(。Word 是愚蠢误导性宽容,足以识别该文件实际上并不包含 Word DOC 数据,而是 HTML,它会在不告诉您的情况下即时为您转换它。
然后保存此文件时,它会为其创建一个实际的 DOC/DOCX 文件;但显然这并没有干净地发生,容器正在破裂。

你所看到的是Microsoft Word中的不当行为(在几个层面上(。

您应该首先做的是创建一个实际的Word文档,例如使用 https://github.com/PHPOffice/PHPWord。