服务器生成的word文件:将默认的“另存为”选项更改为“.doc”而不是“网站”

时间:2013-05-30 12:13:08

标签: coldfusion ms-word

我们有一个应用程序,我们在ColdFusion服务器上生成.doc文件。该文件在MSWord中正确打开并正确显示。

在Internet Explorer中,它要求我下载保存文件。保存时,文件在我的下载文件夹中保存为file.doc,这是正确的。

直接从Internet Explorer打开时,文件会正确显示。但是当我在MSWord中“保存为”时,默认文件类型是“网站”而不是“word文档”。


这是单词的内容。我知道有更好的解决方案,但那就是我们如何完成它。

<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'>
    <head>
        <title>file name goes here</title>
        <!--[if gte mso 9]>
        <xml>
        <w:WordDocument>
        <w:View>Print</w:View>
        <w:Zoom>90</w:Zoom>
        <w:DoNotOptimizeForBrowser/>
        </w:WordDocument>
        </xml>
        <![endif]-->
        <style>/*style goes here*/</style>
    </head>
    <body>body goes here</body>
</html>

我曾尝试添加doctype,但没有发生任何事情。

在ColdFusion上,发生以下情况:

<cfcontent reset="true" type="application/vnd.ms-word" />
#wordContent#
<cfheader name="Content-Disposition" value="attachment; filename=file.doc"  />

我还尝试过“application / msword”作为MIME-Type,但没有发生任何事情。

我曾尝试将其设为.docx,但之后它的格式错误似乎合乎逻辑,因为它不是xml而是html。

我希望,可能会有一些元信息,授予我访问默认文件名的权限,例如,

<o:Author>Author name goes here</o:Author>
  <o:LastAuthor>Last authors name goes here</o:LastAuthor>
  <o:Revision>1</o:Revision>
  <o:Created>#dateFormat(now(),"yyyy-mm-dd")#T#timeFormat(now(),"HH:mm")#Z</o:Created>
  <o:LastSaved>#dateFormat(now(),"yyyy-mm-dd")#T#timeFormat(now(),"HH:mm")#Z</o:LastSaved>
  <o:Version>12.00</o:Version>
 </o:DocumentProperties>

我也玩过这里给出的信息http://en.wikipedia.org/wiki/Microsoft_Office_XML_formats

但他们似乎都没有工作。我在这里,寻求帮助。

编辑:添加了MSWord行为错误的截图(德语)

saving as gives me the wrong default file type

1 个答案:

答案 0 :(得分:1)

老实说,我认为无法更改默认的“另存为类型”值。虽然您可以欺骗浏览器使用MS Word打开内容,但Word仍然足够聪明,可以识别当前内容是否为HTML。因此它相应地设置默认文件类型。

在任何情况下,您仍然可以手动选择.doc文件类型。但只要您生成一个可能与它一样好的仿MS Word文件(即HTML)。