我在PHP这个简单的代码:

<?php

header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment;Filename=kid_tag.doc");

echo '<table cellspacing="0" cellpadding="0" border="0" width="8.4cm">
    <tr>
    <td colspan="3" style="text-align: right; height: 0.6cm">Nursery</td>
    </tr>
    <tr>
        <td style="height: 1.8cm"><img src="http://images.funadvice.com/photo/image/old/6943/tiny/cat.jpg" /></td>
        <td style="text-align: center; font-weight: bold">Sofia Abello</td>
    <td>&nbsp;</td>
    </tr> 
    <tr>
    <td style="text-align: left; height: 0.6cm">9AM Oct-12-08</td>
    <td>&nbsp;</td>
    <td style="text-align: right">Dance Studio</td>
    </tr>  
</table>';

?>

显示确定与MS Office的Word,然而,宽度当与开放式办公作家打开减小(未适当的宽度!)。

有帮助吗?

解决方案

您实际上HTML导入到MS Word和OpenOffice.org。 HTML不是既不字也不OpenOffice.org,这意味着输入必须首先被转换的原始格式。

这是毫不奇怪的是,这些应用程序(其主要目的是在应用程序的本地格式文件编辑)正在那里做不是一个完美的工作。事实上 - 这不是一个大秘密 - 甚至没有网页浏览器,其主要目的的的HTML的渲染没有在这方面完善。

在解决方案将是,以提供HTML,其在这两个应用程序的工作原理。你可以做的是使用条件评论这是一个专有的Microsoft扩展到HTML格式,因此只能由了解微软产品。

这是怎么可能看起来像在您的示例:

<![if !mso]>
<table cellspacing="0" cellpadding="0" border="0" width="8.4cm">
  <tr>
    <td>OpenOffice.org Version</td>
  </tr>
</table>
<![endif]>
<!--[if mso]>
<table cellspacing="0" cellpadding="0" border="0" width="8.4cm">
  <tr>
    <td>Microsoft Word version</td>
  </tr>
</table>
<![endif]-->

其他提示

我认为,以产生具有PHP DOC文件的最简单的方法是使用Zend框架部件的 phpLiveDocx 即可。可以加载Word或打开Office模板,合并的文本数据和最终文档保存到数的格式,如DOC,DOCX,RTF和PDF。

了解更多关于该项目的网站:

http://www.phplivedocx.org/articles/brief-引入到phplivedocx /

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top