HTML to doc 使用 php 默认另存为 Web 文档 (.html) 问题

Posted

技术标签:

【中文标题】HTML to doc 使用 php 默认另存为 Web 文档 (.html) 问题【英文标题】:HTML to doc using php default save as web document (.html) issue 【发布时间】:2018-03-29 12:49:17 【问题描述】:

我已经使用 php 和 header 创建了 html to Doc。它会创建我想要的正确文档文件,但是当我下载该文档文件并单击另存为其默认类型为网页(.html)时。

这是我用来创建 doc 文件的代码。

header('Content-Description: File Transfer');
header("Content-type: application/msword;charset=iso-8859-8");
header('Content-Disposition: attachment;filename=IEP-Annual-Goals.doc');
header("Pragma: no-cache");
header("Expires: 0");

$html='<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40"> 
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-8" />
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 9">
<meta name=Originator content="Microsoft Word 9">

<xml>
<w:WordDocument>
<w:View>Print</w:View>
<w:Zoom>90</w:Zoom>
<w:Save>.doc</w:Save>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml>';
// and main html block

//Then simply echo html to directly download doc file.
echo $html;    

当我打开 doc 文件并另存为时,它的默认类型是 web 文档(.html),但我需要它作为文档(.doc)文件。

【问题讨论】:

***.com/questions/13080943/… 参考这里了解更多信息。 我想将文件保存为 doc 文件。当我打开该文件并单击另存为时,默认类型为 .html 但我希望它为 .doc。 @BhaveshMalaviya 你使用 html 和 xml 都在 doc 文件中进行转换? 如果我删除了那个 xml 代码,那么它也不起作用。 【参考方案1】:

也许,你做错了已经有phpword了

https://github.com/PHPOffice/PHPWord

这将为您创建 doc 文件。

【讨论】:

我已经尝试过 phpword,但为此我需要重新创建整个文件结构,因为在 phpword 中我现有的 html 无法正确显示。 它有一个phpword 有一个html to doc 功能。 github.com/PHPOffice/PHPWord/blob/develop/samples/… 过去我也使用过 phpword 替换功能,所以有“替换”区域,您可以用变量替换。这对你来说可能已经足够了。

以上是关于HTML to doc 使用 php 默认另存为 Web 文档 (.html) 问题的主要内容,如果未能解决你的问题,请参考以下文章

Python:通过pywin32模块批量将rtf或docx另存为doc格式

python 将word另存为txt

如何把TXT格式的文件转化成HTML格式

将谷歌图表另存为 pdf

在无头模式下使用 Openoffice“导出”选项而不是“另存为”选项

excel表格怎么另存为html网页