在Content-type:application / msword中允许<img/>个标记

时间:2011-01-26 10:14:22

标签: php image ms-word content-type

现在,我一切都很好。它根据我的CSS打印(text-align:center;) 我唯一的问题是图像。这是HTML代码:

<table id="cert">  
    <td>  
        <tr><h1>Singapore Aviation Academy</h1></tr>  
        <tr><img src = "img/logo1.jpg" /></tr>  
        <tr><h2>Certificate of Completion </h2></tr>  
        <tr>is hereby granted to</tr>  
        <tr><?php echo "<b>".$row['fname']."&nbsp;&nbsp;".$row['lname']."</b>"; ?> </tr>  
        <tr>to certify that he/she has completed to satisfaction for</tr>  
        <tr><?php echo "<b>".$row1['course_title']."</b>"; ?></tr>  
    </td>  
</table>  

之后:

<?php       
//This php will enable documents to be embedded with Microsoft Word

header("Content-type: application/msword"); //Document will be embedded using the application, Microsoft Word  
header("Content-disposition: attachment; filename= \"Certificate for ".$row['fname']." ".$row['lname']."\""); //States the file name when opened to edit or view  
?>

问题在于<img>标记。如果没有最后一行PHP代码,则会显示图像。有了它,图像就不会显示在MS-Word中。

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

在Word中打开时不会显示图像,因为word在客户端的桌面上运行并在本地查找图像...除非您为图像文件指定完整的URL,否则它不知道在您的服务器

选项:

  • 修改HTML以嵌入图像二进制文件而不是链接
  • 使用图片的完整网址
  • 创建一个“真实”的Word文档,图像正确嵌入而不是链接
  • 使用嵌入的图片创建PDF,而不是链接,或使用完整的网址链接