PHP生成的Word文档上的页边距(使用fopen)

时间:2011-04-26 08:37:07

标签: php ms-word doc

我最近发布了一个关于如何在不使用COM对象的情况下生成.doc文件的问题 - 我有一些很棒的回复(谢谢!)但不幸的是我需要该文档与旧的.doc格式兼容而不是。 docx,因为我们都在这里使用Office 2003,没有兼容性插件。

我有以下代码生成一个非常基本的文档,但是可能会完成这项工作,问题是标题图像非常大(并且必不可少)并且除非我降低页边距,否则不适合。 ..我尝试将HTML / Body的边距和填充更改为0,但遗憾的是没有运气:

$fp = fopen("test.doc", 'w+');
$str = "<html><body><img src=\"http://url/header_image.png\">

    <B>Content</B></body></html>";

fwrite($fp, $str);
fclose($fp);

2 个答案:

答案 0 :(得分:2)

您实际上并没有创建Word文件,只是Word使用自己的内部渲染器格式化的HTML文件。

您也可以将它们分发为html个文件。

我能想到的唯一好处是你只需要定位Word的版本而不是所有浏览器。

答案 1 :(得分:2)

迟了几年,但它可能对其他人有所帮助: http://sunsetsoftware.blogspot.com/2012/01/how-to-create-word-document-with-html.html

@page Section1{
    size: 29.7cm 21cm;
    margin: 2cm 2cm 2cm 2cm;
    mso-page-orientation: landscape;
    mso-footer:f1;
}

这是有趣的部分。使它成为肖像:

@page Section1{
    size: 21cm 29.7cm;
    margin: 2cm 2cm 2cm 2cm;
    mso-page-orientation: portrait;
    mso-footer:f1;
}